Housekeeping

pms_housekeeping
REPOSITORY
REPOSITORYOCA/pms
GIT
GIThttps://github.com/OCA/pms.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/pms/tree/14.0/pms_housekeeping
VERSION
VERSION 1.0.1
CATEGORY
CATEGORYpms
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONYes
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Commit [Sun]
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Commit [Sun]
COMMITTERS
COMMITTERSGitHub, oca-travis, Weblate, OCA-git-bot, Darío Lodeiros, oca-ci, Sara Lago
WEBSITE
WEBSITEhttps://github.com/OCA/pms
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:41:11
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/account-reconcile:
    - account_reconciliation_widget
OCA/partner-contact:
    - partner_firstname
    - partner_second_lastname
    - partner_contact_gender
    - partner_contact_personal_information_page
    - partner_contact_birthdate
    - partner_contact_nationality
    - partner_identification
OCA/pms:
    - pms
    - multi_pms_properties
    - pms_hr_property
OCA/queue:
    - queue_job
OCA/web:
    - web_timeline
odoo/odoo:
    - base
    - base_automation
    - resource
    - web
    - mail
    - base_setup
    - bus
    - web_tour
    - sales_team
    - account
    - product
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - base_sparse_field
    - contacts
    - sale
    - payment
    - utm
    - hr
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES requests
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (6)
XML IDNameModelTypeStatus
hr_housekeeping_employee_form hr.employee xpath Inherits hr.view_employee_form
pms_housekeeping_room pms.room xpath Inherits pms.pms_room_view_form
view_pms_housekeeping_task_form pms.housekeeping.task.form pms.housekeeping.task form New
view_pms_housekeeping_task_tree pms.housekeeping.task.tree pms.housekeeping.task tree New
view_pms_housekeeping_task_type_form pms.housekeeping.task.type.form pms.housekeeping.task.type form New
view_pms_housekeeping_task_type_tree pms.housekeeping.task.type.tree pms.housekeeping.task.type tree New
Models touched (5)

New fields (3)
  • allowed_pre_assigned_room_ids Many2many → pms.room
    comodel_name='pms.room' compute='_compute_allowed_pre_assigned_room_ids' help='Rooms allowed to be pre assigned to this employee' string='Allowed Pre Assigned Rooms'
  • job_name Char
    compute='_compute_job_name' string='Job Name'
  • pre_assigned_room_ids Many2many → pms.room
    comodel_name='pms.room' help='Rooms pre assigned to this employee' string='Pre Assigned Rooms'
Public methods (0)

No public methods.

New fields (2)
  • description Text
    string='Description'
  • name Char
    required=True string='Name'
Public methods (0)

No public methods.

New fields (18)
  • allowed_housekeeper_ids Many2many → hr.employee
    comodel_name='hr.employee' compute='_compute_allowed_housekeeper_ids' string='Allowed Housekeepers'
  • cancel_allowed Boolean
    compute='_compute_cancel_allowed' string='Is Cancel Allowed'
  • cancellation_type_id Many2one → pms.housekeeping.cancellation.type
    comodel_name='pms.housekeeping.cancellation.type' ondelete='restrict' string='Cancellation Type'
  • child_ids One2many → pms.housekeeping.task
    comodel_name='pms.housekeeping.task' help='Indicates that this task has child tasks' inverse_name='parent_id' string='Child Tasks'
  • cleaning_comments Text
    string='Cleaning Comments'
  • done_allowed Boolean
    compute='_compute_done_allowed' string='Is Done Allowed'
  • housekeeper_ids Many2many → hr.employee
    column1='task_id' column2='employee_id' comodel_name='hr.employee' compute='_compute_housekeeper_ids' domain="[('job_id.name', '=', 'Housekeeper')]" readonly=False relation='pms_housekeeping_task_hr_employee_rel' store=True string='Housekeepers'
  • in_progress_allowed Boolean
    compute='_compute_in_progress_allowed' string='Is In Progress Allowed'
  • name Char
    required=True string='Name'
  • parent_id Many2one → pms.housekeeping.task
    comodel_name='pms.housekeeping.task' domain="[('id', '!=', id)]" help='Indicates that this task is a child of another task' string='Parent Task'
  • parent_state Char
    compute='_compute_parent_state' string='Parent State'
  • pending_allowed Boolean
    compute='_compute_pending_allowed' string='Is pending allowed'
  • priority Integer
    computed='_compute_priority' default=0 readonly=False store=True string='Priority'
  • room_id Many2one → pms.room
    comodel_name='pms.room' ondelete='restrict' required=True string='Room'
  • state Selection
    default='pending' required=True selection=[('pending', 'Pending'), ('to_do', 'To Do'), ('in_progress', 'In Progress'), ('done', 'Done'), ('cancel', 'Cancel')] string='State'
  • task_date Date
    required=True string='Date'
  • task_type_id Many2one → pms.housekeeping.task.type
    comodel_name='pms.housekeeping.task.type' ondelete='restrict' required=True string='Task Type'
  • to_do_allowed Boolean
    compute='_compute_to_do_allowed' string='Is To Do Allowed'
Public methods (9)
  • action_cancel(self)
  • action_done(self)
  • action_in_progress(self)
  • action_pending(self)
  • action_to_do(self)
  • create(self, vals)
    @api.model
  • create_housekeeping_tasks(self, room, task_type)
  • generate_task_properties(self)
  • generate_tasks(self, pms_property_id)
    @api.model

New fields (15)
  • child_ids One2many → pms.housekeeping.task.type
    comodel_name='pms.housekeeping.task.type' inverse_name='parent_id' string='Child Task Types'
  • days_after_clean_empty Integer
    string='Days After Clean Empty'
  • days_after_clean_overnight Integer
    string='Days After Clean Overnight'
  • description Text
    string='Description'
  • housekeeper_ids Many2many → hr.employee
    column1='task_type_id' column2='employee_id' comodel_name='hr.employee' relation='pms_housekeeping_task_type_hr_employee_rel' string='Housekeepers'
  • is_automated Boolean
    string='Is Automated'
  • is_checkin Boolean
    string='Checkin'
  • is_checkout Boolean
    string='Checkout'
  • is_empty Boolean
    string='Empty'
  • is_inspection Boolean
    string='Inspection'
  • is_overnight Boolean
    string='Overnight'
  • name Char
    required=True string='Name'
  • parent_id Many2one → pms.housekeeping.task.type
    comodel_name='pms.housekeeping.task.type' domain="[('id', '!=', id)]" help='Indicates that this task type is a child of another task type' string='Parent Task Type'
  • pms_property_ids Many2many → pms.property
    column1='task_type_id' column2='property_id' comodel_name='pms.property' relation='pms_housekeeping_task_type_pms_property_rel' string='Properties'
  • priority Integer
    default=0 string='Priority'
Public methods (0)

No public methods.

New fields (1)
  • housekeeping_state Selection
    default='dirty' required=True selection=[('dirty', 'Dirty'), ('to_inspect', 'To Inspect'), ('clean', 'Clean')] string='Housekeeping State'
Public methods (0)

No public methods.