Hotel Restaurant Management

hotel_restaurant
REPOSITORY
REPOSITORYOCA/vertical-hotel
GIT
GIThttps://github.com/OCA/vertical-hotel.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/vertical-hotel/tree/17.0/hotel_restaurant
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYGeneric Modules/Hotel Restaurant
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Odoo S.A., Serpent Consulting Services Pvt. Ltd.
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Odoo S.A., Serpent Consulting Services Pvt. Ltd.
COMMITTERS
COMMITTERSWeblate, OCA-git-bot, Rajan-SCS
WEBSITE
WEBSITEhttps://github.com/OCA/vertical-hotel
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:20:10
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/vertical-hotel:
    - hotel
odoo/odoo:
    - sale_stock
    - sale
    - sales_team
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - account_payment
    - account
    - onboarding
    - product
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - payment
    - utm
    - stock_account
    - stock
    - barcodes_gs1_nomenclature
    - barcodes
    - point_of_sale
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES python-dateutil
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This Module is providing table booking facilities and Managing customers
orders

You can manage:

- Restaurant Configuration (Food Item, Table)
- **Table Reservation**

![image](https://raw.githubusercontent.com/OCA/vertical-hotel/11.0/hotel_restaurant/static/description/res2.png)

- **Manage Food Orders**

![image](https://raw.githubusercontent.com/OCA/vertical-hotel/11.0/hotel_restaurant/static/description/res3.png)

- **Manage Kitchen Order ticket**

![image](https://raw.githubusercontent.com/OCA/vertical-hotel/11.0/hotel_restaurant/static/description/res4.png)

- **Quick Table Reservation Facility With Its Food Order**

![image](https://raw.githubusercontent.com/OCA/vertical-hotel/11.0/hotel_restaurant/static/description/res5.png)

- **Order's History In Hotel Folio**

![image](https://raw.githubusercontent.com/OCA/vertical-hotel/11.0/hotel_restaurant/static/description/res6.png)

- Payment
- Different Reports are also provided, mainly for Restaurant.

Code Analysis

Views touched (30)
XML IDNameModelTypeStatus
hotel_manucard_kanban_view Menucard Kanban hotel.menucard kanban New
report_hotel_order_kot report_hotel_order_kot ir.ui.view qweb New
report_order_bill report_order_bill ir.ui.view qweb New
report_res_order_bill report_res_order_bill ir.ui.view qweb New
report_res_table report_res_table ir.ui.view qweb New
report_reserv_order report_reserv_order ir.ui.view qweb New
report_rest_order report_rest_order ir.ui.view qweb New
view_folio_rest_reservation view.folio.rest.reservation folio.rest.reservation form New
view_hotel_menucard_form hotel.menucard.form hotel.menucard form New
view_hotel_menucard_search_new hotel.menucard.search hotel.menucard search New
view_hotel_menucard_tree hotel.menucard.tree hotel.menucard tree New
view_hotel_menucard_type_form hotel_menucard_type_form hotel.menucard.type form New
view_hotel_menucard_type_list hotel_menucard_type_list hotel.menucard.type tree New
view_hotel_reservation_order_form hotel_reservation_order.form hotel.reservation.order form New
view_hotel_reservation_order_search hotel.reservation.order.search hotel.reservation.order search New
view_hotel_reservation_order_tree hotel_reservation_order.tree hotel.reservation.order tree New
view_hotel_restaurant_kitchen_order_search hotel.restaurant.kitchen.order.tickets.search hotel.restaurant.kitchen.order.tickets search New
view_hotel_restaurant_kitchen_order_tickets_form hotel_restaurant_kitchen_order_tickets.form hotel.restaurant.kitchen.order.tickets form New
view_hotel_restaurant_kitchen_order_tickets_tree hotel_restaurant_kitchen_order_tickets.tree hotel.restaurant.kitchen.order.tickets tree New
view_hotel_restaurant_order_form hotel_restaurant_order.form hotel.restaurant.order form New
view_hotel_restaurant_order_search hotel.restaurant.order.search hotel.restaurant.order search New
view_hotel_restaurant_order_tree hotel_restaurant_order.tree hotel.restaurant.order tree New
view_hotel_restaurant_reservation_form hotel_restaurant_reservation.form hotel.restaurant.reservation form New
view_hotel_restaurant_reservation_search hotel.restaurant.reservation.search hotel.restaurant.reservation search New
view_hotel_restaurant_reservation_tree hotel_restaurant_reservation.tree hotel.restaurant.reservation tree New
view_hotel_restaurant_tables_form hotel_restaurant_tables.form hotel.restaurant.tables form New
view_hotel_restaurant_tables_search hotel_restaurant_tables.search hotel.restaurant.tables search New
view_hotel_restaurant_tables_tree hotel_restaurant_tables.tree hotel.restaurant.tables tree New
view_hotelfolio1_form1_inherited hotel.folio1.form1.inherited hotel.folio xpath Inherits hotel.view_hotel_folio_form
wizard_hotel_restaurant_form_view wizard.hotel.restaurant.form wizard.hotel.restaurant form New
Models touched (15)

New fields (3)
  • check Boolean
    args: 'With Details'
  • date_end Datetime
    args: 'End Date'
  • date_start Datetime
    args: 'Start Date'
Public methods (3)
  • check_date(self)
    @api.constrains('date_start', 'date_end')
  • print_reserv_report(self)
  • print_rest_report(self)

New fields (2)
  • hotel_reservation_orders_ids Many2many → hotel.reservation.order
    args: 'hotel.reservation.order', 'hotel_res_rel', 'hotel_folio_id', 'reste_id', 'Reservation Orders'
  • hotel_restaurant_orders_ids Many2many → hotel.restaurant.order
    args: 'hotel.restaurant.order', 'hotel_res_resv', 'hfolio_id', 'reserves_id', 'Restaurant Orders'
Public methods (0)

No public methods.

New fields (3)
  • menu_card_categ_id Many2one → hotel.menucard.type
    args: 'hotel.menucard.type', 'Food Item Category'
  • product_id Many2one → product.product
    delegate=True index=True ondelete='cascade' required=True args: 'product.product', 'Hotel Menucard'
  • product_manager_id Many2one → res.users
    args: 'res.users', 'Product Manager'
Public methods (0)

No public methods.

New fields (3)
  • child_ids One2many → hotel.menucard.type
    args: 'hotel.menucard.type', 'menu_id', 'Child Categories'
  • menu_id Many2one → hotel.menucard.type
    args: 'hotel.menucard.type', 'Food Item Type'
  • name Char
    required=True
Public methods (0)

No public methods.

New fields (14)
  • amount_subtotal Float
    compute='_compute_amount_all_total' string='Subtotal'
  • amount_total Float
    compute='_compute_amount_all_total' string='Total'
  • folio_id Many2one → hotel.folio
    args: 'hotel.folio', 'Folio No'
  • is_folio Boolean
    help='is customer reside in hotel or not' args: 'Is a Hotel Guest??'
  • kitchen Integer
    args: 'Kitchen Id'
  • order_date Datetime
    default=<expr> required=True args: 'Date'
  • order_list_ids One2many → hotel.restaurant.order.list
    args: 'hotel.restaurant.order.list', 'reservation_order_id', 'Order List'
  • order_number Char
    readonly=True args: 'Order No'
  • reservation_id Many2one → hotel.restaurant.reservation
    args: 'hotel.restaurant.reservation', 'Reservation No'
  • rests_ids Many2many → hotel.restaurant.order.list
    args: 'hotel.restaurant.order.list', 'reserv_id', 'kitchen_id', 'res_kit_ids', 'Rest'
  • state Selection
    default='draft' readonly=True required=True args: [('draft', 'Draft'), ('order', 'Order Created'), ('done', 'Done')]
  • table_nos_ids Many2many → hotel.restaurant.tables
    args: 'hotel.restaurant.tables', 'temp_table4', 'table_no', 'name', 'Table Number'
  • tax Float
    args: 'Tax (%) '
  • waitername Many2one → res.partner
    args: 'res.partner', 'Waiter Name'
Public methods (4)
  • create(self, vals)
    @api.model
    Overrides orm create method. @param self: The object pointer @param vals: dictionary of fields value.
  • done_kot(self)
    This method is used to change the state to done of the hotel reservation order ---------------------------------------- @param self: object pointer
  • reservation_generate_kot(self)
    This method create new record for hotel restaurant order list. -------------------------------------------------------------- @param self: The object pointer @return: new record set for hotel restaurant order list.
  • reservation_update_kot(self)
    This method update record for hotel restaurant order list. ---------------------------------------------------------- @param self: The object pointer @return: update record set for hotel restaurant order list.

New fields (7)
  • kot_date Datetime
    args: 'Date'
  • kot_list_ids One2many → hotel.restaurant.order.list
    help='Kitchen order list' args: 'hotel.restaurant.order.list', 'kot_order_id', 'Order List'
  • order_number Char
    readonly=True
  • reservation_number Char
  • room_no Char
    readonly=True
  • table_nos_ids Many2many → hotel.restaurant.tables
    help='Table reservation detail.' args: 'hotel.restaurant.tables', 'restaurant_kitchen_order_rel', 'table_no', 'name', 'Table Number'
  • waiter_name Char
    readonly=True
Public methods (0)

No public methods.

New fields (15)
  • amount_subtotal Float
    compute='_compute_amount_all_total' string='Subtotal'
  • amount_total Float
    compute='_compute_amount_all_total' string='Total'
  • customer_id Many2one → res.partner
    required=True args: 'res.partner', 'Customer Name'
  • folio_id Many2one → hotel.folio
    args: 'hotel.folio', 'Folio No'
  • is_folio Boolean
    help='is customer reside in hotel or not' args: 'Is a Hotel Guest??'
  • kitchen Integer
  • o_date Datetime
    default=<expr> required=True args: 'Order Date'
  • order_list_ids One2many → hotel.restaurant.order.list
    args: 'hotel.restaurant.order.list', 'restaurant_order_id', 'Order List'
  • order_no Char
    readonly=True args: 'Order Number'
  • rest_item_id Many2many → hotel.restaurant.order.list
    args: 'hotel.restaurant.order.list', 'restaurant_kitchen_rel', 'restau_id', 'kit_id', 'Rest'
  • room_id Many2one → product.product
    args: 'product.product', 'Room No'
  • state Selection
    copy=False default='draft' readonly=True required=True args: [('draft', 'Draft'), ('order', 'Order Created'), ('done', 'Done'), ('cancel', 'Cancelled')]
  • table_nos_ids Many2many → hotel.restaurant.tables
    args: 'hotel.restaurant.tables', 'restaurant_table_order_rel', 'table_no', 'name', 'Table Number'
  • tax Float
    args: 'Tax (%) '
  • waiter_id Many2one → res.partner
    args: 'res.partner', 'Waiter'
Public methods (6)
  • create(self, vals)
    @api.model
    Overrides orm create method. @param self: The object pointer @param vals: dictionary of fields value.
  • done_cancel(self)
    This method is used to change the state to cancel of the hotel restaurant order ---------------------------------------- @param self: object pointer
  • done_order_kot(self)
    This method is used to change the state to done of the hotel restaurant order ---------------------------------------- @param self: object pointer
  • generate_kot(self)
    This method create new record for hotel restaurant order list. @param self: The object pointer @return: new record set for hotel restaurant order list.
  • generate_kot_update(self)
    This method update record for hotel restaurant order list. ---------------------------------------------------------- @param self: The object pointer @return: update record set for hotel restaurant order list.
  • set_to_draft(self)
    This method is used to change the state to draft of the hotel restaurant order ---------------------------------------- @param self: object pointer

New fields (7)
  • item_qty Integer
    default=1 required=True args: 'Qty'
  • item_rate Float
    args: 'Rate'
  • kot_order_id Many2one → hotel.restaurant.kitchen.order.tickets
    args: 'hotel.restaurant.kitchen.order.tickets', 'Kitchen Order Tickets'
  • menucard_id Many2one → hotel.menucard
    required=True args: 'hotel.menucard', 'Item Name'
  • price_subtotal Float
    compute='_compute_price_subtotal' string='Subtotal'
  • reservation_order_id Many2one → hotel.reservation.order
    args: 'hotel.reservation.order', 'Reservation Order'
  • restaurant_order_id Many2one → hotel.restaurant.order
    args: 'hotel.restaurant.order', 'Restaurant Order'
Public methods (0)

No public methods.

New fields (10)
  • customer_id Many2one → res.partner
    required=True args: 'res.partner', 'Customer Name'
  • end_date Datetime
    required=True args: 'End Time'
  • folio_id Many2one → hotel.folio
    args: 'hotel.folio', 'Folio No'
  • is_folio Boolean
    args: 'Is a Hotel Guest??'
  • partner_address_id Many2one → res.partner
    args: 'res.partner', 'Address'
  • reservation_id Char
    index=True readonly=True args: 'Reservation No'
  • room_id Many2one → product.product
    args: 'product.product', 'Room No'
  • start_date Datetime
    default=<expr> required=True args: 'Start Time'
  • state Selection
    copy=False default='draft' readonly=True required=True args: [('draft', 'Draft'), ('confirm', 'Confirmed'), ('done', 'Done'), ('cancel', 'Cancelled'), ('order', 'Order Created')], 'state'
  • table_nos_ids Many2many → hotel.restaurant.tables
    help='Table reservation detail.' string='Table Number' args: 'hotel.restaurant.tables', 'reservation_table', 'reservation_table_id', 'name'
Public methods (6)
  • action_set_to_draft(self)
    This method is used to change the state to draft of the hotel restaurant reservation -------------------------------------------- @param self: object pointer
  • create(self, vals)
    @api.model
    Overrides orm create method. @param self: The object pointer @param vals: dictionary of fields value.
  • create_order(self)
    This method is for create a new order for hotel restaurant reservation .when table is booked and create order button is clicked then this method is called and order is created.you can see this created order in "Orders" ------------------------------------------------------------ @param self: The object pointer @return: new record set for hotel restaurant reservation.
  • table_cancel(self)
    This method is used to change the state to cancel of the hotel restaurant reservation -------------------------------------------- @param self: object pointer
  • table_done(self)
    This method is used to change the state to done of the hotel restaurant reservation -------------------------------------------- @param self: object pointer
  • table_reserved(self)
    when CONFIRM BUTTON is clicked this method is called for table reservation @param self: The object pointer @return: change a state depending on the condition

New fields (2)
  • capacity Integer
  • name Char
    required=True args: 'Table Number'
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 (1)
  • get_res_data(self, date_start, date_end)

New fields (0)

No new fields.

Public methods (2)
  • get_data(self, date_start, date_end)
  • get_reserv(self, date_start, date_end)

New fields (0)

No new fields.

Public methods (2)
  • get_data(self, date_start, date_end)
  • get_rest(self, date_start, date_end)

New fields (2)
  • date_end Datetime
    required=True args: 'End Date'
  • date_start Datetime
    required=True args: 'Start Date'
Public methods (2)
  • check_date(self)
    @api.constrains('date_start', 'date_end')
  • print_report(self)
REPOSITORY
REPOSITORYOCA/vertical-hotel
GIT
GIThttps://github.com/OCA/vertical-hotel.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/vertical-hotel/tree/15.0/hotel_restaurant
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYGeneric Modules/Hotel Restaurant
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Odoo S.A., Serpent Consulting Services Pvt. Ltd.
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Odoo S.A., Serpent Consulting Services Pvt. Ltd.
COMMITTERS
COMMITTERSWeblate, OCA-git-bot, ShwetaSerpentCS
WEBSITE
WEBSITEhttps://github.com/OCA/vertical-hotel
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:46:43
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/vertical-hotel:
    - hotel
odoo/odoo:
    - sale_stock
    - sale
    - sales_team
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - payment
    - account
    - product
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - utm
    - stock_account
    - stock
    - barcodes
    - point_of_sale
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES python-dateutil
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (30)
XML IDNameModelTypeStatus
hotel_manucard_kanban_view Menucard Kanban hotel.menucard kanban New
report_hotel_order_kot report_hotel_order_kot ir.ui.view qweb New
report_order_bill report_order_bill ir.ui.view qweb New
report_res_order_bill report_res_order_bill ir.ui.view qweb New
report_res_table report_res_table ir.ui.view qweb New
report_reserv_order report_reserv_order ir.ui.view qweb New
report_rest_order report_rest_order ir.ui.view qweb New
view_folio_rest_reservation view.folio.rest.reservation folio.rest.reservation form New
view_hotel_menucard_form hotel.menucard.form hotel.menucard form New
view_hotel_menucard_search_new hotel.menucard.search hotel.menucard search New
view_hotel_menucard_tree hotel.menucard.tree hotel.menucard tree New
view_hotel_menucard_type_form hotel_menucard_type_form hotel.menucard.type form New
view_hotel_menucard_type_list hotel_menucard_type_list hotel.menucard.type tree New
view_hotel_reservation_order_form hotel_reservation_order.form hotel.reservation.order form New
view_hotel_reservation_order_search hotel.reservation.order.search hotel.reservation.order search New
view_hotel_reservation_order_tree hotel_reservation_order.tree hotel.reservation.order tree New
view_hotel_restaurant_kitchen_order_search hotel.restaurant.kitchen.order.tickets.search hotel.restaurant.kitchen.order.tickets search New
view_hotel_restaurant_kitchen_order_tickets_form hotel_restaurant_kitchen_order_tickets.form hotel.restaurant.kitchen.order.tickets form New
view_hotel_restaurant_kitchen_order_tickets_tree hotel_restaurant_kitchen_order_tickets.tree hotel.restaurant.kitchen.order.tickets tree New
view_hotel_restaurant_order_form hotel_restaurant_order.form hotel.restaurant.order form New
view_hotel_restaurant_order_search hotel.restaurant.order.search hotel.restaurant.order search New
view_hotel_restaurant_order_tree hotel_restaurant_order.tree hotel.restaurant.order tree New
view_hotel_restaurant_reservation_form hotel_restaurant_reservation.form hotel.restaurant.reservation form New
view_hotel_restaurant_reservation_search hotel.restaurant.reservation.search hotel.restaurant.reservation search New
view_hotel_restaurant_reservation_tree hotel_restaurant_reservation.tree hotel.restaurant.reservation tree New
view_hotel_restaurant_tables_form hotel_restaurant_tables.form hotel.restaurant.tables form New
view_hotel_restaurant_tables_search hotel_restaurant_tables.search hotel.restaurant.tables search New
view_hotel_restaurant_tables_tree hotel_restaurant_tables.tree hotel.restaurant.tables tree New
view_hotelfolio1_form1_inherited hotel.folio1.form1.inherited hotel.folio xpath Inherits hotel.view_hotel_folio_form
wizard_hotel_restaurant_form_view wizard.hotel.restaurant.form wizard.hotel.restaurant form New
Models touched (15)

New fields (3)
  • check Boolean
    args: 'With Details'
  • date_end Datetime
    args: 'End Date'
  • date_start Datetime
    args: 'Start Date'
Public methods (2)
  • print_reserv_report(self)
  • print_rest_report(self)

New fields (2)
  • hotel_reservation_orders_ids Many2many → hotel.reservation.order
    args: 'hotel.reservation.order', 'hotel_res_rel', 'hotel_folio_id', 'reste_id', 'Reservation Orders'
  • hotel_restaurant_orders_ids Many2many → hotel.restaurant.order
    args: 'hotel.restaurant.order', 'hotel_res_resv', 'hfolio_id', 'reserves_id', 'Restaurant Orders'
Public methods (0)

No public methods.

New fields (3)
  • categ_id Many2one → hotel.menucard.type
    required=True args: 'hotel.menucard.type', 'Food Item Category'
  • product_id Many2one → product.product
    delegate=True index=True ondelete='cascade' required=True args: 'product.product', 'Hotel Menucard'
  • product_manager_id Many2one → res.users
    args: 'res.users', 'Product Manager'
Public methods (0)

No public methods.

New fields (3)
  • child_ids One2many → hotel.menucard.type
    args: 'hotel.menucard.type', 'menu_id', 'Child Categories'
  • menu_id Many2one → hotel.menucard.type
    args: 'hotel.menucard.type', 'Food Item Type'
  • name Char
    required=True
Public methods (2)
  • name_get(self)
  • name_search(self, name, args=None, operator='ilike', limit=100)
    @api.model

New fields (14)
  • amount_subtotal Float
    compute='_compute_amount_all_total' string='Subtotal'
  • amount_total Float
    compute='_compute_amount_all_total' string='Total'
  • folio_id Many2one → hotel.folio
    args: 'hotel.folio', 'Folio No'
  • is_folio Boolean
    help='is customer reside in hotel or not' args: 'Is a Hotel Guest??'
  • kitchen Integer
    args: 'Kitchen Id'
  • order_date Datetime
    default=<expr> required=True args: 'Date'
  • order_list_ids One2many → hotel.restaurant.order.list
    args: 'hotel.restaurant.order.list', 'reservation_order_id', 'Order List'
  • order_number Char
    readonly=True args: 'Order No'
  • reservation_id Many2one → hotel.restaurant.reservation
    args: 'hotel.restaurant.reservation', 'Reservation No'
  • rests_ids Many2many → hotel.restaurant.order.list
    args: 'hotel.restaurant.order.list', 'reserv_id', 'kitchen_id', 'res_kit_ids', 'Rest'
  • state Selection
    default='draft' readonly=True required=True args: [('draft', 'Draft'), ('order', 'Order Created'), ('done', 'Done')]
  • table_nos_ids Many2many → hotel.restaurant.tables
    args: 'hotel.restaurant.tables', 'temp_table4', 'table_no', 'name', 'Table Number'
  • tax Float
    args: 'Tax (%) '
  • waitername Many2one → res.partner
    args: 'res.partner', 'Waiter Name'
Public methods (4)
  • create(self, vals)
    @api.model
    Overrides orm create method. @param self: The object pointer @param vals: dictionary of fields value.
  • done_kot(self)
    This method is used to change the state to done of the hotel reservation order ---------------------------------------- @param self: object pointer
  • reservation_generate_kot(self)
    This method create new record for hotel restaurant order list. -------------------------------------------------------------- @param self: The object pointer @return: new record set for hotel restaurant order list.
  • reservation_update_kot(self)
    This method update record for hotel restaurant order list. ---------------------------------------------------------- @param self: The object pointer @return: update record set for hotel restaurant order list.

New fields (7)
  • kot_date Datetime
    args: 'Date'
  • kot_list_ids One2many → hotel.restaurant.order.list
    help='Kitchen order list' args: 'hotel.restaurant.order.list', 'kot_order_id', 'Order List'
  • order_number Char
    readonly=True
  • reservation_number Char
  • room_no Char
    readonly=True
  • table_nos_ids Many2many → hotel.restaurant.tables
    help='Table reservation detail.' args: 'hotel.restaurant.tables', 'restaurant_kitchen_order_rel', 'table_no', 'name', 'Table Number'
  • waiter_name Char
    readonly=True
Public methods (0)

No public methods.

New fields (15)
  • amount_subtotal Float
    compute='_compute_amount_all_total' string='Subtotal'
  • amount_total Float
    compute='_compute_amount_all_total' string='Total'
  • customer_id Many2one → res.partner
    required=True args: 'res.partner', 'Customer Name'
  • folio_id Many2one → hotel.folio
    args: 'hotel.folio', 'Folio No'
  • is_folio Boolean
    help='is customer reside in hotel or not' args: 'Is a Hotel Guest??'
  • kitchen Integer
  • o_date Datetime
    default=<expr> required=True args: 'Order Date'
  • order_list_ids One2many → hotel.restaurant.order.list
    args: 'hotel.restaurant.order.list', 'restaurant_order_id', 'Order List'
  • order_no Char
    readonly=True args: 'Order Number'
  • rest_item_id Many2many → hotel.restaurant.order.list
    args: 'hotel.restaurant.order.list', 'restaurant_kitchen_rel', 'restau_id', 'kit_id', 'Rest'
  • room_id Many2one → product.product
    args: 'product.product', 'Room No'
  • state Selection
    copy=False default='draft' readonly=True required=True args: [('draft', 'Draft'), ('order', 'Order Created'), ('done', 'Done'), ('cancel', 'Cancelled')]
  • table_nos_ids Many2many → hotel.restaurant.tables
    args: 'hotel.restaurant.tables', 'restaurant_table_order_rel', 'table_no', 'name', 'Table Number'
  • tax Float
    args: 'Tax (%) '
  • waiter_id Many2one → res.partner
    args: 'res.partner', 'Waiter'
Public methods (6)
  • create(self, vals)
    @api.model
    Overrides orm create method. @param self: The object pointer @param vals: dictionary of fields value.
  • done_cancel(self)
    This method is used to change the state to cancel of the hotel restaurant order ---------------------------------------- @param self: object pointer
  • done_order_kot(self)
    This method is used to change the state to done of the hotel restaurant order ---------------------------------------- @param self: object pointer
  • generate_kot(self)
    This method create new record for hotel restaurant order list. @param self: The object pointer @return: new record set for hotel restaurant order list.
  • generate_kot_update(self)
    This method update record for hotel restaurant order list. ---------------------------------------------------------- @param self: The object pointer @return: update record set for hotel restaurant order list.
  • set_to_draft(self)
    This method is used to change the state to draft of the hotel restaurant order ---------------------------------------- @param self: object pointer

New fields (7)
  • item_qty Integer
    default=1 required=True args: 'Qty'
  • item_rate Float
    args: 'Rate'
  • kot_order_id Many2one → hotel.restaurant.kitchen.order.tickets
    args: 'hotel.restaurant.kitchen.order.tickets', 'Kitchen Order Tickets'
  • menucard_id Many2one → hotel.menucard
    required=True args: 'hotel.menucard', 'Item Name'
  • price_subtotal Float
    compute='_compute_price_subtotal' string='Subtotal'
  • reservation_order_id Many2one → hotel.reservation.order
    args: 'hotel.reservation.order', 'Reservation Order'
  • restaurant_order_id Many2one → hotel.restaurant.order
    args: 'hotel.restaurant.order', 'Restaurant Order'
Public methods (0)

No public methods.

New fields (10)
  • customer_id Many2one → res.partner
    required=True args: 'res.partner', 'Customer Name'
  • end_date Datetime
    required=True args: 'End Time'
  • folio_id Many2one → hotel.folio
    args: 'hotel.folio', 'Folio No'
  • is_folio Boolean
    args: 'Is a Hotel Guest??'
  • partner_address_id Many2one → res.partner
    args: 'res.partner', 'Address'
  • reservation_id Char
    index=True readonly=True args: 'Reservation No'
  • room_id Many2one → product.product
    args: 'product.product', 'Room No'
  • start_date Datetime
    default=<expr> required=True args: 'Start Time'
  • state Selection
    copy=False default='draft' readonly=True required=True args: [('draft', 'Draft'), ('confirm', 'Confirmed'), ('done', 'Done'), ('cancel', 'Cancelled'), ('order', 'Order Created')], 'state'
  • table_nos_ids Many2many → hotel.restaurant.tables
    help='Table reservation detail.' string='Table Number' args: 'hotel.restaurant.tables', 'reservation_table', 'reservation_table_id', 'name'
Public methods (6)
  • action_set_to_draft(self)
    This method is used to change the state to draft of the hotel restaurant reservation -------------------------------------------- @param self: object pointer
  • create(self, vals)
    @api.model
    Overrides orm create method. @param self: The object pointer @param vals: dictionary of fields value.
  • create_order(self)
    This method is for create a new order for hotel restaurant reservation .when table is booked and create order button is clicked then this method is called and order is created.you can see this created order in "Orders" ------------------------------------------------------------ @param self: The object pointer @return: new record set for hotel restaurant reservation.
  • table_cancel(self)
    This method is used to change the state to cancel of the hotel restaurant reservation -------------------------------------------- @param self: object pointer
  • table_done(self)
    This method is used to change the state to done of the hotel restaurant reservation -------------------------------------------- @param self: object pointer
  • table_reserved(self)
    when CONFIRM BUTTON is clicked this method is called for table reservation @param self: The object pointer @return: change a state depending on the condition

New fields (2)
  • capacity Integer
  • name Char
    required=True args: 'Table Number'
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 (1)
  • get_res_data(self, date_start, date_end)

New fields (0)

No new fields.

Public methods (2)
  • get_data(self, date_start, date_end)
  • get_reserv(self, date_start, date_end)

New fields (0)

No new fields.

Public methods (2)
  • get_data(self, date_start, date_end)
  • get_rest(self, date_start, date_end)

New fields (2)
  • date_end Datetime
    required=True args: 'End Date'
  • date_start Datetime
    required=True args: 'Start Date'
Public methods (1)
  • print_report(self)
REPOSITORY
REPOSITORYOCA/vertical-hotel
GIT
GIThttps://github.com/OCA/vertical-hotel.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/vertical-hotel/tree/14.0/hotel_restaurant
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYGeneric Modules/Hotel Restaurant
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Odoo S.A., Serpent Consulting Services Pvt. Ltd.
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Odoo S.A., Serpent Consulting Services Pvt. Ltd.
COMMITTERS
COMMITTERSOCA Transbot, oca-travis, Weblate, OCA-git-bot, Maitri Patel, Rajan-SerpentCS, oca-git-bot, ShwetaSerpentCS
WEBSITE
WEBSITEhttps://github.com/OCA/vertical-hotel
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:41:11
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/vertical-hotel:
    - hotel
odoo/odoo:
    - sale_stock
    - sale
    - sales_team
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - payment
    - account
    - product
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - utm
    - stock_account
    - stock
    - barcodes
    - point_of_sale
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES python-dateutil
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (30)
XML IDNameModelTypeStatus
hotel_manucard_kanban_view Menucard Kanban hotel.menucard kanban New
report_hotel_order_kot report_hotel_order_kot ir.ui.view qweb New
report_order_bill report_order_bill ir.ui.view qweb New
report_res_order_bill report_res_order_bill ir.ui.view qweb New
report_res_table report_res_table ir.ui.view qweb New
report_reserv_order report_reserv_order ir.ui.view qweb New
report_rest_order report_rest_order ir.ui.view qweb New
view_folio_rest_reservation view.folio.rest.reservation folio.rest.reservation form New
view_hotel_menucard_form hotel.menucard.form hotel.menucard form New
view_hotel_menucard_search_new hotel.menucard.search hotel.menucard search New
view_hotel_menucard_tree hotel.menucard.tree hotel.menucard tree New
view_hotel_menucard_type_form hotel_menucard_type_form hotel.menucard.type form New
view_hotel_menucard_type_list hotel_menucard_type_list hotel.menucard.type tree New
view_hotel_reservation_order_form hotel_reservation_order.form hotel.reservation.order form New
view_hotel_reservation_order_search hotel.reservation.order.search hotel.reservation.order search New
view_hotel_reservation_order_tree hotel_reservation_order.tree hotel.reservation.order tree New
view_hotel_restaurant_kitchen_order_search hotel.restaurant.kitchen.order.tickets.search hotel.restaurant.kitchen.order.tickets search New
view_hotel_restaurant_kitchen_order_tickets_form hotel_restaurant_kitchen_order_tickets.form hotel.restaurant.kitchen.order.tickets form New
view_hotel_restaurant_kitchen_order_tickets_tree hotel_restaurant_kitchen_order_tickets.tree hotel.restaurant.kitchen.order.tickets tree New
view_hotel_restaurant_order_form hotel_restaurant_order.form hotel.restaurant.order form New
view_hotel_restaurant_order_search hotel.restaurant.order.search hotel.restaurant.order search New
view_hotel_restaurant_order_tree hotel_restaurant_order.tree hotel.restaurant.order tree New
view_hotel_restaurant_reservation_form hotel_restaurant_reservation.form hotel.restaurant.reservation form New
view_hotel_restaurant_reservation_search hotel.restaurant.reservation.search hotel.restaurant.reservation search New
view_hotel_restaurant_reservation_tree hotel_restaurant_reservation.tree hotel.restaurant.reservation tree New
view_hotel_restaurant_tables_form hotel_restaurant_tables.form hotel.restaurant.tables form New
view_hotel_restaurant_tables_search hotel_restaurant_tables.search hotel.restaurant.tables search New
view_hotel_restaurant_tables_tree hotel_restaurant_tables.tree hotel.restaurant.tables tree New
view_hotelfolio1_form1_inherited hotel.folio1.form1.inherited hotel.folio xpath Inherits hotel.view_hotel_folio_form
wizard_hotel_restaurant_form_view wizard.hotel.restaurant.form wizard.hotel.restaurant form New
Models touched (15)

New fields (3)
  • check Boolean
    args: 'With Details'
  • date_end Datetime
    args: 'End Date'
  • date_start Datetime
    args: 'Start Date'
Public methods (2)
  • print_reserv_report(self)
  • print_rest_report(self)

New fields (2)
  • hotel_reservation_orders_ids Many2many → hotel.reservation.order
    args: 'hotel.reservation.order', 'hotel_res_rel', 'hotel_folio_id', 'reste_id', 'Reservation Orders'
  • hotel_restaurant_orders_ids Many2many → hotel.restaurant.order
    args: 'hotel.restaurant.order', 'hotel_res_resv', 'hfolio_id', 'reserves_id', 'Restaurant Orders'
Public methods (0)

No public methods.

New fields (3)
  • categ_id Many2one → hotel.menucard.type
    required=True args: 'hotel.menucard.type', 'Food Item Category'
  • product_id Many2one → product.product
    delegate=True index=True ondelete='cascade' required=True args: 'product.product', 'Hotel Menucard'
  • product_manager_id Many2one → res.users
    args: 'res.users', 'Product Manager'
Public methods (0)

No public methods.

New fields (3)
  • child_ids One2many → hotel.menucard.type
    args: 'hotel.menucard.type', 'menu_id', 'Child Categories'
  • menu_id Many2one → hotel.menucard.type
    args: 'hotel.menucard.type', 'Food Item Type'
  • name Char
    required=True args: 'Name'
Public methods (2)
  • name_get(self)
  • name_search(self, name, args=None, operator='ilike', limit=100)
    @api.model

New fields (14)
  • amount_subtotal Float
    compute='_compute_amount_all_total' string='Subtotal'
  • amount_total Float
    compute='_compute_amount_all_total' string='Total'
  • folio_id Many2one → hotel.folio
    args: 'hotel.folio', 'Folio No'
  • is_folio Boolean
    help='is customer reside in hotel or not' args: 'Is a Hotel Guest??'
  • kitchen Integer
    args: 'Kitchen Id'
  • order_date Datetime
    default=<expr> required=True args: 'Date'
  • order_list_ids One2many → hotel.restaurant.order.list
    args: 'hotel.restaurant.order.list', 'reservation_order_id', 'Order List'
  • order_number Char
    readonly=True args: 'Order No'
  • reservation_id Many2one → hotel.restaurant.reservation
    args: 'hotel.restaurant.reservation', 'Reservation No'
  • rests_ids Many2many → hotel.restaurant.order.list
    args: 'hotel.restaurant.order.list', 'reserv_id', 'kitchen_id', 'res_kit_ids', 'Rest'
  • state Selection
    default='draft' readonly=True required=True args: [('draft', 'Draft'), ('order', 'Order Created'), ('done', 'Done')], 'State'
  • table_nos_ids Many2many → hotel.restaurant.tables
    args: 'hotel.restaurant.tables', 'temp_table4', 'table_no', 'name', 'Table Number'
  • tax Float
    args: 'Tax (%) '
  • waitername Many2one → res.partner
    args: 'res.partner', 'Waiter Name'
Public methods (4)
  • create(self, vals)
    @api.model
    Overrides orm create method. @param self: The object pointer @param vals: dictionary of fields value.
  • done_kot(self)
    This method is used to change the state to done of the hotel reservation order ---------------------------------------- @param self: object pointer
  • reservation_generate_kot(self)
    This method create new record for hotel restaurant order list. -------------------------------------------------------------- @param self: The object pointer @return: new record set for hotel restaurant order list.
  • reservation_update_kot(self)
    This method update record for hotel restaurant order list. ---------------------------------------------------------- @param self: The object pointer @return: update record set for hotel restaurant order list.

New fields (7)
  • kot_date Datetime
    args: 'Date'
  • kot_list_ids One2many → hotel.restaurant.order.list
    help='Kitchen order list' args: 'hotel.restaurant.order.list', 'kot_order_id', 'Order List'
  • order_number Char
    readonly=True args: 'Order Number'
  • reservation_number Char
    args: 'Reservation Number'
  • room_no Char
    readonly=True args: 'Room No'
  • table_nos_ids Many2many → hotel.restaurant.tables
    help='Table reservation detail.' args: 'hotel.restaurant.tables', 'restaurant_kitchen_order_rel', 'table_no', 'name', 'Table Number'
  • waiter_name Char
    readonly=True args: 'Waiter Name'
Public methods (0)

No public methods.

New fields (15)
  • amount_subtotal Float
    compute='_compute_amount_all_total' string='Subtotal'
  • amount_total Float
    compute='_compute_amount_all_total' string='Total'
  • customer_id Many2one → res.partner
    required=True args: 'res.partner', 'Customer Name'
  • folio_id Many2one → hotel.folio
    args: 'hotel.folio', 'Folio No'
  • is_folio Boolean
    help='is customer reside in hotel or not' args: 'Is a Hotel Guest??'
  • kitchen Integer
    args: 'Kitchen'
  • o_date Datetime
    default=<expr> required=True args: 'Order Date'
  • order_list_ids One2many → hotel.restaurant.order.list
    args: 'hotel.restaurant.order.list', 'restaurant_order_id', 'Order List'
  • order_no Char
    readonly=True args: 'Order Number'
  • rest_item_id Many2many → hotel.restaurant.order.list
    args: 'hotel.restaurant.order.list', 'restaurant_kitchen_rel', 'restau_id', 'kit_id', 'Rest'
  • room_id Many2one → product.product
    args: 'product.product', 'Room No'
  • state Selection
    copy=False default='draft' readonly=True required=True args: [('draft', 'Draft'), ('order', 'Order Created'), ('done', 'Done'), ('cancel', 'Cancelled')], 'State'
  • table_nos_ids Many2many → hotel.restaurant.tables
    args: 'hotel.restaurant.tables', 'restaurant_table_order_rel', 'table_no', 'name', 'Table Number'
  • tax Float
    args: 'Tax (%) '
  • waiter_id Many2one → res.partner
    args: 'res.partner', 'Waiter'
Public methods (6)
  • create(self, vals)
    @api.model
    Overrides orm create method. @param self: The object pointer @param vals: dictionary of fields value.
  • done_cancel(self)
    This method is used to change the state to cancel of the hotel restaurant order ---------------------------------------- @param self: object pointer
  • done_order_kot(self)
    This method is used to change the state to done of the hotel restaurant order ---------------------------------------- @param self: object pointer
  • generate_kot(self)
    This method create new record for hotel restaurant order list. @param self: The object pointer @return: new record set for hotel restaurant order list.
  • generate_kot_update(self)
    This method update record for hotel restaurant order list. ---------------------------------------------------------- @param self: The object pointer @return: update record set for hotel restaurant order list.
  • set_to_draft(self)
    This method is used to change the state to draft of the hotel restaurant order ---------------------------------------- @param self: object pointer

New fields (7)
  • item_qty Integer
    default=1 required=True args: 'Qty'
  • item_rate Float
    args: 'Rate'
  • kot_order_id Many2one → hotel.restaurant.kitchen.order.tickets
    args: 'hotel.restaurant.kitchen.order.tickets', 'Kitchen Order Tickets'
  • menucard_id Many2one → hotel.menucard
    required=True args: 'hotel.menucard', 'Item Name'
  • price_subtotal Float
    compute='_compute_price_subtotal' string='Subtotal'
  • reservation_order_id Many2one → hotel.reservation.order
    args: 'hotel.reservation.order', 'Reservation Order'
  • restaurant_order_id Many2one → hotel.restaurant.order
    args: 'hotel.restaurant.order', 'Restaurant Order'
Public methods (0)

No public methods.

New fields (10)
  • customer_id Many2one → res.partner
    required=True args: 'res.partner', 'Customer Name'
  • end_date Datetime
    required=True args: 'End Time'
  • folio_id Many2one → hotel.folio
    args: 'hotel.folio', 'Folio No'
  • is_folio Boolean
    args: 'Is a Hotel Guest??'
  • partner_address_id Many2one → res.partner
    args: 'res.partner', 'Address'
  • reservation_id Char
    index=True readonly=True args: 'Reservation No'
  • room_id Many2one → product.product
    args: 'product.product', 'Room No'
  • start_date Datetime
    default=<expr> required=True args: 'Start Time'
  • state Selection
    copy=False default='draft' readonly=True required=True args: [('draft', 'Draft'), ('confirm', 'Confirmed'), ('done', 'Done'), ('cancel', 'Cancelled'), ('order', 'Order Created')], 'state'
  • table_nos_ids Many2many → hotel.restaurant.tables
    help='Table reservation detail.' string='Table Number' args: 'hotel.restaurant.tables', 'reservation_table', 'reservation_table_id', 'name'
Public methods (6)
  • action_set_to_draft(self)
    This method is used to change the state to draft of the hotel restaurant reservation -------------------------------------------- @param self: object pointer
  • create(self, vals)
    @api.model
    Overrides orm create method. @param self: The object pointer @param vals: dictionary of fields value.
  • create_order(self)
    This method is for create a new order for hotel restaurant reservation .when table is booked and create order button is clicked then this method is called and order is created.you can see this created order in "Orders" ------------------------------------------------------------ @param self: The object pointer @return: new record set for hotel restaurant reservation.
  • table_cancel(self)
    This method is used to change the state to cancel of the hotel restaurant reservation -------------------------------------------- @param self: object pointer
  • table_done(self)
    This method is used to change the state to done of the hotel restaurant reservation -------------------------------------------- @param self: object pointer
  • table_reserved(self)
    when CONFIRM BUTTON is clicked this method is called for table reservation @param self: The object pointer @return: change a state depending on the condition

New fields (2)
  • capacity Integer
    args: 'Capacity'
  • name Char
    required=True args: 'Table Number'
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 (1)
  • get_res_data(self, date_start, date_end)

New fields (0)

No new fields.

Public methods (2)
  • get_data(self, date_start, date_end)
  • get_reserv(self, date_start, date_end)

New fields (0)

No new fields.

Public methods (2)
  • get_data(self, date_start, date_end)
  • get_rest(self, date_start, date_end)

New fields (2)
  • date_end Datetime
    required=True args: 'End Date'
  • date_start Datetime
    required=True args: 'Start Date'
Public methods (1)
  • print_report(self)
REPOSITORY
REPOSITORYOCA/vertical-hotel
GIT
GIThttps://github.com/OCA/vertical-hotel.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/vertical-hotel/tree/13.0/hotel_restaurant
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYGeneric Modules/Hotel Restaurant
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Odoo S.A., Serpent Consulting Services Pvt. Ltd.
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Odoo S.A., Serpent Consulting Services Pvt. Ltd.
COMMITTERS
COMMITTERSOCA Transbot, oca-travis, OCA-git-bot, Dhruvita, dhruvitaSerpentCS
WEBSITE
WEBSITEhttps://github.com/OCA/vertical-hotel/
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:34:20
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/vertical-hotel:
    - hotel
odoo/odoo:
    - sale_stock
    - sale
    - sales_team
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - payment
    - account
    - product
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - utm
    - stock_account
    - stock
    - barcodes
    - point_of_sale
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES python-dateutil
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (30)
XML IDNameModelTypeStatus
hotel_manucard_kanban_view Menucard Kanban hotel.menucard kanban New
report_hotel_order_kot report_hotel_order_kot ir.ui.view qweb New
report_order_bill report_order_bill ir.ui.view qweb New
report_res_order_bill report_res_order_bill ir.ui.view qweb New
report_res_table report_res_table ir.ui.view qweb New
report_reserv_order report_reserv_order ir.ui.view qweb New
report_rest_order report_rest_order ir.ui.view qweb New
view_folio_rest_reservation view.folio.rest.reservation folio.rest.reservation form New
view_hotel_menucard_form hotel.menucard.form hotel.menucard form New
view_hotel_menucard_search_new hotel.menucard.search hotel.menucard search New
view_hotel_menucard_tree hotel.menucard.tree hotel.menucard tree New
view_hotel_menucard_type_form hotel_menucard_type_form hotel.menucard.type form New
view_hotel_menucard_type_list hotel_menucard_type_list hotel.menucard.type tree New
view_hotel_reservation_order_form hotel_reservation_order.form hotel.reservation.order form New
view_hotel_reservation_order_search hotel.reservation.order.search hotel.reservation.order search New
view_hotel_reservation_order_tree hotel_reservation_order.tree hotel.reservation.order tree New
view_hotel_restaurant_kitchen_order_search hotel.restaurant.kitchen.order.tickets.search hotel.restaurant.kitchen.order.tickets search New
view_hotel_restaurant_kitchen_order_tickets_form hotel_restaurant_kitchen_order_tickets.form hotel.restaurant.kitchen.order.tickets form New
view_hotel_restaurant_kitchen_order_tickets_tree hotel_restaurant_kitchen_order_tickets.tree hotel.restaurant.kitchen.order.tickets tree New
view_hotel_restaurant_order_form hotel_restaurant_order.form hotel.restaurant.order form New
view_hotel_restaurant_order_search hotel.restaurant.order.search hotel.restaurant.order search New
view_hotel_restaurant_order_tree hotel_restaurant_order.tree hotel.restaurant.order tree New
view_hotel_restaurant_reservation_form hotel_restaurant_reservation.form hotel.restaurant.reservation form New
view_hotel_restaurant_reservation_search hotel.restaurant.reservation.search hotel.restaurant.reservation search New
view_hotel_restaurant_reservation_tree hotel_restaurant_reservation.tree hotel.restaurant.reservation tree New
view_hotel_restaurant_tables_form hotel_restaurant_tables.form hotel.restaurant.tables form New
view_hotel_restaurant_tables_search hotel_restaurant_tables.search hotel.restaurant.tables search New
view_hotel_restaurant_tables_tree hotel_restaurant_tables.tree hotel.restaurant.tables tree New
view_hotelfolio1_form1_inherited hotel.folio1.form1.inherited hotel.folio xpath Inherits hotel.view_hotel_folio_form
wizard_hotel_restaurant_form_view wizard.hotel.restaurant.form wizard.hotel.restaurant form New
Models touched (15)

New fields (3)
  • check Boolean
    args: 'With Details'
  • date_end Datetime
    args: 'End Date'
  • date_start Datetime
    args: 'Start Date'
Public methods (2)
  • print_reserv_report(self)
  • print_rest_report(self)

New fields (2)
  • hotel_reservation_orders_ids Many2many → hotel.reservation.order
    args: 'hotel.reservation.order', 'hotel_res_rel', 'hotel_folio_id', 'reste_id', 'Reservation Orders'
  • hotel_restaurant_orders_ids Many2many → hotel.restaurant.order
    args: 'hotel.restaurant.order', 'hotel_res_resv', 'hfolio_id', 'reserves_id', 'Restaurant Orders'
Public methods (0)

No public methods.

New fields (3)
  • categ_id Many2one → hotel.menucard.type
    required=True args: 'hotel.menucard.type', 'Food Item Category'
  • product_id Many2one → product.product
    delegate=True index=True ondelete='cascade' required=True args: 'product.product', 'Hotel Menucard'
  • product_manager_id Many2one → res.users
    args: 'res.users', 'Product Manager'
Public methods (0)

No public methods.

New fields (3)
  • child_ids One2many → hotel.menucard.type
    args: 'hotel.menucard.type', 'menu_id', 'Child Categories'
  • menu_id Many2one → hotel.menucard.type
    args: 'hotel.menucard.type', 'Food Item Type'
  • name Char
    required=True args: 'Name'
Public methods (2)
  • name_get(self)
  • name_search(self, name, args=None, operator='ilike', limit=100)
    @api.model

New fields (14)
  • amount_subtotal Float
    compute='_compute_amount_all_total' string='Subtotal'
  • amount_total Float
    compute='_compute_amount_all_total' string='Total'
  • folio_id Many2one → hotel.folio
    args: 'hotel.folio', 'Folio No'
  • is_folio Boolean
    help='is customer reside in hotel or not' args: 'Is a Hotel Guest??'
  • kitchen Integer
    args: 'Kitchen Id'
  • order_date Datetime
    default=<expr> required=True args: 'Date'
  • order_list_ids One2many → hotel.restaurant.order.list
    args: 'hotel.restaurant.order.list', 'reservation_order_id', 'Order List'
  • order_number Char
    readonly=True args: 'Order No'
  • reservation_id Many2one → hotel.restaurant.reservation
    args: 'hotel.restaurant.reservation', 'Reservation No'
  • rests_ids Many2many → hotel.restaurant.order.list
    args: 'hotel.restaurant.order.list', 'reserv_id', 'kitchen_id', 'res_kit_ids', 'Rest'
  • state Selection
    default='draft' readonly=True required=True args: [('draft', 'Draft'), ('order', 'Order Created'), ('done', 'Done')], 'State'
  • table_nos_ids Many2many → hotel.restaurant.tables
    args: 'hotel.restaurant.tables', 'temp_table4', 'table_no', 'name', 'Table Number'
  • tax Float
    args: 'Tax (%) '
  • waitername Many2one → res.partner
    args: 'res.partner', 'Waiter Name'
Public methods (4)
  • create(self, vals)
    @api.model
    Overrides orm create method. @param self: The object pointer @param vals: dictionary of fields value.
  • done_kot(self)
    This method is used to change the state to done of the hotel reservation order ---------------------------------------- @param self: object pointer
  • reservation_generate_kot(self)
    This method create new record for hotel restaurant order list. -------------------------------------------------------------- @param self: The object pointer @return: new record set for hotel restaurant order list.
  • reservation_update_kot(self)
    This method update record for hotel restaurant order list. ---------------------------------------------------------- @param self: The object pointer @return: update record set for hotel restaurant order list.

New fields (7)
  • kot_date Datetime
    args: 'Date'
  • kot_list_ids One2many → hotel.restaurant.order.list
    help='Kitchen order list' args: 'hotel.restaurant.order.list', 'kot_order_id', 'Order List'
  • orderno Char
    readonly=True args: 'Order Number'
  • resno Char
    args: 'Reservation Number'
  • room_no Char
    readonly=True args: 'Room No'
  • table_nos_ids Many2many → hotel.restaurant.tables
    help='Table reservation detail.' args: 'hotel.restaurant.tables', 'restaurant_kitchen_order_rel', 'table_no', 'name', 'Table Number'
  • w_name Char
    readonly=True args: 'Waiter Name'
Public methods (0)

No public methods.

New fields (15)
  • amount_subtotal Float
    compute='_compute_amount_all_total' string='Subtotal'
  • amount_total Float
    compute='_compute_amount_all_total' string='Total'
  • customer_id Many2one → res.partner
    required=True args: 'res.partner', 'Customer Name'
  • folio_id Many2one → hotel.folio
    args: 'hotel.folio', 'Folio No'
  • is_folio Boolean
    help='is customer reside in hotel or not' args: 'Is a Hotel Guest??'
  • kitchen Integer
    args: 'Kitchen Id'
  • o_date Datetime
    default=<expr> required=True args: 'Order Date'
  • order_list_ids One2many → hotel.restaurant.order.list
    args: 'hotel.restaurant.order.list', 'restaurant_order_id', 'Order List'
  • order_no Char
    readonly=True args: 'Order Number'
  • rest_item_id Many2many → hotel.restaurant.order.list
    args: 'hotel.restaurant.order.list', 'restau_kitc_rel', 'restau_id', 'kit_id', 'Rest'
  • room_id Many2one → product.product
    args: 'product.product', 'Room No'
  • state Selection
    default='draft' readonly=True required=True args: [('draft', 'Draft'), ('order', 'Order Created'), ('done', 'Done'), ('cancel', 'Cancelled')], 'State'
  • table_nos_ids Many2many → hotel.restaurant.tables
    args: 'hotel.restaurant.tables', 'restaurant_table_order_rel', 'table_no', 'name', 'Table Number'
  • tax Float
    args: 'Tax (%) '
  • waiter_id Many2one → res.partner
    args: 'res.partner', 'Waiter Name'
Public methods (6)
  • create(self, vals)
    @api.model
    Overrides orm create method. @param self: The object pointer @param vals: dictionary of fields value.
  • done_cancel(self)
    This method is used to change the state to cancel of the hotel restaurant order ---------------------------------------- @param self: object pointer
  • done_order_kot(self)
    This method is used to change the state to done of the hotel restaurant order ---------------------------------------- @param self: object pointer
  • generate_kot(self)
    This method create new record for hotel restaurant order list. @param self: The object pointer @return: new record set for hotel restaurant order list.
  • generate_kot_update(self)
    This method update record for hotel restaurant order list. ---------------------------------------------------------- @param self: The object pointer @return: update record set for hotel restaurant order list.
  • set_to_draft(self)
    This method is used to change the state to draft of the hotel restaurant order ---------------------------------------- @param self: object pointer

New fields (7)
  • item_qty Integer
    default=1 required=True args: 'Qty'
  • item_rate Float
    args: 'Rate'
  • kot_order_id Many2one → hotel.restaurant.kitchen.order.tickets
    args: 'hotel.restaurant.kitchen.order.tickets', 'Kitchen Order Tickets'
  • menucard_id Many2one → hotel.menucard
    required=True args: 'hotel.menucard', 'Item Name'
  • price_subtotal Float
    compute='_compute_price_subtotal' string='Subtotal'
  • reservation_order_id Many2one → hotel.reservation.order
    args: 'hotel.reservation.order', 'Reservation Order'
  • restaurant_order_id Many2one → hotel.restaurant.order
    args: 'hotel.restaurant.order', 'Restaurant Order'
Public methods (0)

No public methods.

New fields (10)
  • customer_id Many2one → res.partner
    required=True args: 'res.partner', 'Customer Name'
  • end_date Datetime
    required=True args: 'End Time'
  • folio_id Many2one → hotel.folio
    args: 'hotel.folio', 'Folio No'
  • is_folio Boolean
    args: 'Is a Hotel Guest??'
  • partner_address_id Many2one → res.partner
    args: 'res.partner', 'Address'
  • reservation_id Char
    index=True readonly=True args: 'Reservation No'
  • room_id Many2one → product.product
    args: 'product.product', 'Room No'
  • start_date Datetime
    default=<expr> required=True args: 'Start Time'
  • state Selection
    default='draft' readonly=True required=True args: [('draft', 'Draft'), ('confirm', 'Confirmed'), ('done', 'Done'), ('cancel', 'Cancelled'), ('order', 'Order Created')], 'state'
  • table_nos_ids Many2many → hotel.restaurant.tables
    help='Table reservation detail.' string='Table Number' args: 'hotel.restaurant.tables', 'reservation_table', 'reservation_table_id', 'name'
Public methods (6)
  • action_set_to_draft(self)
    This method is used to change the state to draft of the hotel restaurant reservation -------------------------------------------- @param self: object pointer
  • create(self, vals)
    @api.model
    Overrides orm create method. @param self: The object pointer @param vals: dictionary of fields value.
  • create_order(self)
    This method is for create a new order for hotel restaurant reservation .when table is booked and create order button is clicked then this method is called and order is created.you can see this created order in "Orders" ------------------------------------------------------------ @param self: The object pointer @return: new record set for hotel restaurant reservation.
  • table_cancel(self)
    This method is used to change the state to cancel of the hotel restaurant reservation -------------------------------------------- @param self: object pointer
  • table_done(self)
    This method is used to change the state to done of the hotel restaurant reservation -------------------------------------------- @param self: object pointer
  • table_reserved(self)
    when CONFIRM BUTTON is clicked this method is called for table reservation @param self: The object pointer @return: change a state depending on the condition

New fields (2)
  • capacity Integer
    args: 'Capacity'
  • name Char
    required=True args: 'Table Number'
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 (1)
  • get_res_data(self, date_start, date_end)

New fields (0)

No new fields.

Public methods (2)
  • get_data(self, date_start, date_end)
  • get_reserv(self, date_start, date_end)

New fields (0)

No new fields.

Public methods (2)
  • get_data(self, date_start, date_end)
  • get_rest(self, date_start, date_end)

New fields (2)
  • date_end Datetime
    required=True args: 'End Date'
  • date_start Datetime
    required=True args: 'Start Date'
Public methods (1)
  • print_report(self)
REPOSITORY
REPOSITORYOCA/vertical-hotel
GIT
GIThttps://github.com/OCA/vertical-hotel.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/vertical-hotel/tree/12.0/hotel_restaurant
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYGeneric Modules/Hotel Restaurant
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Odoo S.A., Serpent Consulting Services Pvt. Ltd.
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Odoo S.A., Serpent Consulting Services Pvt. Ltd.
COMMITTERS
COMMITTERSGitHub, OCA Transbot, oca-travis, OCA-git-bot, robin.keunen, Dhruvita, Dhruvita Vekariya, Rajan-SerpentCS
WEBSITE
WEBSITEhttps://github.com/OCA/vertical-hotel/
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:29:25
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/vertical-hotel:
    - hotel
odoo/odoo:
    - sale_stock
    - sale
    - sales_team
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - payment
    - account
    - product
    - decimal_precision
    - uom
    - analytic
    - portal
    - http_routing
    - digest
    - stock_account
    - stock
    - barcodes
    - point_of_sale
    - web_editor
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (30)
XML IDNameModelTypeStatus
hotel_manucard_kanban_view Menucard Kanban hotel.menucard kanban New
report_hotel_order_kot report_hotel_order_kot ir.ui.view qweb New
report_order_bill report_order_bill ir.ui.view qweb New
report_res_order_bill report_res_order_bill ir.ui.view qweb New
report_res_table report_res_table ir.ui.view qweb New
report_reserv_order report_reserv_order ir.ui.view qweb New
report_rest_order report_rest_order ir.ui.view qweb New
view_folio_rest_reservation view.folio.rest.reservation folio.rest.reservation form New
view_hotel_menucard_form hotel.menucard.form hotel.menucard form New
view_hotel_menucard_search_new hotel.menucard.search hotel.menucard search New
view_hotel_menucard_tree hotel.menucard.tree hotel.menucard tree New
view_hotel_menucard_type_form hotel_menucard_type_form hotel.menucard.type form New
view_hotel_menucard_type_list hotel_menucard_type_list hotel.menucard.type tree New
view_hotel_reservation_order_form hotel_reservation_order.form hotel.reservation.order form New
view_hotel_reservation_order_search hotel.reservation.order.search hotel.reservation.order search New
view_hotel_reservation_order_tree hotel_reservation_order.tree hotel.reservation.order tree New
view_hotel_restaurant_kitchen_order_search hotel.restaurant.kitchen.order.tickets.search hotel.restaurant.kitchen.order.tickets search New
view_hotel_restaurant_kitchen_order_tickets_form hotel_restaurant_kitchen_order_tickets.form hotel.restaurant.kitchen.order.tickets form New
view_hotel_restaurant_kitchen_order_tickets_tree hotel_restaurant_kitchen_order_tickets.tree hotel.restaurant.kitchen.order.tickets tree New
view_hotel_restaurant_order_form hotel_restaurant_order.form hotel.restaurant.order form New
view_hotel_restaurant_order_search hotel.restaurant.order.search hotel.restaurant.order search New
view_hotel_restaurant_order_tree hotel_restaurant_order.tree hotel.restaurant.order tree New
view_hotel_restaurant_reservation_form hotel_restaurant_reservation.form hotel.restaurant.reservation form New
view_hotel_restaurant_reservation_search hotel.restaurant.reservation.search hotel.restaurant.reservation search New
view_hotel_restaurant_reservation_tree hotel_restaurant_reservation.tree hotel.restaurant.reservation tree New
view_hotel_restaurant_tables_form hotel_restaurant_tables.form hotel.restaurant.tables form New
view_hotel_restaurant_tables_search hotel_restaurant_tables.search hotel.restaurant.tables search New
view_hotel_restaurant_tables_tree hotel_restaurant_tables.tree hotel.restaurant.tables tree New
view_hotelfolio1_form1_inherited hotel.folio1.form1.inherited hotel.folio xpath Inherits hotel.view_hotel_folio_form
wizard_hotel_restaurant_form_view wizard.hotel.restaurant.form wizard.hotel.restaurant form New
Models touched (15)

New fields (3)
  • check Boolean
    args: 'With Details'
  • date_end Datetime
    args: 'End Date'
  • date_start Datetime
    args: 'Start Date'
Public methods (2)
  • print_reserv_report(self)
    @api.multi
  • print_rest_report(self)
    @api.multi

New fields (2)
  • hotel_reservation_order_ids Many2many → hotel.reservation.order
    args: 'hotel.reservation.order', 'hotel_res_rel', 'hotel_folio_id', 'reste_id', 'Orders'
  • hotel_restaurant_order_ids Many2many → hotel.restaurant.order
    args: 'hotel.restaurant.order', 'hotel_res_resv', 'hfolio_id', 'reserves_id', 'Orders'
Public methods (0)

No public methods.

New fields (4)
  • categ_id Many2one → hotel.menucard.type
    required=True string='Food Item Category' args: 'hotel.menucard.type'
  • image Binary
    help='This field holds the image used as image for the product, limited to 1024x1024px.' args: 'Image'
  • product_id Many2one → product.product
    delegate=True index=True ondelete='cascade' required=True args: 'product.product', 'Product'
  • product_manager Many2one → res.users
    string='Product Manager' args: 'res.users'
Public methods (0)

No public methods.

New fields (3)
  • child_ids One2many → hotel.menucard.type
    args: 'hotel.menucard.type', 'menu_id', 'Child Categories'
  • menu_id Many2one → hotel.menucard.type
    string='Food Item Type' args: 'hotel.menucard.type'
  • name Char
    required=True args: 'Name'
Public methods (2)
  • name_get(self)
    @api.multi
  • name_search(self, name, args=None, operator='ilike', limit=100)
    @api.model

New fields (14)
  • amount_subtotal Float
    compute='_compute_amount_all_total' method=True string='Subtotal'
  • amount_total Float
    compute='_compute_amount_all_total' method=True string='Total'
  • folio_id Many2one → hotel.folio
    string='Folio No' args: 'hotel.folio'
  • is_folio Boolean
    help='is customer residein hotel or not' args: 'Is a Hotel Guest??'
  • kitchen_id Integer
    args: 'Kitchen id'
  • order_date Datetime
    default=<expr> required=True args: 'Date'
  • order_list One2many → hotel.restaurant.order.list
    args: 'hotel.restaurant.order.list', 'o_l', 'Order List'
  • order_number Char
    readonly=True args: 'Order No'
  • reservationno Many2one → hotel.restaurant.reservation
    args: 'hotel.restaurant.reservation', 'Reservation No'
  • rest_id Many2many → hotel.restaurant.order.list
    args: 'hotel.restaurant.order.list', 'reserv_id', 'kitchen_id', 'res_kit_ids', 'Rest'
  • state Selection
    default=<expr> index=True readonly=True required=True args: [('draft', 'Draft'), ('order', 'Order Created'), ('done', 'Done')], 'State'
  • table_no Many2many → hotel.restaurant.tables
    args: 'hotel.restaurant.tables', 'temp_table4', 'table_no', 'name', 'Table Number'
  • tax Float
    args: 'Tax (%) '
  • waitername Many2one → res.partner
    args: 'res.partner', 'Waiter Name'
Public methods (4)
  • create(self, vals)
    @api.model
    Overrides orm create method. @param self: The object pointer @param vals: dictionary of fields value.
  • done_kot(self)
    @api.multi
    This method is used to change the state to done of the hotel reservation order ---------------------------------------- @param self: object pointer
  • reservation_generate_kot(self)
    @api.multi
    This method create new record for hotel restaurant order list. -------------------------------------------------------------- @param self: The object pointer @return: new record set for hotel restaurant order list.
  • reservation_update_kot(self)
    @api.multi
    This method update record for hotel restaurant order list. ---------------------------------------------------------- @param self: The object pointer @return: update record set for hotel restaurant order list.

New fields (7)
  • kot_date Datetime
    args: 'Date'
  • kot_list One2many → hotel.restaurant.order.list
    help='Kitchen order list' args: 'hotel.restaurant.order.list', 'kot_order_list', 'Order List'
  • orderno Char
    readonly=True args: 'Order Number'
  • resno Char
    args: 'Reservation Number'
  • room_no Char
    readonly=True args: 'Room No'
  • tableno Many2many → hotel.restaurant.tables
    help='Table reservation detail.' args: 'hotel.restaurant.tables', 'temp_table3', 'table_no', 'name', 'Table Number'
  • w_name Char
    readonly=True args: 'Waiter Name'
Public methods (0)

No public methods.

New fields (15)
  • amount_subtotal Float
    compute='_compute_amount_all_total' method=True string='Subtotal'
  • amount_total Float
    compute='_compute_amount_all_total' method=True string='Total'
  • cname Many2one → res.partner
    required=True string='Customer Name' args: 'res.partner'
  • folio_id Many2one → hotel.folio
    string='Folio No' args: 'hotel.folio'
  • is_folio Boolean
    help='is customer residein hotel or not' args: 'Is a Hotel Guest??'
  • kitchen_id Integer
    args: 'Kitchen id'
  • o_date Datetime
    default=<expr> required=True args: 'Order Date'
  • order_list One2many → hotel.restaurant.order.list
    args: 'hotel.restaurant.order.list', 'o_list', 'Order List'
  • order_no Char
    readonly=True args: 'Order Number'
  • rest_item_id Many2many → hotel.restaurant.order.list
    args: 'hotel.restaurant.order.list', 'restau_kitc_ids', 'restau_id', 'kit_id', 'Rest'
  • room_no Many2one → product.product
    string='Room No' args: 'product.product'
  • state Selection
    default=<expr> index=True readonly=True required=True args: [('draft', 'Draft'), ('order', 'Order Created'), ('done', 'Done'), ('cancel', 'Cancelled')], 'State'
  • table_no Many2many → hotel.restaurant.tables
    args: 'hotel.restaurant.tables', 'temp_table2', 'table_no', 'name', 'Table Number'
  • tax Float
    args: 'Tax (%) '
  • waiter_name Many2one → res.partner
    args: 'res.partner', 'Waiter Name'
Public methods (7)
  • create(self, vals)
    @api.model
    Overrides orm create method. @param self: The object pointer @param vals: dictionary of fields value.
  • done_cancel(self)
    @api.multi
    This method is used to change the state to cancel of the hotel restaurant order ---------------------------------------- @param self: object pointer
  • done_order_kot(self)
    @api.multi
    This method is used to change the state to done of the hotel restaurant order ---------------------------------------- @param self: object pointer
  • generate_kot(self)
    @api.multi
    This method create new record for hotel restaurant order list. @param self: The object pointer @return: new record set for hotel restaurant order list.
  • generate_kot_update(self)
    @api.multi
    This method update record for hotel restaurant order list. ---------------------------------------------------------- @param self: The object pointer @return: update record set for hotel restaurant order list.
  • get_folio_id(self)
    @api.onchange('folio_id')
    When you change folio_id, based on that it will update the cname and room_number as well --------------------------------------------------------- @param self: object pointer
  • set_to_draft(self)
    @api.multi
    This method is used to change the state to draft of the hotel restaurant order ---------------------------------------- @param self: object pointer

New fields (7)
  • item_qty Integer
    default=1 required=True args: 'Qty'
  • item_rate Float
    args: 'Rate'
  • kot_order_list Many2one → hotel.restaurant.kitchen.order.tickets
    args: 'hotel.restaurant.kitchen.order.tickets', 'Kitchen Order Tickets'
  • name Many2one → hotel.menucard
    required=True args: 'hotel.menucard', 'Item Name'
  • o_l Many2one → hotel.reservation.order
    args: 'hotel.reservation.order', 'Reservation Order'
  • o_list Many2one → hotel.restaurant.order
    args: 'hotel.restaurant.order', 'Restaurant Order'
  • price_subtotal Float
    compute='_compute_price_subtotal' method=True string='Subtotal'
Public methods (1)
  • on_change_item_name(self)
    @api.onchange('name')
    item rate will display on change of item name --------------------------------------------- @param self: object pointer

New fields (10)
  • cname Many2one → res.partner
    index=True required=True string='Customer Name' args: 'res.partner'
  • end_date Datetime
    required=True args: 'End Time'
  • folio_id Many2one → hotel.folio
    string='Folio No' args: 'hotel.folio'
  • is_folio Boolean
    args: 'Is a Hotel Guest??'
  • partner_address_id Many2one → res.partner
    string='Address' args: 'res.partner'
  • reservation_id Char
    index=True readonly=True args: 'Reservation No'
  • room_no Many2one → product.product
    index=True string='Room No' args: 'product.product'
  • start_date Datetime
    default=<expr> required=True args: 'Start Time'
  • state Selection
    default=<expr> index=True readonly=True required=True args: [('draft', 'Draft'), ('confirm', 'Confirmed'), ('done', 'Done'), ('cancel', 'Cancelled'), ('order', 'Order Created')], 'state'
  • tableno Many2many → hotel.restaurant.tables
    column1='reservation_table_id' column2='name' help='Table reservation detail. ' index=True relation='reservation_table' string='Table Number' args: 'hotel.restaurant.tables'
Public methods (9)
  • action_set_to_draft(self)
    @api.multi
    This method is used to change the state to draft of the hotel restaurant reservation -------------------------------------------- @param self: object pointer
  • check_start_dates(self)
    @api.constrains('start_date', 'end_date')
    This method is used to validate the start_date and end_date. ------------------------------------------------------------- @param self: object pointer @return: raise a warning depending on the validation
  • create(self, vals)
    @api.model
    Overrides orm create method. @param self: The object pointer @param vals: dictionary of fields value.
  • create_order(self)
    @api.multi
    This method is for create a new order for hotel restaurant reservation .when table is booked and create order button is clicked then this method is called and order is created.you can see this created order in "Orders" ------------------------------------------------------------ @param self: The object pointer @return: new record set for hotel restaurant reservation.
  • get_folio_id(self)
    @api.onchange('folio_id')
    When you change folio_id, based on that it will update the cname and room_number as well --------------------------------------------------------- @param self: object pointer
  • onchange_partner_id(self)
    @api.onchange('cname')
    When Customer name is changed respective adress will display in Adress field @param self: object pointer
  • table_cancel(self)
    @api.multi
    This method is used to change the state to cancel of the hotel restaurant reservation -------------------------------------------- @param self: object pointer
  • table_done(self)
    @api.multi
    This method is used to change the state to done of the hotel restaurant reservation -------------------------------------------- @param self: object pointer
  • table_reserved(self)
    @api.multi
    when CONFIRM BUTTON is clicked this method is called for table reservation @param self: The object pointer @return: change a state depending on the condition

New fields (2)
  • capacity Integer
    args: 'Capacity'
  • name Char
    index=True required=True args: 'Table Number'
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 (1)
  • get_res_data(self, date_start, date_end)

New fields (0)

No new fields.

Public methods (2)
  • get_data(self, date_start, date_end)
  • get_reserv(self, date_start, date_end)

New fields (0)

No new fields.

Public methods (2)
  • get_data(self, date_start, date_end)
  • get_rest(self, date_start, date_end)

New fields (2)
  • date_end Datetime
    required=True args: 'End Date'
  • date_start Datetime
    required=True args: 'Start Date'
Public methods (1)
  • print_report(self)
    @api.multi
REPOSITORY
REPOSITORYOCA/vertical-hotel
GIT
GIThttps://github.com/OCA/vertical-hotel.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/vertical-hotel/tree/11.0/hotel_restaurant
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYGeneric Modules/Hotel Restaurant
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Odoo S.A., Serpent Consulting Services Pvt. Ltd.
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Odoo S.A., Serpent Consulting Services Pvt. Ltd.
COMMITTERS
COMMITTERSGitHub, OCA Transbot, oca-travis, OCA-git-bot, tarteo, Darshan Patel, robin.keunen, Dhruvita, Vimal Patel, KrishnaPrajapati-SerpentCS
WEBSITE
WEBSITEhttps://github.com/OCA/vertical-hotel/
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:24:02
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/vertical-hotel:
    - hotel
odoo/odoo:
    - sale_stock
    - sale_management
    - sale
    - sales_team
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - account
    - product
    - decimal_precision
    - analytic
    - web_planner
    - portal
    - http_routing
    - account_invoicing
    - stock_account
    - stock
    - barcodes
    - point_of_sale
    - web_editor
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (30)
XML IDNameModelTypeStatus
hotel_manucard_kanban_view Menucard Kanban hotel.menucard kanban New
report_hotel_order_kot report_hotel_order_kot ir.ui.view qweb New
report_order_bill report_order_bill ir.ui.view qweb New
report_res_order_bill report_res_order_bill ir.ui.view qweb New
report_res_table report_res_table ir.ui.view qweb New
report_reserv_order report_reserv_order ir.ui.view qweb New
report_rest_order report_rest_order ir.ui.view qweb New
view_folio_rest_reservation view.folio.rest.reservation folio.rest.reservation form New
view_hotel_menucard_form hotel.menucard.form hotel.menucard form New
view_hotel_menucard_search_new hotel.menucard.search hotel.menucard search New
view_hotel_menucard_tree hotel.menucard.tree hotel.menucard tree New
view_hotel_menucard_type_form hotel_menucard_type_form hotel.menucard.type form New
view_hotel_menucard_type_list hotel_menucard_type_list hotel.menucard.type tree New
view_hotel_reservation_order_form hotel_reservation_order.form hotel.reservation.order form New
view_hotel_reservation_order_search hotel.reservation.order.search hotel.reservation.order search New
view_hotel_reservation_order_tree hotel_reservation_order.tree hotel.reservation.order tree New
view_hotel_restaurant_kitchen_order_search hotel.restaurant.kitchen.order.tickets.search hotel.restaurant.kitchen.order.tickets search New
view_hotel_restaurant_kitchen_order_tickets_form hotel_restaurant_kitchen_order_tickets.form hotel.restaurant.kitchen.order.tickets form New
view_hotel_restaurant_kitchen_order_tickets_tree hotel_restaurant_kitchen_order_tickets.tree hotel.restaurant.kitchen.order.tickets tree New
view_hotel_restaurant_order_form hotel_restaurant_order.form hotel.restaurant.order form New
view_hotel_restaurant_order_search hotel.restaurant.order.search hotel.restaurant.order search New
view_hotel_restaurant_order_tree hotel_restaurant_order.tree hotel.restaurant.order tree New
view_hotel_restaurant_reservation_form hotel_restaurant_reservation.form hotel.restaurant.reservation form New
view_hotel_restaurant_reservation_search hotel.restaurant.reservation.search hotel.restaurant.reservation search New
view_hotel_restaurant_reservation_tree hotel_restaurant_reservation.tree hotel.restaurant.reservation tree New
view_hotel_restaurant_tables_form hotel_restaurant_tables.form hotel.restaurant.tables form New
view_hotel_restaurant_tables_search hotel_restaurant_tables.search hotel.restaurant.tables search New
view_hotel_restaurant_tables_tree hotel_restaurant_tables.tree hotel.restaurant.tables tree New
view_hotelfolio1_form1_inherited hotel.folio1.form1.inherited hotel.folio xpath Inherits hotel.view_hotel_folio1_form
wizard_hotel_restaurant_form_view wizard.hotel.restaurant.form wizard.hotel.restaurant form New
Models touched (15)

New fields (3)
  • check Boolean
    args: 'With Details'
  • date_end Datetime
    args: 'End Date'
  • date_start Datetime
    args: 'Start Date'
Public methods (2)
  • print_reserv_report(self)
    @api.multi
  • print_rest_report(self)
    @api.multi

New fields (2)
  • hotel_reservation_order_ids Many2many → hotel.reservation.order
    args: 'hotel.reservation.order', 'hotel_res_rel', 'hotel_folio_id', 'reste_id', 'Orders'
  • hotel_restaurant_order_ids Many2many → hotel.restaurant.order
    args: 'hotel.restaurant.order', 'hotel_res_resv', 'hfolio_id', 'reserves_id', 'Orders'
Public methods (0)

No public methods.

New fields (4)
  • categ_id Many2one → hotel.menucard.type
    required=True string='Food Item Category' args: 'hotel.menucard.type'
  • image Binary
    help='This field holds the image used as image for the product, limited to 1024x1024px.' args: 'Image'
  • product_id Many2one → product.product
    delegate=True index=True ondelete='cascade' required=True args: 'product.product', 'Product'
  • product_manager Many2one → res.users
    string='Product Manager' args: 'res.users'
Public methods (0)

No public methods.

New fields (3)
  • child_ids One2many → hotel.menucard.type
    args: 'hotel.menucard.type', 'menu_id', 'Child Categories'
  • menu_id Many2one → hotel.menucard.type
    string='Food Item Type' args: 'hotel.menucard.type'
  • name Char
    required=True args: 'Name'
Public methods (2)
  • name_get(self)
    @api.multi
  • name_search(self, name, args=None, operator='ilike', limit=100)
    @api.model

New fields (14)
  • amount_subtotal Float
    compute='_compute_amount_all_total' method=True string='Subtotal'
  • amount_total Float
    compute='_compute_amount_all_total' method=True string='Total'
  • folio_id Many2one → hotel.folio
    string='Folio No' args: 'hotel.folio'
  • is_folio Boolean
    help='is customer residein hotel or not' args: 'Is a Hotel Guest??'
  • kitchen_id Integer
    args: 'Kitchen id'
  • order_date Datetime
    default=<expr> required=True args: 'Date'
  • order_list One2many → hotel.restaurant.order.list
    args: 'hotel.restaurant.order.list', 'o_l', 'Order List'
  • order_number Char
    readonly=True args: 'Order No'
  • reservationno Many2one → hotel.restaurant.reservation
    args: 'hotel.restaurant.reservation', 'Reservation No'
  • rest_id Many2many → hotel.restaurant.order.list
    args: 'hotel.restaurant.order.list', 'reserv_id', 'kitchen_id', 'res_kit_ids', 'Rest'
  • state Selection
    default=<expr> index=True readonly=True required=True args: [('draft', 'Draft'), ('order', 'Order Created'), ('done', 'Done')], 'State'
  • table_no Many2many → hotel.restaurant.tables
    args: 'hotel.restaurant.tables', 'temp_table4', 'table_no', 'name', 'Table Number'
  • tax Float
    args: 'Tax (%) '
  • waitername Many2one → res.partner
    args: 'res.partner', 'Waiter Name'
Public methods (4)
  • create(self, vals)
    @api.model
    Overrides orm create method. @param self: The object pointer @param vals: dictionary of fields value.
  • done_kot(self)
    @api.multi
    This method is used to change the state to done of the hotel reservation order ---------------------------------------- @param self: object pointer
  • reservation_generate_kot(self)
    @api.multi
    This method create new record for hotel restaurant order list. -------------------------------------------------------------- @param self: The object pointer @return: new record set for hotel restaurant order list.
  • reservation_update_kot(self)
    @api.multi
    This method update record for hotel restaurant order list. ---------------------------------------------------------- @param self: The object pointer @return: update record set for hotel restaurant order list.

New fields (7)
  • kot_date Datetime
    args: 'Date'
  • kot_list One2many → hotel.restaurant.order.list
    help='Kitchen order list' args: 'hotel.restaurant.order.list', 'kot_order_list', 'Order List'
  • orderno Char
    readonly=True args: 'Order Number'
  • resno Char
    args: 'Reservation Number'
  • room_no Char
    readonly=True args: 'Room No'
  • tableno Many2many → hotel.restaurant.tables
    help='Table reservation detail.' args: 'hotel.restaurant.tables', 'temp_table3', 'table_no', 'name', 'Table Number'
  • w_name Char
    readonly=True args: 'Waiter Name'
Public methods (0)

No public methods.

New fields (15)
  • amount_subtotal Float
    compute='_compute_amount_all_total' method=True string='Subtotal'
  • amount_total Float
    compute='_compute_amount_all_total' method=True string='Total'
  • cname Many2one → res.partner
    required=True string='Customer Name' args: 'res.partner'
  • folio_id Many2one → hotel.folio
    string='Folio No' args: 'hotel.folio'
  • is_folio Boolean
    help='is customer residein hotel or not' args: 'Is a Hotel Guest??'
  • kitchen_id Integer
    args: 'Kitchen id'
  • o_date Datetime
    default=<expr> required=True args: 'Order Date'
  • order_list One2many → hotel.restaurant.order.list
    args: 'hotel.restaurant.order.list', 'o_list', 'Order List'
  • order_no Char
    readonly=True args: 'Order Number'
  • rest_item_id Many2many → hotel.restaurant.order.list
    args: 'hotel.restaurant.order.list', 'restau_kitc_ids', 'restau_id', 'kit_id', 'Rest'
  • room_no Many2one → product.product
    string='Room No' args: 'product.product'
  • state Selection
    default=<expr> index=True readonly=True required=True args: [('draft', 'Draft'), ('order', 'Order Created'), ('done', 'Done'), ('cancel', 'Cancelled')], 'State'
  • table_no Many2many → hotel.restaurant.tables
    args: 'hotel.restaurant.tables', 'temp_table2', 'table_no', 'name', 'Table Number'
  • tax Float
    args: 'Tax (%) '
  • waiter_name Many2one → res.partner
    args: 'res.partner', 'Waiter Name'
Public methods (7)
  • create(self, vals)
    @api.model
    Overrides orm create method. @param self: The object pointer @param vals: dictionary of fields value.
  • done_cancel(self)
    @api.multi
    This method is used to change the state to cancel of the hotel restaurant order ---------------------------------------- @param self: object pointer
  • done_order_kot(self)
    @api.multi
    This method is used to change the state to done of the hotel restaurant order ---------------------------------------- @param self: object pointer
  • generate_kot(self)
    @api.multi
    This method create new record for hotel restaurant order list. @param self: The object pointer @return: new record set for hotel restaurant order list.
  • generate_kot_update(self)
    @api.multi
    This method update record for hotel restaurant order list. ---------------------------------------------------------- @param self: The object pointer @return: update record set for hotel restaurant order list.
  • get_folio_id(self)
    @api.onchange('folio_id')
    When you change folio_id, based on that it will update the cname and room_number as well --------------------------------------------------------- @param self: object pointer
  • set_to_draft(self)
    @api.multi
    This method is used to change the state to draft of the hotel restaurant order ---------------------------------------- @param self: object pointer

New fields (7)
  • item_qty Integer
    required=True args: 'Qty'
  • item_rate Float
    args: 'Rate'
  • kot_order_list Many2one → hotel.restaurant.kitchen.order.tickets
    args: 'hotel.restaurant.kitchen.order.tickets', 'Kitchen Order Tickets'
  • name Many2one → hotel.menucard
    required=True args: 'hotel.menucard', 'Item Name'
  • o_l Many2one → hotel.reservation.order
    args: 'hotel.reservation.order', 'Reservation Order'
  • o_list Many2one → hotel.restaurant.order
    args: 'hotel.restaurant.order', 'Restaurant Order'
  • price_subtotal Float
    compute='_compute_price_subtotal' method=True string='Subtotal'
Public methods (1)
  • on_change_item_name(self)
    @api.onchange('name')
    item rate will display on change of item name --------------------------------------------- @param self: object pointer

New fields (10)
  • cname Many2one → res.partner
    index=True required=True string='Customer Name' args: 'res.partner'
  • end_date Datetime
    required=True args: 'End Time'
  • folio_id Many2one → hotel.folio
    string='Folio No' args: 'hotel.folio'
  • is_folio Boolean
    args: 'Is a Hotel Guest??'
  • partner_address_id Many2one → res.partner
    string='Address' args: 'res.partner'
  • reservation_id Char
    index=True readonly=True args: 'Reservation No'
  • room_no Many2one → product.product
    index=True string='Room No' args: 'product.product'
  • start_date Datetime
    default=<expr> required=True args: 'Start Time'
  • state Selection
    default=<expr> index=True readonly=True required=True args: [('draft', 'Draft'), ('confirm', 'Confirmed'), ('done', 'Done'), ('cancel', 'Cancelled'), ('order', 'Order Created')], 'state'
  • tableno Many2many → hotel.restaurant.tables
    column1='reservation_table_id' column2='name' help='Table reservation detail. ' index=True relation='reservation_table' string='Table Number' args: 'hotel.restaurant.tables'
Public methods (9)
  • action_set_to_draft(self)
    @api.multi
    This method is used to change the state to draft of the hotel restaurant reservation -------------------------------------------- @param self: object pointer
  • check_start_dates(self)
    @api.constrains('start_date', 'end_date')
    This method is used to validate the start_date and end_date. ------------------------------------------------------------- @param self: object pointer @return: raise a warning depending on the validation
  • create(self, vals)
    @api.model
    Overrides orm create method. @param self: The object pointer @param vals: dictionary of fields value.
  • create_order(self)
    @api.multi
    This method is for create a new order for hotel restaurant reservation .when table is booked and create order button is clicked then this method is called and order is created.you can see this created order in "Orders" ------------------------------------------------------------ @param self: The object pointer @return: new record set for hotel restaurant reservation.
  • get_folio_id(self)
    @api.onchange('folio_id')
    When you change folio_id, based on that it will update the cname and room_number as well --------------------------------------------------------- @param self: object pointer
  • onchange_partner_id(self)
    @api.onchange('cname')
    When Customer name is changed respective adress will display in Adress field @param self: object pointer
  • table_cancel(self)
    @api.multi
    This method is used to change the state to cancel of the hotel restaurant reservation -------------------------------------------- @param self: object pointer
  • table_done(self)
    @api.multi
    This method is used to change the state to done of the hotel restaurant reservation -------------------------------------------- @param self: object pointer
  • table_reserved(self)
    @api.multi
    when CONFIRM BUTTON is clicked this method is called for table reservation @param self: The object pointer @return: change a state depending on the condition

New fields (2)
  • capacity Integer
    args: 'Capacity'
  • name Char
    index=True required=True args: 'Table Number'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • get_report_values(self, docids, data)
    @api.model

New fields (0)

No new fields.

Public methods (2)
  • get_report_values(self, docids, data)
    @api.model
  • get_res_data(self, date_start, date_end)

New fields (0)

No new fields.

Public methods (3)
  • get_data(self, date_start, date_end)
  • get_report_values(self, docids, data)
    @api.model
  • get_reserv(self, date_start, date_end)

New fields (0)

No new fields.

Public methods (3)
  • get_data(self, date_start, date_end)
  • get_report_values(self, docids, data)
    @api.model
  • get_rest(self, date_start, date_end)

New fields (2)
  • date_end Datetime
    required=True args: 'End Date'
  • date_start Datetime
    required=True args: 'Start Date'
Public methods (1)
  • print_report(self)
    @api.multi
REPOSITORY
REPOSITORYOCA/vertical-hotel
GIT
GIThttps://github.com/OCA/vertical-hotel.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/vertical-hotel/tree/10.0/hotel_restaurant
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYGeneric Modules/Hotel Restaurant
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Odoo S.A., Serpent Consulting Services Pvt. Ltd.
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Odoo S.A., Serpent Consulting Services Pvt. Ltd.
COMMITTERS
COMMITTERSPedro M. Baeza, GitHub, Stéphane Bidoul (ACSONE), Jay Vora(SerpentCS), Krishna Prajapati
WEBSITE
WEBSITEhttp://www.serpentcs.com
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:20:02
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/vertical-hotel:
    - hotel
odoo/odoo:
    - sale_stock
    - sale
    - sales_team
    - base
    - mail
    - base_setup
    - web_kanban
    - web
    - bus
    - web_tour
    - account
    - product
    - decimal_precision
    - report
    - analytic
    - web_planner
    - procurement
    - stock_account
    - stock
    - barcodes
    - point_of_sale
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (30)
XML IDNameModelTypeStatus
hotel_manucard_kanban_view Menucard Kanban hotel.menucard kanban New
report_hotel_order_kot report_hotel_order_kot ir.ui.view qweb New
report_order_bill report_order_bill ir.ui.view qweb New
report_res_order_bill report_res_order_bill ir.ui.view qweb New
report_res_table report_res_table ir.ui.view qweb New
report_reserv_order report_reserv_order ir.ui.view qweb New
report_rest_order report_rest_order ir.ui.view qweb New
view_folio_rest_reservation view.folio.rest.reservation folio.rest.reservation form New
view_hotel_menucard_form hotel.menucard.form hotel.menucard form New
view_hotel_menucard_search_new hotel.menucard.search hotel.menucard search New
view_hotel_menucard_tree hotel.menucard.tree hotel.menucard tree New
view_hotel_menucard_type_form hotel_menucard_type_form hotel.menucard.type form New
view_hotel_menucard_type_list hotel_menucard_type_list hotel.menucard.type tree New
view_hotel_reservation_order_form hotel_reservation_order.form hotel.reservation.order form New
view_hotel_reservation_order_search hotel.reservation.order.search hotel.reservation.order search New
view_hotel_reservation_order_tree hotel_reservation_order.tree hotel.reservation.order tree New
view_hotel_restaurant_kitchen_order_search hotel.restaurant.kitchen.order.tickets.search hotel.restaurant.kitchen.order.tickets search New
view_hotel_restaurant_kitchen_order_tickets_form hotel_restaurant_kitchen_order_tickets.form hotel.restaurant.kitchen.order.tickets form New
view_hotel_restaurant_kitchen_order_tickets_tree hotel_restaurant_kitchen_order_tickets.tree hotel.restaurant.kitchen.order.tickets tree New
view_hotel_restaurant_order_form hotel_restaurant_order.form hotel.restaurant.order form New
view_hotel_restaurant_order_search hotel.restaurant.order.search hotel.restaurant.order search New
view_hotel_restaurant_order_tree hotel_restaurant_order.tree hotel.restaurant.order tree New
view_hotel_restaurant_reservation_form hotel_restaurant_reservation.form hotel.restaurant.reservation form New
view_hotel_restaurant_reservation_search hotel.restaurant.reservation.search hotel.restaurant.reservation search New
view_hotel_restaurant_reservation_tree hotel_restaurant_reservation.tree hotel.restaurant.reservation tree New
view_hotel_restaurant_tables_form hotel_restaurant_tables.form hotel.restaurant.tables form New
view_hotel_restaurant_tables_search hotel_restaurant_tables.search hotel.restaurant.tables search New
view_hotel_restaurant_tables_tree hotel_restaurant_tables.tree hotel.restaurant.tables tree New
view_hotelfolio1_form1_inherited hotel.folio1.form1.inherited hotel.folio xpath Inherits hotel.view_hotel_folio1_form
wizard_hotel_restaurant_form_view wizard.hotel.restaurant.form wizard.hotel.restaurant form New
Models touched (15)

New fields (3)
  • check Boolean
    args: 'With Details'
  • date_end Datetime
    args: 'End Date'
  • date_start Datetime
    args: 'Start Date'
Public methods (2)
  • print_reserv_report(self)
    @api.multi
  • print_rest_report(self)
    @api.multi

New fields (2)
  • hotel_reservation_order_ids Many2many → hotel.reservation.order
    args: 'hotel.reservation.order', 'hotel_res_rel', 'hotel_folio_id', 'reste_id', 'Orders'
  • hotel_restaurant_order_ids Many2many → hotel.restaurant.order
    args: 'hotel.restaurant.order', 'hotel_res_resv', 'hfolio_id', 'reserves_id', 'Orders'
Public methods (0)

No public methods.

New fields (4)
  • categ_id Many2one → hotel.menucard.type
    required=True string='Food Item Category' args: 'hotel.menucard.type'
  • image Binary
    help='This field holds the image used as image for the product, limited to 1024x1024px.' args: 'Image'
  • product_id Many2one → product.product
    delegate=True index=True ondelete='cascade' required=True args: 'product.product', 'Product'
  • product_manager Many2one → res.users
    string='Product Manager' args: 'res.users'
Public methods (0)

No public methods.

New fields (3)
  • child_id One2many → hotel.menucard.type
    args: 'hotel.menucard.type', 'menu_id', 'Child Categories'
  • menu_id Many2one → hotel.menucard.type
    string='Food Item Type' args: 'hotel.menucard.type'
  • name Char
    required=True args: 'Name'
Public methods (2)
  • name_get(self)
    @api.multi
  • name_search(self, name, args=None, operator='ilike', limit=100)
    @api.model

New fields (14)
  • amount_subtotal Float
    compute='_compute_amount_all_total' method=True string='Subtotal'
  • amount_total Float
    compute='_compute_amount_all_total' method=True string='Total'
  • date1 Datetime
    default=<expr> required=True args: 'Date'
  • folio_id Many2one → hotel.folio
    string='Folio No' args: 'hotel.folio'
  • is_folio Boolean
    help='is customer residein hotel or not' args: 'Is a Hotel Guest??'
  • kitchen_id Integer
    args: 'Kitchen id'
  • order_list One2many → hotel.restaurant.order.list
    args: 'hotel.restaurant.order.list', 'o_l', 'Order List'
  • order_number Char
    readonly=True size=64 args: 'Order No'
  • reservationno Many2one → hotel.restaurant.reservation
    args: 'hotel.restaurant.reservation', 'Reservation No'
  • rest_id Many2many → hotel.restaurant.order.list
    args: 'hotel.restaurant.order.list', 'reserv_id', 'kitchen_id', 'res_kit_ids', 'Rest'
  • state Selection
    default=<expr> index=True readonly=True required=True args: [('draft', 'Draft'), ('order', 'Order Created'), ('done', 'Done')], 'State'
  • table_no Many2many → hotel.restaurant.tables
    args: 'hotel.restaurant.tables', 'temp_table4', 'table_no', 'name', 'Table Number'
  • tax Float
    size=64 args: 'Tax (%) '
  • waitername Many2one → res.partner
    args: 'res.partner', 'Waiter Name'
Public methods (4)
  • create(self, vals)
    @api.model
    Overrides orm create method. @param self: The object pointer @param vals: dictionary of fields value.
  • done_kot(self)
    @api.multi
    This method is used to change the state to done of the hotel reservation order ---------------------------------------- @param self: object pointer
  • reservation_generate_kot(self)
    @api.multi
    This method create new record for hotel restaurant order list. -------------------------------------------------------------- @param self: The object pointer @return: new record set for hotel restaurant order list.
  • reservation_update_kot(self)
    @api.multi
    This method update record for hotel restaurant order list. ---------------------------------------------------------- @param self: The object pointer @return: update record set for hotel restaurant order list.

New fields (7)
  • kot_date Datetime
    args: 'Date'
  • kot_list One2many → hotel.restaurant.order.list
    help='Kitchen order list' args: 'hotel.restaurant.order.list', 'kot_order_list', 'Order List'
  • orderno Char
    readonly=True size=64 args: 'Order Number'
  • resno Char
    size=64 args: 'Reservation Number'
  • room_no Char
    readonly=True size=64 args: 'Room No'
  • tableno Many2many → hotel.restaurant.tables
    help='Table reservation detail.' size=64 args: 'hotel.restaurant.tables', 'temp_table3', 'table_no', 'name', 'Table Number'
  • w_name Char
    readonly=True size=64 args: 'Waiter Name'
Public methods (0)

No public methods.

New fields (15)
  • amount_subtotal Float
    compute='_compute_amount_all_total' method=True string='Subtotal'
  • amount_total Float
    compute='_compute_amount_all_total' method=True string='Total'
  • cname Many2one → res.partner
    required=True size=64 string='Customer Name' args: 'res.partner'
  • folio_id Many2one → hotel.folio
    string='Folio No' args: 'hotel.folio'
  • is_folio Boolean
    help='is customer residein hotel or not' args: 'Is a Hotel Guest??'
  • kitchen_id Integer
    args: 'Kitchen id'
  • o_date Datetime
    default=<expr> required=True args: 'Order Date'
  • order_list One2many → hotel.restaurant.order.list
    args: 'hotel.restaurant.order.list', 'o_list', 'Order List'
  • order_no Char
    readonly=True size=64 args: 'Order Number'
  • rest_item_id Many2many → hotel.restaurant.order.list
    args: 'hotel.restaurant.order.list', 'restau_kitc_ids', 'restau_id', 'kit_id', 'Rest'
  • room_no Many2one → product.product
    size=64 string='Room No' args: 'product.product'
  • state Selection
    default=<expr> index=True readonly=True required=True args: [('draft', 'Draft'), ('order', 'Order Created'), ('done', 'Done'), ('cancel', 'Cancelled')], 'State'
  • table_no Many2many → hotel.restaurant.tables
    args: 'hotel.restaurant.tables', 'temp_table2', 'table_no', 'name', 'Table Number'
  • tax Float
    args: 'Tax (%) '
  • waiter_name Many2one → res.partner
    args: 'res.partner', 'Waiter Name'
Public methods (7)
  • create(self, vals)
    @api.model
    Overrides orm create method. @param self: The object pointer @param vals: dictionary of fields value.
  • done_cancel(self)
    @api.multi
    This method is used to change the state to cancel of the hotel restaurant order ---------------------------------------- @param self: object pointer
  • done_order_kot(self)
    @api.multi
    This method is used to change the state to done of the hotel restaurant order ---------------------------------------- @param self: object pointer
  • generate_kot(self)
    @api.multi
    This method create new record for hotel restaurant order list. @param self: The object pointer @return: new record set for hotel restaurant order list.
  • generate_kot_update(self)
    @api.multi
    This method update record for hotel restaurant order list. ---------------------------------------------------------- @param self: The object pointer @return: update record set for hotel restaurant order list.
  • get_folio_id(self)
    @api.onchange('folio_id')
    When you change folio_id, based on that it will update the cname and room_number as well --------------------------------------------------------- @param self: object pointer
  • set_to_draft(self)
    @api.multi
    This method is used to change the state to draft of the hotel restaurant order ---------------------------------------- @param self: object pointer

New fields (7)
  • item_qty Integer
    required=True size=64 args: 'Qty'
  • item_rate Float
    size=64 args: 'Rate'
  • kot_order_list Many2one → hotel.restaurant.kitchen.order.tickets
    args: 'hotel.restaurant.kitchen.order.tickets', 'Kitchen Order Tickets'
  • name Many2one → hotel.menucard
    required=True args: 'hotel.menucard', 'Item Name'
  • o_l Many2one → hotel.reservation.order
    args: 'hotel.reservation.order', 'Reservation Order'
  • o_list Many2one → hotel.restaurant.order
    args: 'hotel.restaurant.order', 'Restaurant Order'
  • price_subtotal Float
    compute='_compute_price_subtotal' method=True string='Subtotal'
Public methods (1)
  • on_change_item_name(self)
    @api.onchange('name')
    item rate will display on change of item name --------------------------------------------- @param self: object pointer

New fields (10)
  • cname Many2one → res.partner
    index=True required=True size=64 string='Customer Name' args: 'res.partner'
  • end_date Datetime
    required=True args: 'End Time'
  • folio_id Many2one → hotel.folio
    string='Folio No' args: 'hotel.folio'
  • is_folio Boolean
    args: 'Is a Hotel Guest??'
  • partner_address_id Many2one → res.partner
    string='Address' args: 'res.partner'
  • reservation_id Char
    index=True readonly=True size=64 args: 'Reservation No'
  • room_no Many2one → product.product
    index=True size=64 string='Room No' args: 'product.product'
  • start_date Datetime
    default=<expr> required=True args: 'Start Time'
  • state Selection
    default=<expr> index=True readonly=True required=True args: [('draft', 'Draft'), ('confirm', 'Confirmed'), ('done', 'Done'), ('cancel', 'Cancelled'), ('order', 'Order Created')], 'state'
  • tableno Many2many → hotel.restaurant.tables
    column1='reservation_table_id' column2='name' help='Table reservation detail. ' index=True relation='reservation_table' string='Table Number' args: 'hotel.restaurant.tables'
Public methods (9)
  • action_set_to_draft(self)
    @api.multi
    This method is used to change the state to draft of the hotel restaurant reservation -------------------------------------------- @param self: object pointer
  • check_start_dates(self)
    @api.constrains('start_date', 'end_date')
    This method is used to validate the start_date and end_date. ------------------------------------------------------------- @param self: object pointer @return: raise a warning depending on the validation
  • create(self, vals)
    @api.model
    Overrides orm create method. @param self: The object pointer @param vals: dictionary of fields value.
  • create_order(self)
    @api.multi
    This method is for create a new order for hotel restaurant reservation .when table is booked and create order button is clicked then this method is called and order is created.you can see this created order in "Orders" ------------------------------------------------------------ @param self: The object pointer @return: new record set for hotel restaurant reservation.
  • get_folio_id(self)
    @api.onchange('folio_id')
    When you change folio_id, based on that it will update the cname and room_number as well --------------------------------------------------------- @param self: object pointer
  • onchange_partner_id(self)
    @api.onchange('cname')
    When Customer name is changed respective adress will display in Adress field @param self: object pointer
  • table_cancel(self)
    @api.multi
    This method is used to change the state to cancel of the hotel restaurant reservation -------------------------------------------- @param self: object pointer
  • table_done(self)
    @api.multi
    This method is used to change the state to done of the hotel restaurant reservation -------------------------------------------- @param self: object pointer
  • table_reserved(self)
    @api.multi
    when CONFIRM BUTTON is clicked this method is called for table reservation @param self: The object pointer @return: change a state depending on the condition

New fields (2)
  • capacity Integer
    args: 'Capacity'
  • name Char
    index=True required=True size=64 args: 'Table Number'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • render_html(self, docids, data)
    @api.model

New fields (0)

No new fields.

Public methods (2)
  • get_res_data(self, date_start, date_end)
  • render_html(self, docids, data=None)
    @api.model

New fields (0)

No new fields.

Public methods (3)
  • get_data(self, date_start, date_end)
  • get_reserv(self, date_start, date_end)
  • render_html(self, docids, data=None)
    @api.model

New fields (0)

No new fields.

Public methods (3)
  • get_data(self, date_start, date_end)
  • get_rest(self, date_start, date_end)
  • render_html(self, docids, data=None)
    @api.model

New fields (2)
  • date_end Datetime
    required=True args: 'End Date'
  • date_start Datetime
    required=True args: 'Start Date'
Public methods (1)
  • print_report(self)
    @api.multi
REPOSITORY
REPOSITORYOCA/vertical-hotel
GIT
GIThttps://github.com/OCA/vertical-hotel.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/vertical-hotel/tree/9.0/hotel_restaurant
VERSION
VERSION 1.0
CATEGORY
CATEGORYGeneric Modules/Hotel Restaurant
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Tiny
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Tiny
COMMITTERS
COMMITTERSPedro M. Baeza, Stéphane Bidoul (ACSONE)
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:15:24
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/vertical-hotel:
    - hotel
odoo/odoo:
    - base
    - sale
    - sales_team
    - mail
    - base_setup
    - web_kanban
    - web
    - bus
    - account
    - product
    - decimal_precision
    - report
    - analytic
    - web_tip
    - web_planner
    - procurement
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
    Module for Hotel/Resort/Restaurant management. You can manage:
    * Configure Property
    * Restaurant Configuration
    * table reservation
    * Generate and process Kitchen Order ticket,
    * Payment

    Different reports are also provided, mainly for Restaurant.
    

Code Analysis

Views touched (17)
XML IDNameModelTypeStatus
view_hotel_menucard_form hotel.menucard.form hotel.menucard form New
view_hotel_menucard_search hotel.menucard.search hotel.menucard search New
view_hotel_menucard_tree hotel.menucard.tree hotel.menucard tree New
view_hotel_menucard_type_form hotel_menucard_type_form hotel.menucard.type form New
view_hotel_menucard_type_list hotel_menucard_type_list hotel.menucard.type tree New
view_hotel_reservation_order_form hotel_reservation_order.form hotel.reservation.order form New
view_hotel_reservation_order_tree hotel_reservation_order.tree hotel.reservation.order tree New
view_hotel_restaurant_kitchen_order_tickets_form hotel_restaurant_kitchen_order_tickets.form hotel.restaurant.kitchen.order.tickets form New
view_hotel_restaurant_kitchen_order_tickets_tree hotel_restaurant_kitchen_order_tickets.tree hotel.restaurant.kitchen.order.tickets tree New
view_hotel_restaurant_order_form hotel_restaurant_order.form hotel.restaurant.order form New
view_hotel_restaurant_order_tree hotel_restaurant_order.tree hotel.restaurant.order tree New
view_hotel_restaurant_reservation_form hotel_restaurant_reservation.form hotel.restaurant.reservation form New
view_hotel_restaurant_reservation_tree hotel_restaurant_reservation.tree hotel.restaurant.reservation tree New
view_hotel_restaurant_tables_form hotel_restaurant_tables.form hotel.restaurant.tables form New
view_hotel_restaurant_tables_search hotel_restaurant_tables.search hotel.restaurant.tables search New
view_hotel_restaurant_tables_tree hotel_restaurant_tables.tree hotel.restaurant.tables tree New
wizard_hotel_restaurant_form_view wizard.hotel.restaurant.form wizard.hotel.restaurant form New
Models touched (0)

No models found for this module.

REPOSITORY
REPOSITORYOCA/vertical-hotel
GIT
GIThttps://github.com/OCA/vertical-hotel.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/vertical-hotel/tree/8.0/hotel_restaurant
VERSION
VERSION 1.0
CATEGORY
CATEGORYGeneric Modules/Hotel Restaurant
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Tiny
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Tiny
COMMITTERS
COMMITTERSStéphane Bidoul, Alexandre Fayolle, Stéphane Bidoul (ACSONE)
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:11:27
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/vertical-hotel:
    - hotel
odoo/odoo:
    - base
    - sale
    - sales_team
    - mail
    - base_setup
    - web_kanban
    - web
    - web_kanban_sparkline
    - account_voucher
    - account
    - product
    - decimal_precision
    - report
    - analytic
    - board
    - edi
    - email_template
    - procurement
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
    Module for Hotel/Resort/Restaurant management. You can manage:
    * Configure Property
    * Restaurant Configuration
    * table reservation
    * Generate and process Kitchen Order ticket,
    * Payment

    Different reports are also provided, mainly for Restaurant.
    

Code Analysis

Views touched (17)
XML IDNameModelTypeStatus
view_hotel_menucard_form hotel.menucard.form hotel.menucard form New
view_hotel_menucard_search hotel.menucard.search hotel.menucard search New
view_hotel_menucard_tree hotel.menucard.tree hotel.menucard tree New
view_hotel_menucard_type_form hotel_menucard_type_form hotel.menucard.type form New
view_hotel_menucard_type_list hotel_menucard_type_list hotel.menucard.type tree New
view_hotel_reservation_order_form hotel_reservation_order.form hotel.reservation.order form New
view_hotel_reservation_order_tree hotel_reservation_order.tree hotel.reservation.order tree New
view_hotel_restaurant_kitchen_order_tickets_form hotel_restaurant_kitchen_order_tickets.form hotel.restaurant.kitchen.order.tickets form New
view_hotel_restaurant_kitchen_order_tickets_tree hotel_restaurant_kitchen_order_tickets.tree hotel.restaurant.kitchen.order.tickets tree New
view_hotel_restaurant_order_form hotel_restaurant_order.form hotel.restaurant.order form New
view_hotel_restaurant_order_tree hotel_restaurant_order.tree hotel.restaurant.order tree New
view_hotel_restaurant_reservation_form hotel_restaurant_reservation.form hotel.restaurant.reservation form New
view_hotel_restaurant_reservation_tree hotel_restaurant_reservation.tree hotel.restaurant.reservation tree New
view_hotel_restaurant_tables_form hotel_restaurant_tables.form hotel.restaurant.tables form New
view_hotel_restaurant_tables_search hotel_restaurant_tables.search hotel.restaurant.tables search New
view_hotel_restaurant_tables_tree hotel_restaurant_tables.tree hotel.restaurant.tables tree New
wizard_hotel_restaurant_form_view wizard.hotel.restaurant.form wizard.hotel.restaurant form New
Models touched (0)

No models found for this module.

REPOSITORY
REPOSITORYOCA/vertical-hotel
GIT
GIThttps://github.com/OCA/vertical-hotel.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/vertical-hotel/tree/7.0/hotel_restaurant
VERSION
VERSION 1.0
CATEGORY
CATEGORYGeneric Modules/Hotel Restaurant
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Tiny
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Tiny
COMMITTERS
COMMITTERSAlexandre Fayolle
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:07:16
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/vertical-hotel:
    - hotel
odoo/odoo:
    - base
    - sale
    - account_voucher
    - account
    - base_setup
    - web_kanban
    - web
    - product
    - process
    - decimal_precision
    - mail
    - analytic
    - board
    - edi
    - email_template
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
    Module for Hotel/Resort/Restaurant management. You can manage:
    * Configure Property
    * Restaurant Configuration
    * table reservation
    * Generate and process Kitchen Order ticket,
    * Payment

    Different reports are also provided, mainly for Restaurant.
    

Code Analysis

Views touched (17)
XML IDNameModelTypeStatus
view_hotel_menucard_form hotel.menucard.form hotel.menucard form New
view_hotel_menucard_search hotel.menucard.search hotel.menucard search New
view_hotel_menucard_tree hotel.menucard.tree hotel.menucard tree New
view_hotel_menucard_type_form hotel_menucard_type_form hotel.menucard.type form New
view_hotel_menucard_type_list hotel_menucard_type_list hotel.menucard.type tree New
view_hotel_reservation_order_form hotel_reservation_order.form hotel.reservation.order form New
view_hotel_reservation_order_tree hotel_reservation_order.tree hotel.reservation.order tree New
view_hotel_restaurant_kitchen_order_tickets_form hotel_restaurant_kitchen_order_tickets.form hotel.restaurant.kitchen.order.tickets form New
view_hotel_restaurant_kitchen_order_tickets_tree hotel_restaurant_kitchen_order_tickets.tree hotel.restaurant.kitchen.order.tickets tree New
view_hotel_restaurant_order_form hotel_restaurant_order.form hotel.restaurant.order form New
view_hotel_restaurant_order_tree hotel_restaurant_order.tree hotel.restaurant.order tree New
view_hotel_restaurant_reservation_form hotel_restaurant_reservation.form hotel.restaurant.reservation form New
view_hotel_restaurant_reservation_tree hotel_restaurant_reservation.tree hotel.restaurant.reservation tree New
view_hotel_restaurant_tables_form hotel_restaurant_tables.form hotel.restaurant.tables form New
view_hotel_restaurant_tables_search hotel_restaurant_tables.search hotel.restaurant.tables search New
view_hotel_restaurant_tables_tree hotel_restaurant_tables.tree hotel.restaurant.tables tree New
wizard_hotel_restaurant_form_view wizard.hotel.restaurant.form wizard.hotel.restaurant form New
Models touched (0)

No models found for this module.

REPOSITORY
REPOSITORYOCA/vertical-hotel
GIT
GIThttps://github.com/OCA/vertical-hotel.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/vertical-hotel/tree/6.1/hotel_restaurant
VERSION
VERSION 1.0
CATEGORY
CATEGORYGeneric Modules/Hotel Restaurant
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Tiny
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Tiny
COMMITTERS
COMMITTERSSerpent Consulting Services, Alexandre Fayolle, Anup(SerpentCS), Atul Makwana(SerpentCS)
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:04:07
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/vertical-hotel:
    - hotel
odoo/odoo:
    - base
    - product
    - process
    - decimal_precision
    - sale
    - stock
    - account
    - base_setup
    - analytic
    - board
    - edi
    - email_template
    - mail
    - base_tools
    - procurement
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
    Module for Hotel/Resort/Restaurant management. You can manage:
    * Configure Property
    * Restaurant Configuration
    * table reservation
    * Generate and process Kitchen Order ticket,
    * Payment

    Different reports are also provided, mainly for Restaurant.
    

Code Analysis

Views touched (17)
XML IDNameModelTypeStatus
view_hotel_menucard_form hotel.menucard.form hotel.menucard form New
view_hotel_menucard_search hotel.menucard.search hotel.menucard search New
view_hotel_menucard_tree hotel.menucard.tree hotel.menucard tree New
view_hotel_menucard_type_form hotel_menucard_type_form hotel.menucard.type form New
view_hotel_menucard_type_list hotel_menucard_type_list hotel.menucard.type tree New
view_hotel_reservation_order_form hotel_reservation_order.form hotel.reservation.order form New
view_hotel_reservation_order_tree hotel_reservation_order.tree hotel.reservation.order tree New
view_hotel_restaurant_kitchen_order_tickets_form hotel_restaurant_kitchen_order_tickets.form hotel.restaurant.kitchen.order.tickets form New
view_hotel_restaurant_kitchen_order_tickets_tree hotel_restaurant_kitchen_order_tickets.tree hotel.restaurant.kitchen.order.tickets tree New
view_hotel_restaurant_order_form hotel_restaurant_order.form hotel.restaurant.order form New
view_hotel_restaurant_order_tree hotel_restaurant_order.tree hotel.restaurant.order tree New
view_hotel_restaurant_reservation_form hotel_restaurant_reservation.form hotel.restaurant.reservation form New
view_hotel_restaurant_reservation_tree hotel_restaurant_reservation.tree hotel.restaurant.reservation tree New
view_hotel_restaurant_tables_form hotel_restaurant_tables.form hotel.restaurant.tables form New
view_hotel_restaurant_tables_search hotel_restaurant_tables.search hotel.restaurant.tables search New
view_hotel_restaurant_tables_tree hotel_restaurant_tables.tree hotel.restaurant.tables tree New
wizard_hotel_restaurant_form_view wizard.hotel.restaurant.form wizard.hotel.restaurant form New
Models touched (0)

No models found for this module.