From 34fa74b4c26405f8270bc8a24b659df04732f146 Mon Sep 17 00:00:00 2001 From: Maxime Chambreuil Date: Fri, 19 Nov 2021 16:25:59 -0600 Subject: [PATCH] [ADD] pms_base --- .travis.yml | 5 +- pms_base/README.rst | 109 ++ pms_base/__init__.py | 2 + pms_base/__manifest__.py | 38 + pms_base/data/pms_amenity_type.xml | 27 + pms_base/data/pms_room_type.xml | 98 ++ pms_base/data/pms_stage.xml | 23 + pms_base/data/pms_team.xml | 7 + pms_base/i18n/es.po | 1851 ++++++++++++++++++++++++ pms_base/i18n/pms_base.pot | 1847 +++++++++++++++++++++++ pms_base/models/__init__.py | 19 + pms_base/models/pms_amenity.py | 33 + pms_base/models/pms_amenity_type.py | 14 + pms_base/models/pms_property.py | 288 ++++ pms_base/models/pms_room.py | 47 + pms_base/models/pms_room_type.py | 17 + pms_base/models/pms_service.py | 41 + pms_base/models/pms_stage.py | 51 + pms_base/models/pms_tag.py | 33 + pms_base/models/pms_team.py | 41 + pms_base/models/res_company.py | 15 + pms_base/models/res_config_settings.py | 39 + pms_base/models/res_partner.py | 9 + pms_base/readme/CONFIGURE.rst | 1 + pms_base/readme/CONTRIBUTORS.rst | 14 + pms_base/readme/DESCRIPTION.rst | 3 + pms_base/readme/USAGE.rst | 1 + pms_base/security/ir.model.access.csv | 20 + pms_base/security/ir_rule.xml | 13 + pms_base/security/res_groups.xml | 38 + pms_base/static/description/icon.png | Bin 0 -> 24626 bytes pms_base/static/description/index.html | 455 ++++++ pms_base/views/menu.xml | 152 ++ pms_base/views/pms_amenity.xml | 66 + pms_base/views/pms_amenity_type.xml | 44 + pms_base/views/pms_property.xml | 311 ++++ pms_base/views/pms_room.xml | 93 ++ pms_base/views/pms_room_type.xml | 44 + pms_base/views/pms_service.xml | 85 ++ pms_base/views/pms_stage.xml | 81 ++ pms_base/views/pms_tag.xml | 55 + pms_base/views/pms_team.xml | 106 ++ pms_base/views/res_config_settings.xml | 230 +++ pms_base/views/res_partner_view.xml | 47 + requirements.txt | 3 - setup/pms_base/odoo/addons/pms_base | 1 + setup/pms_base/setup.py | 6 + 47 files changed, 6517 insertions(+), 6 deletions(-) create mode 100644 pms_base/README.rst create mode 100644 pms_base/__init__.py create mode 100644 pms_base/__manifest__.py create mode 100644 pms_base/data/pms_amenity_type.xml create mode 100644 pms_base/data/pms_room_type.xml create mode 100644 pms_base/data/pms_stage.xml create mode 100644 pms_base/data/pms_team.xml create mode 100644 pms_base/i18n/es.po create mode 100644 pms_base/i18n/pms_base.pot create mode 100644 pms_base/models/__init__.py create mode 100644 pms_base/models/pms_amenity.py create mode 100644 pms_base/models/pms_amenity_type.py create mode 100644 pms_base/models/pms_property.py create mode 100644 pms_base/models/pms_room.py create mode 100644 pms_base/models/pms_room_type.py create mode 100644 pms_base/models/pms_service.py create mode 100644 pms_base/models/pms_stage.py create mode 100644 pms_base/models/pms_tag.py create mode 100644 pms_base/models/pms_team.py create mode 100644 pms_base/models/res_company.py create mode 100644 pms_base/models/res_config_settings.py create mode 100644 pms_base/models/res_partner.py create mode 100644 pms_base/readme/CONFIGURE.rst create mode 100644 pms_base/readme/CONTRIBUTORS.rst create mode 100644 pms_base/readme/DESCRIPTION.rst create mode 100644 pms_base/readme/USAGE.rst create mode 100644 pms_base/security/ir.model.access.csv create mode 100644 pms_base/security/ir_rule.xml create mode 100644 pms_base/security/res_groups.xml create mode 100644 pms_base/static/description/icon.png create mode 100644 pms_base/static/description/index.html create mode 100644 pms_base/views/menu.xml create mode 100644 pms_base/views/pms_amenity.xml create mode 100644 pms_base/views/pms_amenity_type.xml create mode 100644 pms_base/views/pms_property.xml create mode 100644 pms_base/views/pms_room.xml create mode 100644 pms_base/views/pms_room_type.xml create mode 100644 pms_base/views/pms_service.xml create mode 100644 pms_base/views/pms_stage.xml create mode 100644 pms_base/views/pms_tag.xml create mode 100644 pms_base/views/pms_team.xml create mode 100644 pms_base/views/res_config_settings.xml create mode 100644 pms_base/views/res_partner_view.xml create mode 120000 setup/pms_base/odoo/addons/pms_base create mode 100644 setup/pms_base/setup.py diff --git a/.travis.yml b/.travis.yml index af5b1191a..73d8cbe4b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -20,11 +20,10 @@ jobs: include: - stage: test env: - - TESTS=1 ODOO_REPO="odoo/odoo" MAKEPOT="1" OPTIONS="--load - web,multi_pms_properties" + - TESTS=1 ODOO_REPO="odoo/odoo" MAKEPOT="1" - stage: test env: - - TESTS=1 ODOO_REPO="OCA/OCB" OPTIONS="--load web,multi_pms_properties" + - TESTS=1 ODOO_REPO="OCA/OCB" env: global: - VERSION="14.0" TESTS="0" LINT_CHECK="0" MAKEPOT="0" diff --git a/pms_base/README.rst b/pms_base/README.rst new file mode 100644 index 000000000..c7dc5bd70 --- /dev/null +++ b/pms_base/README.rst @@ -0,0 +1,109 @@ +================================ +PMS (Property Management System) +================================ + +.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Alpha-red.png + :target: https://odoo-community.org/page/development-status + :alt: Alpha +.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fpms-lightgray.png?logo=github + :target: https://github.com/OCA/pms/tree/14.0/pms + :alt: OCA/pms +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/pms-14-0/pms-14-0-pms + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png + :target: https://runbot.odoo-community.org/runbot/293/14.0 + :alt: Try me on Runbot + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module is an all-in-one property management system (PMS) focused on medium-sized properties +for managing every aspect of your property's daily operations. + +You can manage properties with multi-property and multi-company support, including your rooms inventory, +reservations, check-in, daily reports, board services, rate and availability plans among other property functionalities. + +.. IMPORTANT:: + This is an alpha version, the data model and design can change at any time without warning. + Only for development or testing purpose, do not use in production. + `More details on development status `_ + +**Table of contents** + +.. contents:: + :local: + +Installation +============ + +This module depends on modules ``base``, ``mail``, ``sale`` and ``multi_pms_properties``. +Ensure yourself to have all them in your addons list. + +Configuration +============= + +You will find the hotel settings in PMS Management > Configuration > Properties > Your Property. + +This module required additional configuration for company, accounting, invoicing and user privileges. + +Usage +===== + +To use this module, please, read the complete user guide at ``_. + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us smashing it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +~~~~~~~ + +* Commit [Sun] + +Contributors +~~~~~~~~~~~~ + +* Alexandre Díaz +* Pablo Quesada +* Jose Luis Algara +* `Commit [Sun] `: + + * Dario Lodeiros + * Eric Antones + * Sara Lago + * Brais Abeijon + * Miguel Padin + +Maintainers +~~~~~~~~~~~ + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +This module is part of the `OCA/pms `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/pms_base/__init__.py b/pms_base/__init__.py new file mode 100644 index 000000000..02179fb04 --- /dev/null +++ b/pms_base/__init__.py @@ -0,0 +1,2 @@ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +from . import models diff --git a/pms_base/__manifest__.py b/pms_base/__manifest__.py new file mode 100644 index 000000000..9dcc9a688 --- /dev/null +++ b/pms_base/__manifest__.py @@ -0,0 +1,38 @@ +# Copyright 2019 Darío Lodeiros, Alexandre Díaz, Jose Luis Algara, Pablo Quesada +# Copyright (c) 2021 Open Source Integrators +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +{ + "name": "Property Management System", + "summary": "Manage properties", + "version": "14.0.1.0.0", + "development_status": "Alpha", + "category": "Generic Modules/Property Management System", + "website": "https://github.com/OCA/pms", + "author": "Commit [Sun], Open Source Integrators, Odoo Community Association (OCA)", + "maintainers": ["eantones"], + "license": "AGPL-3", + "application": True, + "depends": ["base_geolocalize", "mail", "product"], + "data": [ + "security/res_groups.xml", + "security/ir.model.access.csv", + "security/ir_rule.xml", + "data/pms_stage.xml", + "data/pms_team.xml", + "data/pms_amenity_type.xml", + "data/pms_room_type.xml", + "views/pms_tag.xml", + "views/pms_stage.xml", + "views/pms_amenity_type.xml", + "views/pms_amenity.xml", + "views/pms_room_type.xml", + "views/pms_room.xml", + "views/pms_service.xml", + "views/pms_property.xml", + "views/res_config_settings.xml", + "views/pms_team.xml", + "views/menu.xml", + "views/res_partner_view.xml", + ], +} diff --git a/pms_base/data/pms_amenity_type.xml b/pms_base/data/pms_amenity_type.xml new file mode 100644 index 000000000..aecdf2052 --- /dev/null +++ b/pms_base/data/pms_amenity_type.xml @@ -0,0 +1,27 @@ + + + + Toiletries + + + + Connectivity + + + + Kitchen facilities + + + + Laundry Room + + + + Parking Lot + + + + Pets + + + diff --git a/pms_base/data/pms_room_type.xml b/pms_base/data/pms_room_type.xml new file mode 100644 index 000000000..48c694d33 --- /dev/null +++ b/pms_base/data/pms_room_type.xml @@ -0,0 +1,98 @@ + + + + Economic + + + + Single + + + + Double + + + + Triple + + + + Conference Room + + + + Bathroom + 10 + + + + Bedroom + 20 + + + + Kitchen + 30 + + + + Livingroom + 40 + + + + Diningroom + 50 + + + + Playroom + 60 + + + + Terrace/Patio + 64 + + + + Balcony + 67 + + + + Hall + 70 + + + + Garage + 80 + + + + Basement + 90 + + + + Laundry Room + 100 + + + + Parking Lot + 110 + + + + Pets + 120 + + + + Half Bathroom + 130 + + + diff --git a/pms_base/data/pms_stage.xml b/pms_base/data/pms_stage.xml new file mode 100644 index 000000000..4aaae69de --- /dev/null +++ b/pms_base/data/pms_stage.xml @@ -0,0 +1,23 @@ + + + + New + 10 + True + property + + + + Available + 20 + property + + + + Cancelled + 99 + True + property + + + diff --git a/pms_base/data/pms_team.xml b/pms_base/data/pms_team.xml new file mode 100644 index 000000000..40bb1af16 --- /dev/null +++ b/pms_base/data/pms_team.xml @@ -0,0 +1,7 @@ + + + + Default Team + + + diff --git a/pms_base/i18n/es.po b/pms_base/i18n/es.po new file mode 100644 index 000000000..9331ac03c --- /dev/null +++ b/pms_base/i18n/es.po @@ -0,0 +1,1851 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * pms_base +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0+e-20211202\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-12-23 19:22+0000\n" +"PO-Revision-Date: 2021-12-23 19:22+0000\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_team_kanban +msgid "" +"
\n" +" Properties" +msgstr "" +"
\n" +" Propiedades" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_res_config_settings_form +msgid "Accounting" +msgstr "Contabilidad" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__message_needaction +#: model:ir.model.fields,field_description:pms_base.field_pms_team__message_needaction +msgid "Action Needed" +msgstr "Acciones necesarias" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_amenity__active +#: model:ir.model.fields,field_description:pms_base.field_pms_amenity_type__active +#: model:ir.model.fields,field_description:pms_base.field_pms_property__active +#: model:ir.model.fields,field_description:pms_base.field_pms_room__active +#: model:ir.model.fields,field_description:pms_base.field_pms_service__active +msgid "Active" +msgstr "Activo" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__active_lang_count +msgid "Active Lang Count" +msgstr "Numéro de idiomas activas" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__activity_ids +#: model:ir.model.fields,field_description:pms_base.field_pms_team__activity_ids +msgid "Activities" +msgstr "Actividades" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__activity_exception_decoration +#: model:ir.model.fields,field_description:pms_base.field_pms_team__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "Decoración de excepciones de actividad" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__activity_state +#: model:ir.model.fields,field_description:pms_base.field_pms_team__activity_state +msgid "Activity State" +msgstr "Estado de la actividad" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__activity_type_icon +#: model:ir.model.fields,field_description:pms_base.field_pms_team__activity_type_icon +msgid "Activity Type Icon" +msgstr "Icono de tipo de actividad" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__additional_info +msgid "Additional info" +msgstr "Información adicional" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_property_form +msgid "Address" +msgstr "Dirección" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__type +msgid "Address Type" +msgstr "Tipo de dirección" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_property__lang +msgid "" +"All the emails and documents sent to this contact will be translated in this" +" language." +msgstr "" +"Todos los correos electrónicos y documentos enviados a este contacto serán " +"traducidos a este idioma." + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_res_config_settings_form +msgid "Allow customers to book reservations online" +msgstr "Permitir a los clientes reservar reservas en línea" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_res_config_settings__module_pms_website_sale +msgid "Allow online booking" +msgstr "Permitir reserva online" + +#. module: pms_base +#: model:ir.actions.act_window,name:pms_base.action_pms_amenity +#: model:ir.model.fields,field_description:pms_base.field_pms_property__amenity_ids +#: model:ir.ui.menu,name:pms_base.menu_pms_data_amenity +#: model_terms:ir.ui.view,arch_db:pms_base.pms_amenity_view_tree +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_amenity_form +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_amenity_search +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_property_form +msgid "Amenities" +msgstr "Amenidades" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_property__amenity_ids +msgid "Amenities available in this property" +msgstr "Amenidades disponibles en esa propiedad" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_amenity_form +msgid "Amenity" +msgstr "Amenidad" + +#. module: pms_base +#: model:ir.model,name:pms_base.model_pms_amenity_type +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_room_amenity_type_form +msgid "Amenity Type" +msgstr "Típo de amenidad" + +#. module: pms_base +#: model:ir.actions.act_window,name:pms_base.action_pms_amenity_type +#: model:ir.ui.menu,name:pms_base.menu_pms_config_property_amenity_type +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_amenity_type_tree +msgid "Amenity Types" +msgstr "Típos de amenidades" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_service_form +msgid "Archive" +msgstr "Archivar" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_property_search +msgid "Archived" +msgstr "Archivadas" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__area +#: model:ir.model.fields,field_description:pms_base.field_pms_room__area +msgid "Area" +msgstr "Superficie" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_res_config_settings_form +msgid "Area (UoM)" +msgstr "Superficie (UdM)" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__message_attachment_count +#: model:ir.model.fields,field_description:pms_base.field_pms_team__message_attachment_count +msgid "Attachment Count" +msgstr "Numéro de archivos adjuntos" + +#. module: pms_base +#: model:pms.stage,name:pms_base.pms_stage_available +msgid "Available" +msgstr "Disponible" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__balcony +#: model:pms.room.type,name:pms_base.pms_room_type_balcony +msgid "Balcony" +msgstr "Balcón" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__bank_ids +msgid "Banks" +msgstr "Bancos" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__barcode +msgid "Barcode" +msgstr "Código de barras" + +#. module: pms_base +#: model:pms.room.type,name:pms_base.pms_room_type_basement +msgid "Basement" +msgstr "Sotano" + +#. module: pms_base +#: model:pms.room.type,name:pms_base.pms_room_type_bath +msgid "Bathroom" +msgstr "Baño" + +#. module: pms_base +#: model:pms.room.type,name:pms_base.pms_room_type_bed +msgid "Bedroom" +msgstr "Recamara" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_property_form +msgid "Bedroom(s)" +msgstr "Recamara(s)" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__is_blacklisted +msgid "Blacklist" +msgstr "Lista negra" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__message_bounce +msgid "Bounce" +msgstr "Rebote" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_property_search +msgid "Building" +msgstr "Edificio" + +#. module: pms_base +#: model:ir.model.fields.selection,name:pms_base.selection__pms_property__heating__boiler_building +msgid "Building Boiler" +msgstr "Caldera del edificio" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_res_config_settings_form +msgid "CRM" +msgstr "" + +#. module: pms_base +#: model:pms.stage,name:pms_base.pms_stage_cancelled +msgid "Cancelled" +msgstr "Cancelado" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_room__capacity +msgid "Capacity" +msgstr "Capacidad" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__channel_ids +msgid "Channels" +msgstr "Canales" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_property__is_company +msgid "Check if the contact is a company, otherwise it is a person" +msgstr "Comprobar si el contacto es una empresa, de lo contrario es una persona" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_property__employee +msgid "Check this box if this contact is an Employee." +msgstr "Marque esta casilla si este contacto es un empleado." + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_property__country_enforce_cities +msgid "" +"Check this box to ensure every address created in that country has a 'City' " +"chosen in the list of the country's cities." +msgstr "" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_property_form +msgid "Child Property" +msgstr "Propiedad hija" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__childs_property_count +msgid "Children Count" +msgstr "Numéro de hijas" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__property_child_ids +msgid "Children Property" +msgstr "Propiedades hijas" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__city +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_property_form +msgid "City" +msgstr "Ciudad" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__city_id +msgid "City of Address" +msgstr "Ciudad" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_stage__custom_color +msgid "Color Code" +msgstr "Código de color" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__color +#: model:ir.model.fields,field_description:pms_base.field_pms_tag__color +#: model:ir.model.fields,field_description:pms_base.field_pms_team__color +msgid "Color Index" +msgstr "Indíce de color" + +#. module: pms_base +#: code:addons/pms_base/models/pms_stage.py:0 +#, python-format +msgid "Color code should be Hex Code. Ex:-#FFFFFF" +msgstr "El código de color debe ser hexadecimal. Ej:-#FFFFFF" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__commercial_partner_id +msgid "Commercial Entity" +msgstr "Entidad comercial" + +#. module: pms_base +#: model:ir.model,name:pms_base.model_res_company +msgid "Companies" +msgstr "Empresas" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__company_id +#: model:ir.model.fields,field_description:pms_base.field_pms_stage__company_id +#: model:ir.model.fields,field_description:pms_base.field_pms_tag__company_id +#: model:ir.model.fields,field_description:pms_base.field_pms_team__company_id +msgid "Company" +msgstr "Empresa" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__company_name +msgid "Company Name" +msgstr "Nombre de la empresa" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__commercial_company_name +msgid "Company Name Entity" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__company_type +msgid "Company Type" +msgstr "Típo de empresa" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__partner_gid +msgid "Company database ID" +msgstr "Id de la BDD de la empresa" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_tag__company_id +msgid "Company related to this tag" +msgstr "Empresa vinculada con esa etiqueta" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_team__company_id +msgid "Company related to this team" +msgstr "Empresa relacionada con este equipo" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__contact_address +msgid "Complete Address" +msgstr "Dirección completa" + +#. module: pms_base +#: model:pms.room.type,name:pms_base.pms_room_type_4 +msgid "Conference Room" +msgstr "Sala de conferencia" + +#. module: pms_base +#: model:ir.model,name:pms_base.model_res_config_settings +msgid "Config Settings" +msgstr "Ajustes" + +#. module: pms_base +#: model:ir.ui.menu,name:pms_base.menu_config +msgid "Configuration" +msgstr "Configuración" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_res_config_settings__module_connector_guesty +#: model_terms:ir.ui.view,arch_db:pms_base.view_res_config_settings_form +msgid "Connect with Guesty" +msgstr "Conector con Guesty" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_res_config_settings__module_connector_wubook +#: model_terms:ir.ui.view,arch_db:pms_base.view_res_config_settings_form +msgid "Connect with Wubook" +msgstr "Conector con Wubook" + +#. module: pms_base +#: model:pms.amenity.type,name:pms_base.pms_amenity_type_1 +msgid "Connectivity" +msgstr "Conectividad" + +#. module: pms_base +#: model:ir.model,name:pms_base.model_res_partner +#: model:ir.model.fields,field_description:pms_base.field_pms_property__child_ids +msgid "Contact" +msgstr "Contacto" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__contact_address_complete +msgid "Contact Address Complete" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_property__message_bounce +msgid "Counter of the number of bounced emails for this contact" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__country_id +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_property_form +msgid "Country" +msgstr "País" + +#. module: pms_base +#: model_terms:ir.actions.act_window,help:pms_base.action_pms_tag +msgid "Create a tag." +msgstr "Crear una etiqueta" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_amenity__create_uid +#: model:ir.model.fields,field_description:pms_base.field_pms_amenity_type__create_uid +#: model:ir.model.fields,field_description:pms_base.field_pms_property__create_uid +#: model:ir.model.fields,field_description:pms_base.field_pms_room__create_uid +#: model:ir.model.fields,field_description:pms_base.field_pms_room_type__create_uid +#: model:ir.model.fields,field_description:pms_base.field_pms_service__create_uid +#: model:ir.model.fields,field_description:pms_base.field_pms_stage__create_uid +#: model:ir.model.fields,field_description:pms_base.field_pms_tag__create_uid +#: model:ir.model.fields,field_description:pms_base.field_pms_team__create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_amenity__create_date +#: model:ir.model.fields,field_description:pms_base.field_pms_amenity_type__create_date +#: model:ir.model.fields,field_description:pms_base.field_pms_property__create_date +#: model:ir.model.fields,field_description:pms_base.field_pms_room__create_date +#: model:ir.model.fields,field_description:pms_base.field_pms_room_type__create_date +#: model:ir.model.fields,field_description:pms_base.field_pms_service__create_date +#: model:ir.model.fields,field_description:pms_base.field_pms_stage__create_date +#: model:ir.model.fields,field_description:pms_base.field_pms_tag__create_date +#: model:ir.model.fields,field_description:pms_base.field_pms_team__create_date +msgid "Created on" +msgstr "Creado el" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__credit_limit +msgid "Credit Limit" +msgstr "Limite de credito" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_property__partner_id +msgid "Current property" +msgstr "Propiedad" + +#. module: pms_base +#: model:ir.ui.menu,name:pms_base.menu_board +msgid "Dashboard" +msgstr "Tablero" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__date +msgid "Date" +msgstr "Fecha" + +#. module: pms_base +#: model:pms.team,name:pms_base.pms_team_default +msgid "Default Team" +msgstr "Equipo" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_res_config_settings_form +msgid "Define your unit of measure when entering area" +msgstr "Defina su unidad de medida al ingresar superficies" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_stage__description +#: model:ir.model.fields,field_description:pms_base.field_pms_team__description +msgid "Description" +msgstr "Descripción" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_amenity__active +msgid "Determines if amenity is active" +msgstr "Determina si la amenidad está activa" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_amenity_type__active +msgid "Determines if amenity type is active" +msgstr "Determina si el típo de amenidad está activo" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_room__active +msgid "Determines if room is active" +msgstr "Determina si el cuarto está activo" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_service__active +msgid "Determines if service is active" +msgstr "Determina si el servicio está activo" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_property_form +msgid "Dining Room(s)" +msgstr "Comedor(es)" + +#. module: pms_base +#: model:pms.room.type,name:pms_base.pms_room_type_dining +msgid "Diningroom" +msgstr "Comedor" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_amenity__display_name +#: model:ir.model.fields,field_description:pms_base.field_pms_amenity_type__display_name +#: model:ir.model.fields,field_description:pms_base.field_pms_property__display_name +#: model:ir.model.fields,field_description:pms_base.field_pms_room__display_name +#: model:ir.model.fields,field_description:pms_base.field_pms_room_type__display_name +#: model:ir.model.fields,field_description:pms_base.field_pms_service__display_name +#: model:ir.model.fields,field_description:pms_base.field_pms_stage__display_name +#: model:ir.model.fields,field_description:pms_base.field_pms_tag__display_name +#: model:ir.model.fields,field_description:pms_base.field_pms_team__display_name +#: model:ir.model.fields,field_description:pms_base.field_res_company__display_name +#: model:ir.model.fields,field_description:pms_base.field_res_config_settings__display_name +#: model:ir.model.fields,field_description:pms_base.field_res_partner__display_name +msgid "Display Name" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__street_number2 +msgid "Door" +msgstr "Puerta" + +#. module: pms_base +#: model:pms.room.type,name:pms_base.pms_room_type_2 +msgid "Double" +msgstr "Doble" + +#. module: pms_base +#: model:pms.room.type,name:pms_base.pms_room_type_0 +msgid "Economic" +msgstr "Económico" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_property__partner_share +msgid "" +"Either customer (not a user), either shared user. Indicated the current " +"partner is a customer without access or with a limited access created for " +"sharing data." +msgstr "" + +#. module: pms_base +#: model:ir.model.fields.selection,name:pms_base.selection__pms_property__heating__tankless_electric +msgid "Electric (Tankless)" +msgstr "Eléctrico (sin tanque)" + +#. module: pms_base +#: model:ir.model.fields.selection,name:pms_base.selection__pms_property__heating__boiler_electric +msgid "Electric Boiler" +msgstr "Caldera eléctrica" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__email +msgid "Email" +msgstr "Correo" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__employee +msgid "Employee" +msgstr "Empleado" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__country_enforce_cities +msgid "Enforce Cities" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_room__sequence +#: model:ir.model.fields,help:pms_base.field_pms_service__sequence +msgid "" +"Field used to change the position of the rooms in tree view.Changing the " +"position changes the sequence" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__floors_num +msgid "Floor" +msgstr "Piso" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_stage__fold +msgid "Folded in Kanban" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__message_follower_ids +#: model:ir.model.fields,field_description:pms_base.field_pms_team__message_follower_ids +msgid "Followers" +msgstr "Seguidores" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__message_channel_ids +#: model:ir.model.fields,field_description:pms_base.field_pms_team__message_channel_ids +msgid "Followers (Channels)" +msgstr "Seguidores (canales)" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__message_partner_ids +#: model:ir.model.fields,field_description:pms_base.field_pms_team__message_partner_ids +msgid "Followers (Partners)" +msgstr "Seguidores (Contactos)" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_property__activity_type_icon +#: model:ir.model.fields,help:pms_base.field_pms_team__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_property__email_formatted +msgid "Format email address \"Name \"" +msgstr "Formato de direccion de correo \"Nombre \"" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__email_formatted +msgid "Formatted Email" +msgstr "Correo formatado" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_tag__full_name +msgid "Full Name" +msgstr "Nombre completo" + +#. module: pms_base +#: model:pms.room.type,name:pms_base.pms_room_type_garage +msgid "Garage" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields.selection,name:pms_base.selection__pms_property__heating__tankless_gas +msgid "Gas (Tankless)" +msgstr "Gas (sin tanque)" + +#. module: pms_base +#: model:ir.model.fields.selection,name:pms_base.selection__pms_property__heating__boiler_gas +msgid "Gas Boiler" +msgstr "Caldera de gas" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__partner_latitude +msgid "Geo Latitude" +msgstr "Latitud" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__partner_longitude +msgid "Geo Longitude" +msgstr "Longitud" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__date_localization +msgid "Geolocation Date" +msgstr "Fecha de geolocalización" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_property_search +msgid "Group By" +msgstr "Agrupar por" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_amenity_search +msgid "Group By..." +msgstr "Agrupar por..." + +#. module: pms_base +#: model:pms.room.type,name:pms_base.pms_room_type_half_bath +msgid "Half Bathroom" +msgstr "Medio baño" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_property_form +msgid "Half Bathroom(s)" +msgstr "Medio baño(s)" + +#. module: pms_base +#: model:pms.room.type,name:pms_base.pms_room_type_hall +msgid "Hall" +msgstr "Entrada" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__heating +msgid "Heating" +msgstr "Calefacción" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__street_number +msgid "House" +msgstr "Numéro" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_amenity__id +#: model:ir.model.fields,field_description:pms_base.field_pms_amenity_type__id +#: model:ir.model.fields,field_description:pms_base.field_pms_property__id +#: model:ir.model.fields,field_description:pms_base.field_pms_room__id +#: model:ir.model.fields,field_description:pms_base.field_pms_room_type__id +#: model:ir.model.fields,field_description:pms_base.field_pms_service__id +#: model:ir.model.fields,field_description:pms_base.field_pms_stage__id +#: model:ir.model.fields,field_description:pms_base.field_pms_tag__id +#: model:ir.model.fields,field_description:pms_base.field_pms_team__id +#: model:ir.model.fields,field_description:pms_base.field_res_company__id +#: model:ir.model.fields,field_description:pms_base.field_res_config_settings__id +#: model:ir.model.fields,field_description:pms_base.field_res_partner__id +msgid "ID" +msgstr "Id" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__im_status +msgid "IM Status" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__activity_exception_icon +#: model:ir.model.fields,field_description:pms_base.field_pms_team__activity_exception_icon +msgid "Icon" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_property__activity_exception_icon +#: model:ir.model.fields,help:pms_base.field_pms_team__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_property__message_needaction +#: model:ir.model.fields,help:pms_base.field_pms_property__message_unread +#: model:ir.model.fields,help:pms_base.field_pms_team__message_needaction +#: model:ir.model.fields,help:pms_base.field_pms_team__message_unread +msgid "If checked, new messages require your attention." +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_property__message_has_error +#: model:ir.model.fields,help:pms_base.field_pms_team__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_property__is_blacklisted +msgid "" +"If the email address is on the blacklist, the contact won't receive mass " +"mailing anymore, from any list" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__image_1920 +msgid "Image" +msgstr "Imagen" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__image_1024 +msgid "Image 1024" +msgstr "Imagen 1024" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__image_128 +msgid "Image 128" +msgstr "Imagen 128" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__image_256 +msgid "Image 256" +msgstr "Imagen 256" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__image_512 +msgid "Image 512" +msgstr "Imagen 512" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__industry_id +msgid "Industry" +msgstr "Industria" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_property_form +msgid "Information" +msgstr "Información" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_res_config_settings_form +msgid "Integrations" +msgstr "Integraciones" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_amenity__default_code +msgid "Internal Reference" +msgstr "Referencia interna" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_amenity__default_code +msgid "Internal unique identifier of the amenity" +msgstr "Referencia interna unica de la amenidad" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_property__type +msgid "" +"Invoice & Delivery addresses are used in sales orders. Private addresses are" +" only visible by authorized users." +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__message_is_follower +#: model:ir.model.fields,field_description:pms_base.field_pms_team__message_is_follower +msgid "Is Follower" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__is_company +msgid "Is a Company" +msgstr "Es una empresa" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__is_property +#: model:ir.model.fields,field_description:pms_base.field_res_partner__is_property +#: model:ir.model.fields,field_description:pms_base.field_res_users__is_property +msgid "Is a Property" +msgstr "Es una propiedad" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_stage__is_closed +msgid "Is a close stage" +msgstr "Es una etapa de cierre" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_stage__is_default +msgid "Is a default stage" +msgstr "Es una etapa por defecto" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__function +msgid "Job Position" +msgstr "Posicion" + +#. module: pms_base +#: model:pms.room.type,name:pms_base.pms_room_type_kitchen +msgid "Kitchen" +msgstr "Cocina" + +#. module: pms_base +#: model:pms.amenity.type,name:pms_base.pms_amenity_type_2 +msgid "Kitchen facilities" +msgstr "Instalaciones de cocina" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_property_form +msgid "Kitchen(s)" +msgstr "Cocina(s)" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__lang +msgid "Language" +msgstr "Idioma" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_amenity____last_update +#: model:ir.model.fields,field_description:pms_base.field_pms_amenity_type____last_update +#: model:ir.model.fields,field_description:pms_base.field_pms_property____last_update +#: model:ir.model.fields,field_description:pms_base.field_pms_room____last_update +#: model:ir.model.fields,field_description:pms_base.field_pms_room_type____last_update +#: model:ir.model.fields,field_description:pms_base.field_pms_service____last_update +#: model:ir.model.fields,field_description:pms_base.field_pms_stage____last_update +#: model:ir.model.fields,field_description:pms_base.field_pms_tag____last_update +#: model:ir.model.fields,field_description:pms_base.field_pms_team____last_update +#: model:ir.model.fields,field_description:pms_base.field_res_company____last_update +#: model:ir.model.fields,field_description:pms_base.field_res_config_settings____last_update +#: model:ir.model.fields,field_description:pms_base.field_res_partner____last_update +msgid "Last Modified on" +msgstr "Ultima modificación el" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_amenity__write_uid +#: model:ir.model.fields,field_description:pms_base.field_pms_amenity_type__write_uid +#: model:ir.model.fields,field_description:pms_base.field_pms_property__write_uid +#: model:ir.model.fields,field_description:pms_base.field_pms_room__write_uid +#: model:ir.model.fields,field_description:pms_base.field_pms_room_type__write_uid +#: model:ir.model.fields,field_description:pms_base.field_pms_service__write_uid +#: model:ir.model.fields,field_description:pms_base.field_pms_stage__write_uid +#: model:ir.model.fields,field_description:pms_base.field_pms_tag__write_uid +#: model:ir.model.fields,field_description:pms_base.field_pms_team__write_uid +msgid "Last Updated by" +msgstr "Ultima modificación por" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_amenity__write_date +#: model:ir.model.fields,field_description:pms_base.field_pms_amenity_type__write_date +#: model:ir.model.fields,field_description:pms_base.field_pms_property__write_date +#: model:ir.model.fields,field_description:pms_base.field_pms_room__write_date +#: model:ir.model.fields,field_description:pms_base.field_pms_room_type__write_date +#: model:ir.model.fields,field_description:pms_base.field_pms_service__write_date +#: model:ir.model.fields,field_description:pms_base.field_pms_stage__write_date +#: model:ir.model.fields,field_description:pms_base.field_pms_tag__write_date +#: model:ir.model.fields,field_description:pms_base.field_pms_team__write_date +msgid "Last Updated on" +msgstr "Ultima modificación el" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__calendar_last_notif_ack +msgid "Last notification marked as read from base Calendar" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__laundry_room +#: model:pms.amenity.type,name:pms_base.pms_amenity_type_3 +#: model:pms.room.type,name:pms_base.pms_room_type_laundry +msgid "Laundry Room" +msgstr "Lavadero" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_res_config_settings__module_pms_crm +msgid "Link a property to a lead" +msgstr "Vincular una propiedad a una pista" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_res_config_settings_form +msgid "Link your leads to a property" +msgstr "Vincular una pista a una propiedad" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_property__room_ids +msgid "List of rooms in the property." +msgstr "Lista de cuartos en la propiedad" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_property__service_ids +msgid "List of services available in the property." +msgstr "ista de servicios disponibles en la propiedad" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_property_form +msgid "Living Rom(s)" +msgstr "Salon(es)" + +#. module: pms_base +#: model:pms.room.type,name:pms_base.pms_room_type_living +msgid "Livingroom" +msgstr "Salón" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__message_main_attachment_id +#: model:ir.model.fields,field_description:pms_base.field_pms_team__message_main_attachment_id +msgid "Main Attachment" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_res_config_settings__module_pms_account +#: model_terms:ir.ui.view,arch_db:pms_base.view_res_config_settings_form +msgid "Manage Accounting" +msgstr "Administrar la contabilidad" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_res_config_settings__module_pms_account_asset +msgid "Manage Assets" +msgstr "Administrar los activos" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_res_config_settings__module_pms_contract +#: model_terms:ir.ui.view,arch_db:pms_base.view_res_config_settings_form +msgid "Manage Contracts" +msgstr "Administrar los contratos" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_res_config_settings_form +msgid "Manage Depreciation and Amortization" +msgstr "Administrar depreciaciones y amortizaciones" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_res_config_settings__module_pms_sale +#: model_terms:ir.ui.view,arch_db:pms_base.view_res_config_settings_form +msgid "Manage Reservations" +msgstr "Administrar reservas" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_res_config_settings_form +msgid "Manage accounting related information" +msgstr "Administrar información contable" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_res_config_settings_form +msgid "Manage amenities related to your properties" +msgstr "Administrar amendades relacionadas con tus propiedades" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_res_config_settings_form +msgid "Manage assets related to your properties" +msgstr "Administrar activos relacionados con tus propiedades" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_res_config_settings_form +msgid "Manage reservations" +msgstr "Administrar reservas" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_res_config_settings_form +msgid "Manage rooms of your properties" +msgstr "Administrar cuartos de tus propiedades" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_res_config_settings_form +msgid "Manage services available at your properties" +msgstr "Administrar servicios disponibles en tus propiedades" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_res_config_settings_form +msgid "Manage utility contracts and others recurring invoices/bills" +msgstr "Administrar contratos y otras facturas recurrentes" + +#. module: pms_base +#: model:ir.ui.menu,name:pms_base.menu_data +msgid "Master Data" +msgstr "Datos Maestros" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__image_medium +msgid "Medium-sized image" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__message_has_error +#: model:ir.model.fields,field_description:pms_base.field_pms_team__message_has_error +msgid "Message Delivery error" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__message_ids +#: model:ir.model.fields,field_description:pms_base.field_pms_team__message_ids +msgid "Messages" +msgstr "Mensajes" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__mobile +msgid "Mobile" +msgstr "Movil" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__my_activity_date_deadline +#: model:ir.model.fields,field_description:pms_base.field_pms_team__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_amenity__name +#: model:ir.model.fields,field_description:pms_base.field_pms_amenity_type__name +#: model:ir.model.fields,field_description:pms_base.field_pms_property__name +#: model:ir.model.fields,field_description:pms_base.field_pms_room_type__name +#: model:ir.model.fields,field_description:pms_base.field_pms_stage__name +#: model:ir.model.fields,field_description:pms_base.field_pms_tag__name +#: model:ir.model.fields,field_description:pms_base.field_pms_team__name +msgid "Name" +msgstr "Nombre" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_amenity__name +msgid "Name of the amenity" +msgstr "Nombre de la amenidad" + +#. module: pms_base +#: model:pms.stage,name:pms_base.pms_stage_new +msgid "New" +msgstr "Nuevo" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__activity_date_deadline +#: model:ir.model.fields,field_description:pms_base.field_pms_team__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__activity_summary +#: model:ir.model.fields,field_description:pms_base.field_pms_team__activity_summary +msgid "Next Activity Summary" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__activity_type_id +#: model:ir.model.fields,field_description:pms_base.field_pms_team__activity_type_id +msgid "Next Activity Type" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__email_normalized +msgid "Normalized Email" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__comment +msgid "Notes" +msgstr "Notas" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__message_needaction_counter +#: model:ir.model.fields,field_description:pms_base.field_pms_team__message_needaction_counter +msgid "Number of Actions" +msgstr "Numéro de acciones" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__message_has_error_counter +#: model:ir.model.fields,field_description:pms_base.field_pms_team__message_has_error_counter +msgid "Number of errors" +msgstr "Numéro de errores" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_property__message_needaction_counter +#: model:ir.model.fields,help:pms_base.field_pms_team__message_needaction_counter +msgid "Number of messages which requires an action" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_property__message_has_error_counter +#: model:ir.model.fields,help:pms_base.field_pms_team__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__room_count +msgid "Number of rooms" +msgstr "Numéro de cuartos" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_property__message_unread_counter +#: model:ir.model.fields,help:pms_base.field_pms_team__message_unread_counter +msgid "Number of unread messages" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__ocn_token +msgid "OCN Token" +msgstr "" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_res_config_settings_form +msgid "Online reservation" +msgstr "Reserva online" + +#. module: pms_base +#: model:ir.ui.menu,name:pms_base.menu_operations +msgid "Operations" +msgstr "Operaciones" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_amenity__type_id +msgid "Organize amenities by type (multimedia, comfort, etc ...)" +msgstr "Organiza amenidades por típos" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__owner_id +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_property_search +msgid "Owner" +msgstr "Dueño" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_property_search +msgid "Owners" +msgstr "Dueños" + +#. module: pms_base +#: model:ir.model,name:pms_base.model_pms_stage +msgid "PMS Stage" +msgstr "Etapa del PMS" + +#. module: pms_base +#: model:ir.actions.act_window,name:pms_base.action_pms_stage +msgid "PMS Stages" +msgstr "Etapas del PMS" + +#. module: pms_base +#: model:ir.model,name:pms_base.model_pms_tag +msgid "PMS Tag" +msgstr "Etiqueta del PMS" + +#. module: pms_base +#: model:ir.model,name:pms_base.model_pms_team +msgid "PMS Team" +msgstr "Equipo del PMS" + +#. module: pms_base +#: model:ir.actions.act_window,name:pms_base.action_pms_team +msgid "PMS Teams" +msgstr "Equipos del PMS" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_tag__parent_id +msgid "Parent" +msgstr "Padre" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__parent_id +msgid "Parent Property" +msgstr "Propiedad padre" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__parent_name +msgid "Parent name" +msgstr "Nombre padre" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__parking_lot +#: model:pms.amenity.type,name:pms_base.pms_amenity_type_4 +#: model:pms.room.type,name:pms_base.pms_room_type_parking_lot +msgid "Parking Lot" +msgstr "Estacionamiento" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__same_vat_partner_id +msgid "Partner with same Tax ID" +msgstr "Contacto con el mismo VAT" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__pets +#: model:pms.amenity.type,name:pms_base.pms_amenity_type_5 +#: model:pms.room.type,name:pms_base.pms_room_type_pets +msgid "Pets" +msgstr "Mascotas" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__phone +msgid "Phone" +msgstr "Telefono" + +#. module: pms_base +#: model:pms.room.type,name:pms_base.pms_room_type_play +msgid "Playroom" +msgstr "Cuarto de juego" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__property_product_pricelist +msgid "Pricelist" +msgstr "Lista de precio" + +#. module: pms_base +#: model:ir.ui.menu,name:pms_base.menu_pms_data_product +msgid "Products" +msgstr "Productos" + +#. module: pms_base +#: model:ir.actions.act_window,name:pms_base.action_pms_property +#: model:ir.actions.act_window,name:pms_base.property_action_from_dashboard +#: model:ir.model.fields,field_description:pms_base.field_pms_amenity__property_ids +#: model:ir.model.fields,field_description:pms_base.field_pms_team__property_ids +#: model:ir.ui.menu,name:pms_base.menu_config_property +#: model:ir.ui.menu,name:pms_base.menu_pms_data_property +#: model:ir.ui.menu,name:pms_base.menu_root +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_amenity_form +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_property_tree +#: model_terms:ir.ui.view,arch_db:pms_base.view_res_config_settings_form +msgid "Properties" +msgstr "Propiedades" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_team__property_count +msgid "Properties Count" +msgstr "Numéro de propiedades" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_amenity__property_ids +msgid "Properties with access to the amenity" +msgstr "Propiedadesz con acceso a la amenidad" + +#. module: pms_base +#: model:ir.model,name:pms_base.model_pms_property +#: model:ir.model.fields,field_description:pms_base.field_pms_property__partner_id +#: model:ir.model.fields,field_description:pms_base.field_pms_room__property_id +#: model:ir.model.fields,field_description:pms_base.field_pms_service__property_id +#: model:ir.model.fields.selection,name:pms_base.selection__pms_stage__stage_type__property +#: model_terms:ir.ui.view,arch_db:pms_base.view_partner_form_inherit_pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_property_form +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_property_kanban +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_property_search +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_room_search +#: model_terms:ir.ui.view,arch_db:pms_base.view_res_partner_filter_inherit_pms_base +msgid "Property" +msgstr "Propiedad" + +#. module: pms_base +#: model:ir.model,name:pms_base.model_pms_amenity +msgid "Property Amenity" +msgstr "Amenidad de propiedad" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_res_config_settings_form +msgid "Property Information" +msgstr "Información de propiedad" + +#. module: pms_base +#: model:res.groups,name:pms_base.group_pms_user +msgid "Property Management / User" +msgstr "Administración de Propiedades / Usuario" + +#. module: pms_base +#: model:res.groups,name:pms_base.group_pms_manager +msgid "Property Management/ Manager" +msgstr "Administración de Propiedades / Gerente" + +#. module: pms_base +#: model:ir.model,name:pms_base.model_pms_room +msgid "Property Room" +msgstr "Cuarto de propiedad" + +#. module: pms_base +#: model:ir.model,name:pms_base.model_pms_service +msgid "Property Service" +msgstr "Servicio de propiedad" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_res_config_settings__module_pms_website +msgid "Publish properties" +msgstr "Publicar propiedad" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_res_config_settings_form +msgid "Publish properties to https://guesty.com and get reservations" +msgstr "Publicar propiedades to https://guesty.com y sincroniza reservas" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_res_config_settings_form +msgid "Publish properties to https://wubook.com and get reservations" +msgstr "Publicar propiedades to https://wubook.com y sincroniza reservas" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_res_config_settings_form +msgid "Publish your properties on your website" +msgstr "Publica tus propiedades en tu sitio web" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__qty_bedroom +msgid "Qty Bedroom" +msgstr "Numéro de recamaras" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__qty_dining_room +msgid "Qty Dining Room" +msgstr "Numéro de comedor" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__qty_half_bathroom +msgid "Qty Half Bathroom" +msgstr "Numéro de medio baño" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__qty_kitchen +msgid "Qty Kitchen" +msgstr "Numéro de cocina" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__qty_living_room +msgid "Qty Living Room" +msgstr "Numéro de salón" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_property_form +msgid "Quantities" +msgstr "Cantidades" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__ref +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_property_form +msgid "Reference" +msgstr "Referencia" + +#. module: pms_base +#: model:ir.ui.menu,name:pms_base.menu_report +msgid "Reporting" +msgstr "Informes" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_res_config_settings_form +msgid "Reservations" +msgstr "Reservas" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__activity_user_id +#: model:ir.model.fields,field_description:pms_base.field_pms_team__activity_user_id +msgid "Responsible User" +msgstr "Responsable" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_room_form +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_room_search +msgid "Room" +msgstr "Cuarto" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_room__name +#: model:ir.model.fields,help:pms_base.field_pms_room__name +msgid "Room Name" +msgstr "Nombre del cuarto" + +#. module: pms_base +#: model:ir.model,name:pms_base.model_pms_room_type +#: model:ir.model.fields,field_description:pms_base.field_pms_room__type_id +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_room_type_form +msgid "Room Type" +msgstr "Típo del cuarto" + +#. module: pms_base +#: model:ir.actions.act_window,name:pms_base.action_pms_room_type +#: model:ir.ui.menu,name:pms_base.menu_pms_config_property_room_type +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_room_search +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_room_type_tree +msgid "Room Types" +msgstr "Típos del cuarto" + +#. module: pms_base +#: model:ir.actions.act_window,name:pms_base.action_pms_room +#: model:ir.model.fields,field_description:pms_base.field_pms_property__room_ids +#: model:ir.ui.menu,name:pms_base.menu_pms_data_room +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_property_form +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_room_tree +msgid "Rooms" +msgstr "Cuartos" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__user_id +msgid "Salesperson" +msgstr "Vendedor" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_stage_search +msgid "Search Stages" +msgstr "Buscar etapas" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__self +msgid "Self" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_room__sequence +#: model:ir.model.fields,field_description:pms_base.field_pms_room_type__sequence +#: model:ir.model.fields,field_description:pms_base.field_pms_service__sequence +#: model:ir.model.fields,field_description:pms_base.field_pms_stage__sequence +#: model:ir.model.fields,field_description:pms_base.field_pms_team__sequence +msgid "Sequence" +msgstr "Secuencia" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_service__name +#: model:ir.model.fields,help:pms_base.field_pms_service__name +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_service_form +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_service_search +msgid "Service" +msgstr "Servicio" + +#. module: pms_base +#: model:ir.actions.act_window,name:pms_base.action_pms_service +#: model:ir.model.fields,field_description:pms_base.field_pms_property__service_ids +#: model:ir.ui.menu,name:pms_base.menu_pms_data_service +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_property_form +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_service_tree +msgid "Services" +msgstr "Servicios" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_stage__is_closed +msgid "Services in this stage are considered as closed." +msgstr "Servicios en esta etapa estan considerados cerrados." + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_room_type__icon +#: model:ir.model.fields,help:pms_base.field_pms_service__icon +msgid "Set Icon name from https://fontawesome.com/" +msgstr "" + +#. module: pms_base +#: model:ir.actions.act_window,name:pms_base.action_pms_config +#: model:ir.ui.menu,name:pms_base.menu_pms_config_settings +msgid "Settings" +msgstr "Ajustes" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__partner_share +msgid "Share Partner" +msgstr "Compartir contacto" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_res_config_settings__group_pms_show_amenity +#: model:res.groups,name:pms_base.group_pms_show_amenity +#: model_terms:ir.ui.view,arch_db:pms_base.view_res_config_settings_form +msgid "Show Amenities" +msgstr "Mostrar amenidades" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_res_config_settings__group_pms_show_room +#: model:res.groups,name:pms_base.group_pms_show_room +#: model_terms:ir.ui.view,arch_db:pms_base.view_res_config_settings_form +msgid "Show Rooms" +msgstr "Mostrar cuartos" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_res_config_settings__group_pms_show_service +#: model:res.groups,name:pms_base.group_pms_show_service +#: model_terms:ir.ui.view,arch_db:pms_base.view_res_config_settings_form +msgid "Show Services" +msgstr "Mostrar servicios" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_res_config_settings__group_pms_show_team +#: model:res.groups,name:pms_base.group_pms_show_team +#: model_terms:ir.ui.view,arch_db:pms_base.view_res_config_settings_form +msgid "Show Teams" +msgstr "Mostrar equipoes" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__signup_expiration +msgid "Signup Expiration" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__signup_token +msgid "Signup Token" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__signup_type +msgid "Signup Token Type" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__signup_valid +msgid "Signup Token is Valid" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__signup_url +msgid "Signup URL" +msgstr "" + +#. module: pms_base +#: model:pms.room.type,name:pms_base.pms_room_type_1 +msgid "Single" +msgstr "Soltero" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_res_config_settings_form +msgid "Split your properties by Team" +msgstr "Organiza tus propiedades por equipo" + +#. module: pms_base +#: model:ir.model.fields.selection,name:pms_base.selection__res_company__pms_uom__ft +msgid "Square Foot" +msgstr "Pie cuadrado" + +#. module: pms_base +#: model:ir.model.fields.selection,name:pms_base.selection__res_company__pms_uom__m +msgid "Square Meter" +msgstr "Metro cuadrado" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_stage_form +msgid "Stage" +msgstr "Etapa" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_team__stage_ids +#: model:ir.ui.menu,name:pms_base.menu_config_stage +#: model_terms:ir.ui.view,arch_db:pms_base.view_stage_tree +msgid "Stages" +msgstr "Etapas" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__state_id +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_property_form +msgid "State" +msgstr "Estado" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_property__activity_state +#: model:ir.model.fields,help:pms_base.field_pms_team__activity_state +msgid "" +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__street +msgid "Street" +msgstr "Calle" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_property_form +msgid "Street 2..." +msgstr "Calle 2..." + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__street_name +msgid "Street Name" +msgstr "Nombre de la calle" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_property_form +msgid "Street..." +msgstr "Calle..." + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__street2 +msgid "Street2" +msgstr "Calle 2" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_tag_form +msgid "Tag" +msgstr "Etiqueta" + +#. module: pms_base +#: model:ir.model.constraint,message:pms_base.constraint_pms_tag_name_uniq +msgid "Tag name already exists!" +msgstr "El nombre de la etiqueta existe!" + +#. module: pms_base +#: model:ir.actions.act_window,name:pms_base.action_pms_tag +#: model:ir.model.fields,field_description:pms_base.field_pms_property__category_id +#: model:ir.model.fields,field_description:pms_base.field_pms_property__tag_ids +#: model:ir.ui.menu,name:pms_base.menu_config_tag +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_tag_tree +msgid "Tags" +msgstr "Etiquetas" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__vat +msgid "Tax ID" +msgstr "VAT" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__team_id +#: model_terms:ir.ui.view,arch_db:pms_base.view_team_form +msgid "Team" +msgstr "Equipo" + +#. module: pms_base +#: model:ir.model.constraint,message:pms_base.constraint_pms_team_name_uniq +msgid "Team name already exists!" +msgstr "El nombre del equipo existe!" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_stage__team_ids +#: model:ir.ui.menu,name:pms_base.menu_board_pms_team +#: model:ir.ui.menu,name:pms_base.menu_config_team +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_property_search +#: model_terms:ir.ui.view,arch_db:pms_base.view_team_tree +msgid "Teams" +msgstr "Equipos" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__terrace +msgid "Terrace" +msgstr "Terraza" + +#. module: pms_base +#: model:pms.room.type,name:pms_base.pms_room_type_patio +msgid "Terrace/Patio" +msgstr "Terraza/Patio" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_property__vat +msgid "" +"The Tax Identification Number. Complete it if the contact is subjected to " +"government taxes. Used in some legal statements." +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_property__user_id +msgid "The internal user in charge of this contact." +msgstr "El usuario interno a cargo de ese contacto." + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_room__capacity +msgid "The maximum number of people that can occupy a room" +msgstr "El numéro maximo de person que pueden ocupar el cuarto" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_property__owner_id +msgid "The owner of the property." +msgstr "El dueño de la propiedad." + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_property__tz +msgid "This field is used to determine the timezone of the property." +msgstr "Ese campo determine la zona horaria donde esta la propiedad." + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_property__email_normalized +msgid "" +"This field is used to search on email address as the primary email field can" +" contain more than strictly an email address." +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_property__property_product_pricelist +msgid "" +"This pricelist will be used, instead of the default one, for sales to the " +"current partner" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_stage__fold +msgid "" +"This stage is folded in the kanban view when there are no record in that " +"stage to display." +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__tz +msgid "Timezone" +msgstr "Zona horaria" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__tz_offset +msgid "Timezone offset" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__title +msgid "Title" +msgstr "Titulo" + +#. module: pms_base +#: model:pms.amenity.type,name:pms_base.pms_amenity_type_0 +msgid "Toiletries" +msgstr "Articulos de aséo" + +#. module: pms_base +#: model:pms.room.type,name:pms_base.pms_room_type_3 +msgid "Triple" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_amenity__type_id +#: model:ir.model.fields,field_description:pms_base.field_pms_stage__stage_type +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_amenity_form +#: model_terms:ir.ui.view,arch_db:pms_base.view_stage_search +msgid "Type" +msgstr "Típo" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_property__activity_exception_decoration +#: model:ir.model.fields,help:pms_base.field_pms_team__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_room__type_id +msgid "Unique room type for the rooms" +msgstr "Típo de cuarto" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__unit_floor +msgid "Unit Floor" +msgstr "Piso de la unidad" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_res_company__pms_uom +#: model:ir.model.fields,field_description:pms_base.field_res_config_settings__pms_uom +msgid "Unit of Measure" +msgstr "Unidad de medidad" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__message_unread +#: model:ir.model.fields,field_description:pms_base.field_pms_team__message_unread +msgid "Unread Messages" +msgstr "Mensajes no leídos" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__message_unread_counter +#: model:ir.model.fields,field_description:pms_base.field_pms_team__message_unread_counter +msgid "Unread Messages Counter" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_stage__custom_color +msgid "Use Hex Code only Ex:-#FFFFFF" +msgstr "Usa solo un código hexadecimal Ej:-#FFFFFF" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_property__barcode +msgid "Use a barcode to identify this contact." +msgstr "Usa un código de barras para identificar un contacto." + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_stage__is_default +msgid "Used as default stage" +msgstr "Usa como etapa por defecto" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_property__ocn_token +msgid "Used for sending notification to registered devices" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_team__sequence +msgid "Used to sort teams. Lower is better." +msgstr "Para ordenar equipo." + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__user_ids +msgid "Users" +msgstr "Usuarios" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_service__vendor_id +msgid "Vendor" +msgstr "Proveedor" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_service_search +msgid "Vendors" +msgstr "Proveedores" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_res_config_settings_form +msgid "Website" +msgstr "Sitio web" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_room_type__icon +#: model:ir.model.fields,field_description:pms_base.field_pms_service__icon +msgid "Website Icon" +msgstr "Icono del sitio web" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__website +msgid "Website Link" +msgstr "Liga del sitio web" + +#. module: pms_base +#: model:ir.model.constraint,message:pms_base.constraint_pms_room_room_property_unique +msgid "You cannot have more 2 rooms with the same name in the same property." +msgstr "No pueden tener 2 cuartos con el mismo nombre en la misma propiedad." + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_property_form +msgid "ZIP" +msgstr "Zip" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__zip +msgid "Zip" +msgstr "Zip" diff --git a/pms_base/i18n/pms_base.pot b/pms_base/i18n/pms_base.pot new file mode 100644 index 000000000..506986979 --- /dev/null +++ b/pms_base/i18n/pms_base.pot @@ -0,0 +1,1847 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * pms_base +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0+e-20211202\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-12-23 19:22+0000\n" +"PO-Revision-Date: 2021-12-23 19:22+0000\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_team_kanban +msgid "" +"
\n" +" Properties" +msgstr "" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_res_config_settings_form +msgid "Accounting" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__message_needaction +#: model:ir.model.fields,field_description:pms_base.field_pms_team__message_needaction +msgid "Action Needed" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_amenity__active +#: model:ir.model.fields,field_description:pms_base.field_pms_amenity_type__active +#: model:ir.model.fields,field_description:pms_base.field_pms_property__active +#: model:ir.model.fields,field_description:pms_base.field_pms_room__active +#: model:ir.model.fields,field_description:pms_base.field_pms_service__active +msgid "Active" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__active_lang_count +msgid "Active Lang Count" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__activity_ids +#: model:ir.model.fields,field_description:pms_base.field_pms_team__activity_ids +msgid "Activities" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__activity_exception_decoration +#: model:ir.model.fields,field_description:pms_base.field_pms_team__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__activity_state +#: model:ir.model.fields,field_description:pms_base.field_pms_team__activity_state +msgid "Activity State" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__activity_type_icon +#: model:ir.model.fields,field_description:pms_base.field_pms_team__activity_type_icon +msgid "Activity Type Icon" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__additional_info +msgid "Additional info" +msgstr "" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_property_form +msgid "Address" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__type +msgid "Address Type" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_property__lang +msgid "" +"All the emails and documents sent to this contact will be translated in this" +" language." +msgstr "" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_res_config_settings_form +msgid "Allow customers to book reservations online" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_res_config_settings__module_pms_website_sale +msgid "Allow online booking" +msgstr "" + +#. module: pms_base +#: model:ir.actions.act_window,name:pms_base.action_pms_amenity +#: model:ir.model.fields,field_description:pms_base.field_pms_property__amenity_ids +#: model:ir.ui.menu,name:pms_base.menu_pms_data_amenity +#: model_terms:ir.ui.view,arch_db:pms_base.pms_amenity_view_tree +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_amenity_form +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_amenity_search +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_property_form +msgid "Amenities" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_property__amenity_ids +msgid "Amenities available in this property" +msgstr "" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_amenity_form +msgid "Amenity" +msgstr "" + +#. module: pms_base +#: model:ir.model,name:pms_base.model_pms_amenity_type +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_room_amenity_type_form +msgid "Amenity Type" +msgstr "" + +#. module: pms_base +#: model:ir.actions.act_window,name:pms_base.action_pms_amenity_type +#: model:ir.ui.menu,name:pms_base.menu_pms_config_property_amenity_type +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_amenity_type_tree +msgid "Amenity Types" +msgstr "" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_service_form +msgid "Archive" +msgstr "" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_property_search +msgid "Archived" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__area +#: model:ir.model.fields,field_description:pms_base.field_pms_room__area +msgid "Area" +msgstr "" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_res_config_settings_form +msgid "Area (UoM)" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__message_attachment_count +#: model:ir.model.fields,field_description:pms_base.field_pms_team__message_attachment_count +msgid "Attachment Count" +msgstr "" + +#. module: pms_base +#: model:pms.stage,name:pms_base.pms_stage_available +msgid "Available" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__balcony +#: model:pms.room.type,name:pms_base.pms_room_type_balcony +msgid "Balcony" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__bank_ids +msgid "Banks" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__barcode +msgid "Barcode" +msgstr "" + +#. module: pms_base +#: model:pms.room.type,name:pms_base.pms_room_type_basement +msgid "Basement" +msgstr "" + +#. module: pms_base +#: model:pms.room.type,name:pms_base.pms_room_type_bath +msgid "Bathroom" +msgstr "" + +#. module: pms_base +#: model:pms.room.type,name:pms_base.pms_room_type_bed +msgid "Bedroom" +msgstr "" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_property_form +msgid "Bedroom(s)" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__is_blacklisted +msgid "Blacklist" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__message_bounce +msgid "Bounce" +msgstr "" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_property_search +msgid "Building" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields.selection,name:pms_base.selection__pms_property__heating__boiler_building +msgid "Building Boiler" +msgstr "" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_res_config_settings_form +msgid "CRM" +msgstr "" + +#. module: pms_base +#: model:pms.stage,name:pms_base.pms_stage_cancelled +msgid "Cancelled" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_room__capacity +msgid "Capacity" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__channel_ids +msgid "Channels" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_property__is_company +msgid "Check if the contact is a company, otherwise it is a person" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_property__employee +msgid "Check this box if this contact is an Employee." +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_property__country_enforce_cities +msgid "" +"Check this box to ensure every address created in that country has a 'City' " +"chosen in the list of the country's cities." +msgstr "" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_property_form +msgid "Child Property" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__childs_property_count +msgid "Children Count" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__property_child_ids +msgid "Children Property" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__city +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_property_form +msgid "City" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__city_id +msgid "City of Address" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_stage__custom_color +msgid "Color Code" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__color +#: model:ir.model.fields,field_description:pms_base.field_pms_tag__color +#: model:ir.model.fields,field_description:pms_base.field_pms_team__color +msgid "Color Index" +msgstr "" + +#. module: pms_base +#: code:addons/pms_base/models/pms_stage.py:0 +#, python-format +msgid "Color code should be Hex Code. Ex:-#FFFFFF" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__commercial_partner_id +msgid "Commercial Entity" +msgstr "" + +#. module: pms_base +#: model:ir.model,name:pms_base.model_res_company +msgid "Companies" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__company_id +#: model:ir.model.fields,field_description:pms_base.field_pms_stage__company_id +#: model:ir.model.fields,field_description:pms_base.field_pms_tag__company_id +#: model:ir.model.fields,field_description:pms_base.field_pms_team__company_id +msgid "Company" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__company_name +msgid "Company Name" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__commercial_company_name +msgid "Company Name Entity" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__company_type +msgid "Company Type" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__partner_gid +msgid "Company database ID" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_tag__company_id +msgid "Company related to this tag" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_team__company_id +msgid "Company related to this team" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__contact_address +msgid "Complete Address" +msgstr "" + +#. module: pms_base +#: model:pms.room.type,name:pms_base.pms_room_type_4 +msgid "Conference Room" +msgstr "" + +#. module: pms_base +#: model:ir.model,name:pms_base.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: pms_base +#: model:ir.ui.menu,name:pms_base.menu_config +msgid "Configuration" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_res_config_settings__module_connector_guesty +#: model_terms:ir.ui.view,arch_db:pms_base.view_res_config_settings_form +msgid "Connect with Guesty" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_res_config_settings__module_connector_wubook +#: model_terms:ir.ui.view,arch_db:pms_base.view_res_config_settings_form +msgid "Connect with Wubook" +msgstr "" + +#. module: pms_base +#: model:pms.amenity.type,name:pms_base.pms_amenity_type_1 +msgid "Connectivity" +msgstr "" + +#. module: pms_base +#: model:ir.model,name:pms_base.model_res_partner +#: model:ir.model.fields,field_description:pms_base.field_pms_property__child_ids +msgid "Contact" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__contact_address_complete +msgid "Contact Address Complete" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_property__message_bounce +msgid "Counter of the number of bounced emails for this contact" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__country_id +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_property_form +msgid "Country" +msgstr "" + +#. module: pms_base +#: model_terms:ir.actions.act_window,help:pms_base.action_pms_tag +msgid "Create a tag." +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_amenity__create_uid +#: model:ir.model.fields,field_description:pms_base.field_pms_amenity_type__create_uid +#: model:ir.model.fields,field_description:pms_base.field_pms_property__create_uid +#: model:ir.model.fields,field_description:pms_base.field_pms_room__create_uid +#: model:ir.model.fields,field_description:pms_base.field_pms_room_type__create_uid +#: model:ir.model.fields,field_description:pms_base.field_pms_service__create_uid +#: model:ir.model.fields,field_description:pms_base.field_pms_stage__create_uid +#: model:ir.model.fields,field_description:pms_base.field_pms_tag__create_uid +#: model:ir.model.fields,field_description:pms_base.field_pms_team__create_uid +msgid "Created by" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_amenity__create_date +#: model:ir.model.fields,field_description:pms_base.field_pms_amenity_type__create_date +#: model:ir.model.fields,field_description:pms_base.field_pms_property__create_date +#: model:ir.model.fields,field_description:pms_base.field_pms_room__create_date +#: model:ir.model.fields,field_description:pms_base.field_pms_room_type__create_date +#: model:ir.model.fields,field_description:pms_base.field_pms_service__create_date +#: model:ir.model.fields,field_description:pms_base.field_pms_stage__create_date +#: model:ir.model.fields,field_description:pms_base.field_pms_tag__create_date +#: model:ir.model.fields,field_description:pms_base.field_pms_team__create_date +msgid "Created on" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__credit_limit +msgid "Credit Limit" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_property__partner_id +msgid "Current property" +msgstr "" + +#. module: pms_base +#: model:ir.ui.menu,name:pms_base.menu_board +msgid "Dashboard" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__date +msgid "Date" +msgstr "" + +#. module: pms_base +#: model:pms.team,name:pms_base.pms_team_default +msgid "Default Team" +msgstr "" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_res_config_settings_form +msgid "Define your unit of measure when entering area" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_stage__description +#: model:ir.model.fields,field_description:pms_base.field_pms_team__description +msgid "Description" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_amenity__active +msgid "Determines if amenity is active" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_amenity_type__active +msgid "Determines if amenity type is active" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_room__active +msgid "Determines if room is active" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_service__active +msgid "Determines if service is active" +msgstr "" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_property_form +msgid "Dining Room(s)" +msgstr "" + +#. module: pms_base +#: model:pms.room.type,name:pms_base.pms_room_type_dining +msgid "Diningroom" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_amenity__display_name +#: model:ir.model.fields,field_description:pms_base.field_pms_amenity_type__display_name +#: model:ir.model.fields,field_description:pms_base.field_pms_property__display_name +#: model:ir.model.fields,field_description:pms_base.field_pms_room__display_name +#: model:ir.model.fields,field_description:pms_base.field_pms_room_type__display_name +#: model:ir.model.fields,field_description:pms_base.field_pms_service__display_name +#: model:ir.model.fields,field_description:pms_base.field_pms_stage__display_name +#: model:ir.model.fields,field_description:pms_base.field_pms_tag__display_name +#: model:ir.model.fields,field_description:pms_base.field_pms_team__display_name +#: model:ir.model.fields,field_description:pms_base.field_res_company__display_name +#: model:ir.model.fields,field_description:pms_base.field_res_config_settings__display_name +#: model:ir.model.fields,field_description:pms_base.field_res_partner__display_name +msgid "Display Name" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__street_number2 +msgid "Door" +msgstr "" + +#. module: pms_base +#: model:pms.room.type,name:pms_base.pms_room_type_2 +msgid "Double" +msgstr "" + +#. module: pms_base +#: model:pms.room.type,name:pms_base.pms_room_type_0 +msgid "Economic" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_property__partner_share +msgid "" +"Either customer (not a user), either shared user. Indicated the current " +"partner is a customer without access or with a limited access created for " +"sharing data." +msgstr "" + +#. module: pms_base +#: model:ir.model.fields.selection,name:pms_base.selection__pms_property__heating__tankless_electric +msgid "Electric (Tankless)" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields.selection,name:pms_base.selection__pms_property__heating__boiler_electric +msgid "Electric Boiler" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__email +msgid "Email" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__employee +msgid "Employee" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__country_enforce_cities +msgid "Enforce Cities" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_room__sequence +#: model:ir.model.fields,help:pms_base.field_pms_service__sequence +msgid "" +"Field used to change the position of the rooms in tree view.Changing the " +"position changes the sequence" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__floors_num +msgid "Floor" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_stage__fold +msgid "Folded in Kanban" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__message_follower_ids +#: model:ir.model.fields,field_description:pms_base.field_pms_team__message_follower_ids +msgid "Followers" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__message_channel_ids +#: model:ir.model.fields,field_description:pms_base.field_pms_team__message_channel_ids +msgid "Followers (Channels)" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__message_partner_ids +#: model:ir.model.fields,field_description:pms_base.field_pms_team__message_partner_ids +msgid "Followers (Partners)" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_property__activity_type_icon +#: model:ir.model.fields,help:pms_base.field_pms_team__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_property__email_formatted +msgid "Format email address \"Name \"" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__email_formatted +msgid "Formatted Email" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_tag__full_name +msgid "Full Name" +msgstr "" + +#. module: pms_base +#: model:pms.room.type,name:pms_base.pms_room_type_garage +msgid "Garage" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields.selection,name:pms_base.selection__pms_property__heating__tankless_gas +msgid "Gas (Tankless)" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields.selection,name:pms_base.selection__pms_property__heating__boiler_gas +msgid "Gas Boiler" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__partner_latitude +msgid "Geo Latitude" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__partner_longitude +msgid "Geo Longitude" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__date_localization +msgid "Geolocation Date" +msgstr "" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_property_search +msgid "Group By" +msgstr "" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_amenity_search +msgid "Group By..." +msgstr "" + +#. module: pms_base +#: model:pms.room.type,name:pms_base.pms_room_type_half_bath +msgid "Half Bathroom" +msgstr "" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_property_form +msgid "Half Bathroom(s)" +msgstr "" + +#. module: pms_base +#: model:pms.room.type,name:pms_base.pms_room_type_hall +msgid "Hall" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__heating +msgid "Heating" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__street_number +msgid "House" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_amenity__id +#: model:ir.model.fields,field_description:pms_base.field_pms_amenity_type__id +#: model:ir.model.fields,field_description:pms_base.field_pms_property__id +#: model:ir.model.fields,field_description:pms_base.field_pms_room__id +#: model:ir.model.fields,field_description:pms_base.field_pms_room_type__id +#: model:ir.model.fields,field_description:pms_base.field_pms_service__id +#: model:ir.model.fields,field_description:pms_base.field_pms_stage__id +#: model:ir.model.fields,field_description:pms_base.field_pms_tag__id +#: model:ir.model.fields,field_description:pms_base.field_pms_team__id +#: model:ir.model.fields,field_description:pms_base.field_res_company__id +#: model:ir.model.fields,field_description:pms_base.field_res_config_settings__id +#: model:ir.model.fields,field_description:pms_base.field_res_partner__id +msgid "ID" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__im_status +msgid "IM Status" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__activity_exception_icon +#: model:ir.model.fields,field_description:pms_base.field_pms_team__activity_exception_icon +msgid "Icon" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_property__activity_exception_icon +#: model:ir.model.fields,help:pms_base.field_pms_team__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_property__message_needaction +#: model:ir.model.fields,help:pms_base.field_pms_property__message_unread +#: model:ir.model.fields,help:pms_base.field_pms_team__message_needaction +#: model:ir.model.fields,help:pms_base.field_pms_team__message_unread +msgid "If checked, new messages require your attention." +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_property__message_has_error +#: model:ir.model.fields,help:pms_base.field_pms_team__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_property__is_blacklisted +msgid "" +"If the email address is on the blacklist, the contact won't receive mass " +"mailing anymore, from any list" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__image_1920 +msgid "Image" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__image_1024 +msgid "Image 1024" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__image_128 +msgid "Image 128" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__image_256 +msgid "Image 256" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__image_512 +msgid "Image 512" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__industry_id +msgid "Industry" +msgstr "" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_property_form +msgid "Information" +msgstr "" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_res_config_settings_form +msgid "Integrations" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_amenity__default_code +msgid "Internal Reference" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_amenity__default_code +msgid "Internal unique identifier of the amenity" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_property__type +msgid "" +"Invoice & Delivery addresses are used in sales orders. Private addresses are" +" only visible by authorized users." +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__message_is_follower +#: model:ir.model.fields,field_description:pms_base.field_pms_team__message_is_follower +msgid "Is Follower" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__is_company +msgid "Is a Company" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__is_property +#: model:ir.model.fields,field_description:pms_base.field_res_partner__is_property +#: model:ir.model.fields,field_description:pms_base.field_res_users__is_property +msgid "Is a Property" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_stage__is_closed +msgid "Is a close stage" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_stage__is_default +msgid "Is a default stage" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__function +msgid "Job Position" +msgstr "" + +#. module: pms_base +#: model:pms.room.type,name:pms_base.pms_room_type_kitchen +msgid "Kitchen" +msgstr "" + +#. module: pms_base +#: model:pms.amenity.type,name:pms_base.pms_amenity_type_2 +msgid "Kitchen facilities" +msgstr "" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_property_form +msgid "Kitchen(s)" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__lang +msgid "Language" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_amenity____last_update +#: model:ir.model.fields,field_description:pms_base.field_pms_amenity_type____last_update +#: model:ir.model.fields,field_description:pms_base.field_pms_property____last_update +#: model:ir.model.fields,field_description:pms_base.field_pms_room____last_update +#: model:ir.model.fields,field_description:pms_base.field_pms_room_type____last_update +#: model:ir.model.fields,field_description:pms_base.field_pms_service____last_update +#: model:ir.model.fields,field_description:pms_base.field_pms_stage____last_update +#: model:ir.model.fields,field_description:pms_base.field_pms_tag____last_update +#: model:ir.model.fields,field_description:pms_base.field_pms_team____last_update +#: model:ir.model.fields,field_description:pms_base.field_res_company____last_update +#: model:ir.model.fields,field_description:pms_base.field_res_config_settings____last_update +#: model:ir.model.fields,field_description:pms_base.field_res_partner____last_update +msgid "Last Modified on" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_amenity__write_uid +#: model:ir.model.fields,field_description:pms_base.field_pms_amenity_type__write_uid +#: model:ir.model.fields,field_description:pms_base.field_pms_property__write_uid +#: model:ir.model.fields,field_description:pms_base.field_pms_room__write_uid +#: model:ir.model.fields,field_description:pms_base.field_pms_room_type__write_uid +#: model:ir.model.fields,field_description:pms_base.field_pms_service__write_uid +#: model:ir.model.fields,field_description:pms_base.field_pms_stage__write_uid +#: model:ir.model.fields,field_description:pms_base.field_pms_tag__write_uid +#: model:ir.model.fields,field_description:pms_base.field_pms_team__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_amenity__write_date +#: model:ir.model.fields,field_description:pms_base.field_pms_amenity_type__write_date +#: model:ir.model.fields,field_description:pms_base.field_pms_property__write_date +#: model:ir.model.fields,field_description:pms_base.field_pms_room__write_date +#: model:ir.model.fields,field_description:pms_base.field_pms_room_type__write_date +#: model:ir.model.fields,field_description:pms_base.field_pms_service__write_date +#: model:ir.model.fields,field_description:pms_base.field_pms_stage__write_date +#: model:ir.model.fields,field_description:pms_base.field_pms_tag__write_date +#: model:ir.model.fields,field_description:pms_base.field_pms_team__write_date +msgid "Last Updated on" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__calendar_last_notif_ack +msgid "Last notification marked as read from base Calendar" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__laundry_room +#: model:pms.amenity.type,name:pms_base.pms_amenity_type_3 +#: model:pms.room.type,name:pms_base.pms_room_type_laundry +msgid "Laundry Room" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_res_config_settings__module_pms_crm +msgid "Link a property to a lead" +msgstr "" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_res_config_settings_form +msgid "Link your leads to a property" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_property__room_ids +msgid "List of rooms in the property." +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_property__service_ids +msgid "List of services available in the property." +msgstr "" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_property_form +msgid "Living Rom(s)" +msgstr "" + +#. module: pms_base +#: model:pms.room.type,name:pms_base.pms_room_type_living +msgid "Livingroom" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__message_main_attachment_id +#: model:ir.model.fields,field_description:pms_base.field_pms_team__message_main_attachment_id +msgid "Main Attachment" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_res_config_settings__module_pms_account +#: model_terms:ir.ui.view,arch_db:pms_base.view_res_config_settings_form +msgid "Manage Accounting" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_res_config_settings__module_pms_account_asset +msgid "Manage Assets" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_res_config_settings__module_pms_contract +#: model_terms:ir.ui.view,arch_db:pms_base.view_res_config_settings_form +msgid "Manage Contracts" +msgstr "" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_res_config_settings_form +msgid "Manage Depreciation and Amortization" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_res_config_settings__module_pms_sale +#: model_terms:ir.ui.view,arch_db:pms_base.view_res_config_settings_form +msgid "Manage Reservations" +msgstr "" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_res_config_settings_form +msgid "Manage accounting related information" +msgstr "" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_res_config_settings_form +msgid "Manage amenities related to your properties" +msgstr "" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_res_config_settings_form +msgid "Manage assets related to your properties" +msgstr "" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_res_config_settings_form +msgid "Manage reservations" +msgstr "" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_res_config_settings_form +msgid "Manage rooms of your properties" +msgstr "" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_res_config_settings_form +msgid "Manage services available at your properties" +msgstr "" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_res_config_settings_form +msgid "Manage utility contracts and others recurring invoices/bills" +msgstr "" + +#. module: pms_base +#: model:ir.ui.menu,name:pms_base.menu_data +msgid "Master Data" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__image_medium +msgid "Medium-sized image" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__message_has_error +#: model:ir.model.fields,field_description:pms_base.field_pms_team__message_has_error +msgid "Message Delivery error" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__message_ids +#: model:ir.model.fields,field_description:pms_base.field_pms_team__message_ids +msgid "Messages" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__mobile +msgid "Mobile" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__my_activity_date_deadline +#: model:ir.model.fields,field_description:pms_base.field_pms_team__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_amenity__name +#: model:ir.model.fields,field_description:pms_base.field_pms_amenity_type__name +#: model:ir.model.fields,field_description:pms_base.field_pms_property__name +#: model:ir.model.fields,field_description:pms_base.field_pms_room_type__name +#: model:ir.model.fields,field_description:pms_base.field_pms_stage__name +#: model:ir.model.fields,field_description:pms_base.field_pms_tag__name +#: model:ir.model.fields,field_description:pms_base.field_pms_team__name +msgid "Name" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_amenity__name +msgid "Name of the amenity" +msgstr "" + +#. module: pms_base +#: model:pms.stage,name:pms_base.pms_stage_new +msgid "New" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__activity_date_deadline +#: model:ir.model.fields,field_description:pms_base.field_pms_team__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__activity_summary +#: model:ir.model.fields,field_description:pms_base.field_pms_team__activity_summary +msgid "Next Activity Summary" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__activity_type_id +#: model:ir.model.fields,field_description:pms_base.field_pms_team__activity_type_id +msgid "Next Activity Type" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__email_normalized +msgid "Normalized Email" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__comment +msgid "Notes" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__message_needaction_counter +#: model:ir.model.fields,field_description:pms_base.field_pms_team__message_needaction_counter +msgid "Number of Actions" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__message_has_error_counter +#: model:ir.model.fields,field_description:pms_base.field_pms_team__message_has_error_counter +msgid "Number of errors" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_property__message_needaction_counter +#: model:ir.model.fields,help:pms_base.field_pms_team__message_needaction_counter +msgid "Number of messages which requires an action" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_property__message_has_error_counter +#: model:ir.model.fields,help:pms_base.field_pms_team__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__room_count +msgid "Number of rooms" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_property__message_unread_counter +#: model:ir.model.fields,help:pms_base.field_pms_team__message_unread_counter +msgid "Number of unread messages" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__ocn_token +msgid "OCN Token" +msgstr "" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_res_config_settings_form +msgid "Online reservation" +msgstr "" + +#. module: pms_base +#: model:ir.ui.menu,name:pms_base.menu_operations +msgid "Operations" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_amenity__type_id +msgid "Organize amenities by type (multimedia, comfort, etc ...)" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__owner_id +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_property_search +msgid "Owner" +msgstr "" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_property_search +msgid "Owners" +msgstr "" + +#. module: pms_base +#: model:ir.model,name:pms_base.model_pms_stage +msgid "PMS Stage" +msgstr "" + +#. module: pms_base +#: model:ir.actions.act_window,name:pms_base.action_pms_stage +msgid "PMS Stages" +msgstr "" + +#. module: pms_base +#: model:ir.model,name:pms_base.model_pms_tag +msgid "PMS Tag" +msgstr "" + +#. module: pms_base +#: model:ir.model,name:pms_base.model_pms_team +msgid "PMS Team" +msgstr "" + +#. module: pms_base +#: model:ir.actions.act_window,name:pms_base.action_pms_team +msgid "PMS Teams" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_tag__parent_id +msgid "Parent" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__parent_id +msgid "Parent Property" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__parent_name +msgid "Parent name" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__parking_lot +#: model:pms.amenity.type,name:pms_base.pms_amenity_type_4 +#: model:pms.room.type,name:pms_base.pms_room_type_parking_lot +msgid "Parking Lot" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__same_vat_partner_id +msgid "Partner with same Tax ID" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__pets +#: model:pms.amenity.type,name:pms_base.pms_amenity_type_5 +#: model:pms.room.type,name:pms_base.pms_room_type_pets +msgid "Pets" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__phone +msgid "Phone" +msgstr "" + +#. module: pms_base +#: model:pms.room.type,name:pms_base.pms_room_type_play +msgid "Playroom" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__property_product_pricelist +msgid "Pricelist" +msgstr "" + +#. module: pms_base +#: model:ir.ui.menu,name:pms_base.menu_pms_data_product +msgid "Products" +msgstr "" + +#. module: pms_base +#: model:ir.actions.act_window,name:pms_base.action_pms_property +#: model:ir.actions.act_window,name:pms_base.property_action_from_dashboard +#: model:ir.model.fields,field_description:pms_base.field_pms_amenity__property_ids +#: model:ir.model.fields,field_description:pms_base.field_pms_team__property_ids +#: model:ir.ui.menu,name:pms_base.menu_config_property +#: model:ir.ui.menu,name:pms_base.menu_pms_data_property +#: model:ir.ui.menu,name:pms_base.menu_root +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_amenity_form +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_property_tree +#: model_terms:ir.ui.view,arch_db:pms_base.view_res_config_settings_form +msgid "Properties" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_team__property_count +msgid "Properties Count" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_amenity__property_ids +msgid "Properties with access to the amenity" +msgstr "" + +#. module: pms_base +#: model:ir.model,name:pms_base.model_pms_property +#: model:ir.model.fields,field_description:pms_base.field_pms_property__partner_id +#: model:ir.model.fields,field_description:pms_base.field_pms_room__property_id +#: model:ir.model.fields,field_description:pms_base.field_pms_service__property_id +#: model:ir.model.fields.selection,name:pms_base.selection__pms_stage__stage_type__property +#: model_terms:ir.ui.view,arch_db:pms_base.view_partner_form_inherit_pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_property_form +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_property_kanban +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_property_search +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_room_search +#: model_terms:ir.ui.view,arch_db:pms_base.view_res_partner_filter_inherit_pms_base +msgid "Property" +msgstr "" + +#. module: pms_base +#: model:ir.model,name:pms_base.model_pms_amenity +msgid "Property Amenity" +msgstr "" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_res_config_settings_form +msgid "Property Information" +msgstr "" + +#. module: pms_base +#: model:res.groups,name:pms_base.group_pms_user +msgid "Property Management / User" +msgstr "" + +#. module: pms_base +#: model:res.groups,name:pms_base.group_pms_manager +msgid "Property Management/ Manager" +msgstr "" + +#. module: pms_base +#: model:ir.model,name:pms_base.model_pms_room +msgid "Property Room" +msgstr "" + +#. module: pms_base +#: model:ir.model,name:pms_base.model_pms_service +msgid "Property Service" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_res_config_settings__module_pms_website +msgid "Publish properties" +msgstr "" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_res_config_settings_form +msgid "Publish properties to https://guesty.com and get reservations" +msgstr "" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_res_config_settings_form +msgid "Publish properties to https://wubook.com and get reservations" +msgstr "" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_res_config_settings_form +msgid "Publish your properties on your website" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__qty_bedroom +msgid "Qty Bedroom" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__qty_dining_room +msgid "Qty Dining Room" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__qty_half_bathroom +msgid "Qty Half Bathroom" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__qty_kitchen +msgid "Qty Kitchen" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__qty_living_room +msgid "Qty Living Room" +msgstr "" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_property_form +msgid "Quantities" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__ref +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_property_form +msgid "Reference" +msgstr "" + +#. module: pms_base +#: model:ir.ui.menu,name:pms_base.menu_report +msgid "Reporting" +msgstr "" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_res_config_settings_form +msgid "Reservations" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__activity_user_id +#: model:ir.model.fields,field_description:pms_base.field_pms_team__activity_user_id +msgid "Responsible User" +msgstr "" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_room_form +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_room_search +msgid "Room" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_room__name +#: model:ir.model.fields,help:pms_base.field_pms_room__name +msgid "Room Name" +msgstr "" + +#. module: pms_base +#: model:ir.model,name:pms_base.model_pms_room_type +#: model:ir.model.fields,field_description:pms_base.field_pms_room__type_id +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_room_type_form +msgid "Room Type" +msgstr "" + +#. module: pms_base +#: model:ir.actions.act_window,name:pms_base.action_pms_room_type +#: model:ir.ui.menu,name:pms_base.menu_pms_config_property_room_type +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_room_search +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_room_type_tree +msgid "Room Types" +msgstr "" + +#. module: pms_base +#: model:ir.actions.act_window,name:pms_base.action_pms_room +#: model:ir.model.fields,field_description:pms_base.field_pms_property__room_ids +#: model:ir.ui.menu,name:pms_base.menu_pms_data_room +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_property_form +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_room_tree +msgid "Rooms" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__user_id +msgid "Salesperson" +msgstr "" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_stage_search +msgid "Search Stages" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__self +msgid "Self" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_room__sequence +#: model:ir.model.fields,field_description:pms_base.field_pms_room_type__sequence +#: model:ir.model.fields,field_description:pms_base.field_pms_service__sequence +#: model:ir.model.fields,field_description:pms_base.field_pms_stage__sequence +#: model:ir.model.fields,field_description:pms_base.field_pms_team__sequence +msgid "Sequence" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_service__name +#: model:ir.model.fields,help:pms_base.field_pms_service__name +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_service_form +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_service_search +msgid "Service" +msgstr "" + +#. module: pms_base +#: model:ir.actions.act_window,name:pms_base.action_pms_service +#: model:ir.model.fields,field_description:pms_base.field_pms_property__service_ids +#: model:ir.ui.menu,name:pms_base.menu_pms_data_service +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_property_form +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_service_tree +msgid "Services" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_stage__is_closed +msgid "Services in this stage are considered as closed." +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_room_type__icon +#: model:ir.model.fields,help:pms_base.field_pms_service__icon +msgid "Set Icon name from https://fontawesome.com/" +msgstr "" + +#. module: pms_base +#: model:ir.actions.act_window,name:pms_base.action_pms_config +#: model:ir.ui.menu,name:pms_base.menu_pms_config_settings +msgid "Settings" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__partner_share +msgid "Share Partner" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_res_config_settings__group_pms_show_amenity +#: model:res.groups,name:pms_base.group_pms_show_amenity +#: model_terms:ir.ui.view,arch_db:pms_base.view_res_config_settings_form +msgid "Show Amenities" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_res_config_settings__group_pms_show_room +#: model:res.groups,name:pms_base.group_pms_show_room +#: model_terms:ir.ui.view,arch_db:pms_base.view_res_config_settings_form +msgid "Show Rooms" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_res_config_settings__group_pms_show_service +#: model:res.groups,name:pms_base.group_pms_show_service +#: model_terms:ir.ui.view,arch_db:pms_base.view_res_config_settings_form +msgid "Show Services" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_res_config_settings__group_pms_show_team +#: model:res.groups,name:pms_base.group_pms_show_team +#: model_terms:ir.ui.view,arch_db:pms_base.view_res_config_settings_form +msgid "Show Teams" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__signup_expiration +msgid "Signup Expiration" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__signup_token +msgid "Signup Token" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__signup_type +msgid "Signup Token Type" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__signup_valid +msgid "Signup Token is Valid" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__signup_url +msgid "Signup URL" +msgstr "" + +#. module: pms_base +#: model:pms.room.type,name:pms_base.pms_room_type_1 +msgid "Single" +msgstr "" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_res_config_settings_form +msgid "Split your properties by Team" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields.selection,name:pms_base.selection__res_company__pms_uom__ft +msgid "Square Foot" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields.selection,name:pms_base.selection__res_company__pms_uom__m +msgid "Square Meter" +msgstr "" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_stage_form +msgid "Stage" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_team__stage_ids +#: model:ir.ui.menu,name:pms_base.menu_config_stage +#: model_terms:ir.ui.view,arch_db:pms_base.view_stage_tree +msgid "Stages" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__state_id +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_property_form +msgid "State" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_property__activity_state +#: model:ir.model.fields,help:pms_base.field_pms_team__activity_state +msgid "" +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__street +msgid "Street" +msgstr "" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_property_form +msgid "Street 2..." +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__street_name +msgid "Street Name" +msgstr "" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_property_form +msgid "Street..." +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__street2 +msgid "Street2" +msgstr "" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_tag_form +msgid "Tag" +msgstr "" + +#. module: pms_base +#: model:ir.model.constraint,message:pms_base.constraint_pms_tag_name_uniq +msgid "Tag name already exists!" +msgstr "" + +#. module: pms_base +#: model:ir.actions.act_window,name:pms_base.action_pms_tag +#: model:ir.model.fields,field_description:pms_base.field_pms_property__category_id +#: model:ir.model.fields,field_description:pms_base.field_pms_property__tag_ids +#: model:ir.ui.menu,name:pms_base.menu_config_tag +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_tag_tree +msgid "Tags" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__vat +msgid "Tax ID" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__team_id +#: model_terms:ir.ui.view,arch_db:pms_base.view_team_form +msgid "Team" +msgstr "" + +#. module: pms_base +#: model:ir.model.constraint,message:pms_base.constraint_pms_team_name_uniq +msgid "Team name already exists!" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_stage__team_ids +#: model:ir.ui.menu,name:pms_base.menu_board_pms_team +#: model:ir.ui.menu,name:pms_base.menu_config_team +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_property_search +#: model_terms:ir.ui.view,arch_db:pms_base.view_team_tree +msgid "Teams" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__terrace +msgid "Terrace" +msgstr "" + +#. module: pms_base +#: model:pms.room.type,name:pms_base.pms_room_type_patio +msgid "Terrace/Patio" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_property__vat +msgid "" +"The Tax Identification Number. Complete it if the contact is subjected to " +"government taxes. Used in some legal statements." +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_property__user_id +msgid "The internal user in charge of this contact." +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_room__capacity +msgid "The maximum number of people that can occupy a room" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_property__owner_id +msgid "The owner of the property." +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_property__tz +msgid "This field is used to determine the timezone of the property." +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_property__email_normalized +msgid "" +"This field is used to search on email address as the primary email field can" +" contain more than strictly an email address." +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_property__property_product_pricelist +msgid "" +"This pricelist will be used, instead of the default one, for sales to the " +"current partner" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_stage__fold +msgid "" +"This stage is folded in the kanban view when there are no record in that " +"stage to display." +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__tz +msgid "Timezone" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__tz_offset +msgid "Timezone offset" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__title +msgid "Title" +msgstr "" + +#. module: pms_base +#: model:pms.amenity.type,name:pms_base.pms_amenity_type_0 +msgid "Toiletries" +msgstr "" + +#. module: pms_base +#: model:pms.room.type,name:pms_base.pms_room_type_3 +msgid "Triple" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_amenity__type_id +#: model:ir.model.fields,field_description:pms_base.field_pms_stage__stage_type +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_amenity_form +#: model_terms:ir.ui.view,arch_db:pms_base.view_stage_search +msgid "Type" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_property__activity_exception_decoration +#: model:ir.model.fields,help:pms_base.field_pms_team__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_room__type_id +msgid "Unique room type for the rooms" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__unit_floor +msgid "Unit Floor" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_res_company__pms_uom +#: model:ir.model.fields,field_description:pms_base.field_res_config_settings__pms_uom +msgid "Unit of Measure" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__message_unread +#: model:ir.model.fields,field_description:pms_base.field_pms_team__message_unread +msgid "Unread Messages" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__message_unread_counter +#: model:ir.model.fields,field_description:pms_base.field_pms_team__message_unread_counter +msgid "Unread Messages Counter" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_stage__custom_color +msgid "Use Hex Code only Ex:-#FFFFFF" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_property__barcode +msgid "Use a barcode to identify this contact." +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_stage__is_default +msgid "Used as default stage" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_property__ocn_token +msgid "Used for sending notification to registered devices" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,help:pms_base.field_pms_team__sequence +msgid "Used to sort teams. Lower is better." +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__user_ids +msgid "Users" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_service__vendor_id +msgid "Vendor" +msgstr "" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_service_search +msgid "Vendors" +msgstr "" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_res_config_settings_form +msgid "Website" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_room_type__icon +#: model:ir.model.fields,field_description:pms_base.field_pms_service__icon +msgid "Website Icon" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__website +msgid "Website Link" +msgstr "" + +#. module: pms_base +#: model:ir.model.constraint,message:pms_base.constraint_pms_room_room_property_unique +msgid "You cannot have more 2 rooms with the same name in the same property." +msgstr "" + +#. module: pms_base +#: model_terms:ir.ui.view,arch_db:pms_base.view_pms_property_form +msgid "ZIP" +msgstr "" + +#. module: pms_base +#: model:ir.model.fields,field_description:pms_base.field_pms_property__zip +msgid "Zip" +msgstr "" diff --git a/pms_base/models/__init__.py b/pms_base/models/__init__.py new file mode 100644 index 000000000..a971276fa --- /dev/null +++ b/pms_base/models/__init__.py @@ -0,0 +1,19 @@ +# Copyright 2018 Alexandre Díaz +# Copyright 2018 Dario Lodeiros +# Copyright (c) 2021 Open Source Integrators +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from . import ( + pms_stage, + pms_tag, + pms_team, + pms_room_type, + pms_amenity_type, + pms_room, + pms_amenity, + pms_service, + pms_property, + res_company, + res_config_settings, + res_partner, +) diff --git a/pms_base/models/pms_amenity.py b/pms_base/models/pms_amenity.py new file mode 100644 index 000000000..ad8c8b5e5 --- /dev/null +++ b/pms_base/models/pms_amenity.py @@ -0,0 +1,33 @@ +# Copyright 2017 Alexandre Díaz +# Copyright 2017 Dario Lodeiros +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +from odoo import fields, models + + +class PmsAmenity(models.Model): + _name = "pms.amenity" + _description = "Property Amenity" + + active = fields.Boolean( + string="Active", help="Determines if amenity is active", default=True + ) + name = fields.Char( + string="Name", help="Name of the amenity", required=True, translate=True + ) + property_ids = fields.Many2many( + string="Properties", + help="Properties with access to the amenity", + comodel_name="pms.property", + ondelete="restrict", + relation="pms_property_amenity_rel", + column1="amenity_id", + column2="property_id", + ) + type_id = fields.Many2one( + string="Type", + help="Organize amenities by type (multimedia, comfort, etc ...)", + comodel_name="pms.amenity.type", + ) + default_code = fields.Char( + string="Internal Reference", help="Internal unique identifier of the amenity" + ) diff --git a/pms_base/models/pms_amenity_type.py b/pms_base/models/pms_amenity_type.py new file mode 100644 index 000000000..211a0cfb4 --- /dev/null +++ b/pms_base/models/pms_amenity_type.py @@ -0,0 +1,14 @@ +# Copyright 2017 Alexandre Díaz +# Copyright 2017 Dario Lodeiros +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +from odoo import fields, models + + +class PmsRoomAmenityType(models.Model): + _name = "pms.amenity.type" + _description = "Amenity Type" + + active = fields.Boolean( + string="Active", help="Determines if amenity type is active", default=True + ) + name = fields.Char(string="Name", required=True, translate=True) diff --git a/pms_base/models/pms_property.py b/pms_base/models/pms_property.py new file mode 100644 index 000000000..37da8c503 --- /dev/null +++ b/pms_base/models/pms_property.py @@ -0,0 +1,288 @@ +# Copyright 2019 Pablo Quesada +# Copyright 2019 Dario Lodeiros +# Copyright (c) 2021 Open Source Integrators +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +from odoo import api, fields, models + +from odoo.addons.base.models.res_partner import _tz_get + + +class PmsProperty(models.Model): + _name = "pms.property" + _description = "Property" + _inherit = ["mail.thread", "mail.activity.mixin"] + _inherits = {"res.partner": "partner_id"} + + def _default_team_id(self): + return self.env.ref("pms_base.pms_team_default", raise_if_not_found=False) + + partner_id = fields.Many2one( + string="Property", + help="Current property", + comodel_name="res.partner", + required=True, + ondelete="cascade", + ) + owner_id = fields.Many2one( + string="Owner", + help="The owner of the property.", + comodel_name="res.partner", + required=True, + ) + parent_id = fields.Many2one(string="Parent Property", comodel_name="pms.property") + property_child_ids = fields.One2many( + "pms.property", "parent_id", string="Children Property" + ) + company_id = fields.Many2one(string="Company", comodel_name="res.company") + team_id = fields.Many2one( + "pms.team", string="Team", default=lambda self: self._default_team_id() + ) + room_ids = fields.One2many( + string="Rooms", + help="List of rooms in the property.", + comodel_name="pms.room", + inverse_name="property_id", + ) + room_count = fields.Integer(string="Number of rooms", compute="_compute_room_count") + amenity_ids = fields.Many2many( + string="Amenities", + help="Amenities available in this property", + comodel_name="pms.amenity", + ondelete="restrict", + relation="pms_property_amenity_rel", + column1="property_id", + column2="amenity_id", + ) + service_ids = fields.One2many( + string="Services", + help="List of services available in the property.", + comodel_name="pms.service", + inverse_name="property_id", + ) + tag_ids = fields.Many2many( + string="Tags", + comodel_name="pms.tag", + relation="pms_property_tag_rel", + column1="property_id", + column2="tag_id", + ) + tz = fields.Selection( + string="Timezone", + help="This field is used to determine the timezone of the property.", + required=True, + default=lambda self: self.env.user.tz or "UTC", + selection=_tz_get, + ) + area = fields.Float(string="Area") + heating = fields.Selection( + string="Heating", + selection=[ + ("tankless_gas", "Gas (Tankless)"), + ("boiler_gas", "Gas Boiler"), + ("tankless_electric", "Electric (Tankless)"), + ("boiler_electric", "Electric Boiler"), + ("boiler_building", "Building Boiler"), + ], + ) + childs_property_count = fields.Integer( + "Children Count", compute="_compute_childs_property" + ) + floors_num = fields.Integer(string="Floor") + unit_floor = fields.Integer(string="Unit Floor") + balcony = fields.Boolean(string="Balcony", compute="_compute_balcony", store=True) + laundry_room = fields.Boolean( + string="Laundry Room", compute="_compute_laundry_room", store=True + ) + parking_lot = fields.Boolean( + string="Parking Lot", compute="_compute_parking_lot", store=True + ) + pets = fields.Boolean(string="Pets", compute="_compute_pets", store=True) + terrace = fields.Boolean(string="Terrace", compute="_compute_terrace", store=True) + qty_half_bathroom = fields.Integer( + string="Qty Half Bathroom", compute="_compute_qty_half_bathroom", store=True + ) + qty_living_room = fields.Integer( + string="Qty Living Room", compute="_compute_qty_living_room", store=True + ) + qty_dining_room = fields.Integer( + string="Qty Dining Room", compute="_compute_qty_dining_room", store=True + ) + qty_kitchen = fields.Integer( + string="Qty Kitchen", compute="_compute_qty_kitchen", store=True + ) + qty_bedroom = fields.Integer( + string="Qty Bedroom", compute="_compute_qty_bedroom", store=True + ) + + @api.depends("property_child_ids") + def _compute_childs_property(self): + for rec in self: + rec.childs_property_count = len(rec.property_child_ids) + + @api.depends("room_ids") + def _compute_room_count(self): + for rec in self: + rec.room_count = len(rec.room_ids) + + @api.depends("room_ids") + def _compute_balcony(self): + for rec in self: + type_id = self.env.ref( + "pms_base.pms_room_type_balcony", raise_if_not_found=False + ) + balcony = len(rec.room_ids.filtered(lambda x: x.type_id == type_id)) + if balcony: + rec.balcony = True + else: + rec.balcony = False + + @api.depends("room_ids", "amenity_ids") + def _compute_laundry_room(self): + for rec in self: + room_type_id = self.env.ref( + "pms_base.pms_room_type_laundry", raise_if_not_found=False + ) + amenity_type_id = self.env.ref( + "pms_base.pms_amenity_type_3", raise_if_not_found=False + ) + room_count_laundry = len( + rec.room_ids.filtered(lambda x: x.type_id == room_type_id) + ) + amenity_count_laundry = len( + rec.amenity_ids.filtered(lambda x: x.type_id == amenity_type_id) + ) + if room_count_laundry or amenity_count_laundry: + rec.laundry_room = True + else: + rec.laundry_room = False + + @api.depends("room_ids", "amenity_ids") + def _compute_parking_lot(self): + for rec in self: + room_type_id = self.env.ref( + "pms_base.pms_room_type_parking_lot", raise_if_not_found=False + ) + amenity_type_id = self.env.ref( + "pms_base.pms_amenity_type_4", raise_if_not_found=False + ) + room_count_parking = len( + rec.room_ids.filtered(lambda x: x.type_id == room_type_id) + ) + amenity_count_parking = len( + rec.amenity_ids.filtered(lambda x: x.type_id == amenity_type_id) + ) + if room_count_parking or amenity_count_parking: + rec.parking_lot = True + else: + rec.parking_lot = False + + @api.depends("room_ids", "amenity_ids") + def _compute_pets(self): + for rec in self: + room_type_id = self.env.ref( + "pms_base.pms_room_type_pets", raise_if_not_found=False + ) + amenity_type_id = self.env.ref( + "pms_base.pms_amenity_type_5", raise_if_not_found=False + ) + room_count_pets = len( + rec.room_ids.filtered(lambda x: x.type_id == room_type_id) + ) + amenity_count_pets = len( + rec.amenity_ids.filtered(lambda x: x.type_id == amenity_type_id) + ) + if room_count_pets or amenity_count_pets: + rec.pets = True + else: + rec.pets = False + + @api.depends("room_ids") + def _compute_terrace(self): + for rec in self: + type_id = self.env.ref( + "pms_base.pms_room_type_patio", raise_if_not_found=False + ) + terrace = len(rec.room_ids.filtered(lambda x: x.type_id == type_id)) + if terrace: + rec.terrace = True + else: + rec.terrace = False + + @api.depends("room_ids") + def _compute_qty_half_bathroom(self): + for rec in self: + type_id = self.env.ref( + "pms_base.pms_room_type_half_bath", raise_if_not_found=False + ) + rec.qty_half_bathroom = len( + rec.room_ids.filtered(lambda x: x.type_id == type_id) + ) + + @api.depends("room_ids") + def _compute_qty_living_room(self): + for rec in self: + type_id = self.env.ref( + "pms_base.pms_room_type_living", raise_if_not_found=False + ) + rec.qty_living_room = len( + rec.room_ids.filtered(lambda x: x.type_id == type_id) + ) + + @api.depends("room_ids") + def _compute_qty_dining_room(self): + for rec in self: + type_id = self.env.ref( + "pms_base.pms_room_type_dining", raise_if_not_found=False + ) + rec.qty_dining_room = len( + rec.room_ids.filtered(lambda x: x.type_id == type_id) + ) + + @api.depends("room_ids") + def _compute_qty_kitchen(self): + for rec in self: + type_id = self.env.ref( + "pms_base.pms_room_type_kitchen", raise_if_not_found=False + ) + rec.qty_kitchen = len(rec.room_ids.filtered(lambda x: x.type_id == type_id)) + + @api.depends("room_ids") + def _compute_qty_bedroom(self): + for rec in self: + type_id = self.env.ref( + "pms_base.pms_room_type_bed", raise_if_not_found=False + ) + rec.qty_bedroom = len(rec.room_ids.filtered(lambda x: x.type_id == type_id)) + + def action_view_childs_property_list(self): + action = self.env["ir.actions.actions"]._for_xml_id( + "pms_base.action_pms_property" + ) + action["domain"] = [("id", "in", self.property_child_ids.ids)] + return action + + @api.model + def create(self, vals): + vals.update({"is_property": True}) + return super(PmsProperty, self).create(vals) + + def name_get(self): + # Prefetch the fields used by the `name_get`, so `browse` doesn't fetch other fields + self.browse(self.ids).read(["name", "ref"]) + return [ + ( + property.id, + "%s%s" % (property.ref and "[%s] " % property.ref or "", property.name), + ) + for property in self + ] + + @api.model + def _name_search( + self, name, args=None, operator="ilike", limit=100, name_get_uid=None + ): + args = args or [] + domain = [] + if name: + domain = ["|", ("name", operator, name), ("ref", operator, name)] + return self._search(domain + args, limit=limit, access_rights_uid=name_get_uid) diff --git a/pms_base/models/pms_room.py b/pms_base/models/pms_room.py new file mode 100644 index 000000000..cc01f5373 --- /dev/null +++ b/pms_base/models/pms_room.py @@ -0,0 +1,47 @@ +# Copyright 2017 Alexandre Díaz +# Copyright 2017 Dario Lodeiros +# Copyright 2018 Pablo Quesada +# Copyright (c) 2021 Open Source Integrators +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +from odoo import fields, models + + +class PmsRoom(models.Model): + _name = "pms.room" + _description = "Property Room" + _order = "sequence, type_id, name" + + name = fields.Char(string="Room Name", help="Room Name", required=True) + active = fields.Boolean( + string="Active", help="Determines if room is active", default=True + ) + sequence = fields.Integer( + string="Sequence", + help="Field used to change the position of the rooms in tree view." + "Changing the position changes the sequence", + default=0, + ) + property_id = fields.Many2one( + string="Property", + required=True, + comodel_name="pms.property", + ondelete="restrict", + ) + type_id = fields.Many2one( + string="Room Type", + help="Unique room type for the rooms", + required=True, + comodel_name="pms.room.type", + ondelete="restrict", + ) + capacity = fields.Integer( + string="Capacity", help="The maximum number of people that can occupy a room" + ) + area = fields.Float(string="Area") + _sql_constraints = [ + ( + "room_property_unique", + "unique(name, property_id)", + "You cannot have more 2 rooms with the same name in the same property.", + ) + ] diff --git a/pms_base/models/pms_room_type.py b/pms_base/models/pms_room_type.py new file mode 100644 index 000000000..6a84c7eee --- /dev/null +++ b/pms_base/models/pms_room_type.py @@ -0,0 +1,17 @@ +# Copyright 2017 Alexandre Díaz +# Copyright 2017 Dario Lodeiros +# Copyright 2021 Eric Antones +# Copyright (c) 2021 Open Source Integrators +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +from odoo import fields, models + + +class PmsRoomType(models.Model): + _name = "pms.room.type" + _description = "Room Type" + + name = fields.Char(string="Name", required=True, translate=True) + sequence = fields.Integer(string="Sequence", default=0) + icon = fields.Char( + string="Website Icon", help="Set Icon name from https://fontawesome.com/" + ) diff --git a/pms_base/models/pms_service.py b/pms_base/models/pms_service.py new file mode 100644 index 000000000..1ab7b1fb3 --- /dev/null +++ b/pms_base/models/pms_service.py @@ -0,0 +1,41 @@ +# Copyright 2017 Alexandre Díaz +# Copyright 2017 Dario Lodeiros +# Copyright 2018 Pablo Quesada +# Copyright (c) 2021 Open Source Integrators +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +from odoo import fields, models + + +class PmsService(models.Model): + _name = "pms.service" + _description = "Property Service" + + name = fields.Many2one( + string="Service", + help="Service", + required=True, + comodel_name="product.product", + ondelete="restrict", + domain="[('type', '=', 'service')]", + ) + active = fields.Boolean( + string="Active", help="Determines if service is active", default=True + ) + sequence = fields.Integer( + string="Sequence", + help="Field used to change the position of the rooms in tree view." + "Changing the position changes the sequence", + default=0, + ) + property_id = fields.Many2one( + string="Property", + required=True, + comodel_name="pms.property", + ondelete="restrict", + ) + vendor_id = fields.Many2one( + string="Vendor", required=True, comodel_name="res.partner", ondelete="restrict" + ) + icon = fields.Char( + string="Website Icon", help="Set Icon name from https://fontawesome.com/" + ) diff --git a/pms_base/models/pms_stage.py b/pms_base/models/pms_stage.py new file mode 100644 index 000000000..c7ea84489 --- /dev/null +++ b/pms_base/models/pms_stage.py @@ -0,0 +1,51 @@ +# Copyright (c) 2021 Open Source Integrators +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +from odoo import _, api, fields, models +from odoo.exceptions import ValidationError + + +class PMSStage(models.Model): + _name = "pms.stage" + _description = "PMS Stage" + _order = "sequence, name, id" + + def _default_team_ids(self): + default_team_id = self.env.context.get("default_team_id") + return [default_team_id] if default_team_id else None + + name = fields.Char(string="Name", required=True, translate=True) + sequence = fields.Integer("Sequence", default=1) + fold = fields.Boolean( + "Folded in Kanban", + help="This stage is folded in the kanban view when " + "there are no record in that stage to display.", + ) + is_closed = fields.Boolean( + "Is a close stage", help="Services in this stage are considered " "as closed." + ) + is_default = fields.Boolean("Is a default stage", help="Used as default stage") + description = fields.Text(translate=True) + company_id = fields.Many2one( + "res.company", + string="Company", + required=False, + index=True, + default=lambda self: self.env.user.company_id, + ) + team_ids = fields.Many2many( + "pms.team", string="Teams", default=lambda self: self._default_team_ids() + ) + stage_type = fields.Selection([("property", "Property")], "Type", required=True) + custom_color = fields.Char( + "Color Code", default="#FFFFFF", help="Use Hex Code only Ex:-#FFFFFF" + ) + active = fields.Boolean(string="Active", default=True) + + @api.constrains("custom_color") + def _check_custom_color_hex_code(self): + if ( + self.custom_color + and not self.custom_color.startswith("#") + or len(self.custom_color) != 7 + ): + raise ValidationError(_("Color code should be Hex Code. Ex:-#FFFFFF")) diff --git a/pms_base/models/pms_tag.py b/pms_base/models/pms_tag.py new file mode 100644 index 000000000..253bd9cd2 --- /dev/null +++ b/pms_base/models/pms_tag.py @@ -0,0 +1,33 @@ +# Copyright 2017 Alexandre Díaz +# Copyright 2017 Dario Lodeiros +# Copyright 2021 Eric Antones +# Copyright (c) 2021 Open Source Integrators +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +from odoo import fields, models + + +class PmsTag(models.Model): + _name = "pms.tag" + _description = "PMS Tag" + + name = fields.Char(string="Name", required=True, translate=True) + parent_id = fields.Many2one("pms.tag", string="Parent") + color = fields.Integer("Color Index", default=10) + full_name = fields.Char(string="Full Name", compute="_compute_full_name") + company_id = fields.Many2one( + "res.company", + string="Company", + required=True, + index=True, + default=lambda self: self.env.user.company_id, + help="Company related to this tag", + ) + + _sql_constraints = [("name_uniq", "unique (name)", "Tag name already exists!")] + + def _compute_full_name(self): + for record in self: + if record.parent_id: + record.full_name = record.parent_id.name + "/" + record.name + else: + record.full_name = record.name diff --git a/pms_base/models/pms_team.py b/pms_base/models/pms_team.py new file mode 100644 index 000000000..bc99781b3 --- /dev/null +++ b/pms_base/models/pms_team.py @@ -0,0 +1,41 @@ +# Copyright (c) 2021 Open Source Integrators +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +from odoo import fields, models + + +class PMSTeam(models.Model): + _name = "pms.team" + _description = "PMS Team" + _inherit = ["mail.thread", "mail.activity.mixin"] + + def _default_stages(self): + return self.env["pms.stage"].search([("is_default", "=", True)]) + + def _compute_property_count(self): + property_count = 0 + property_obj = self.env["pms.property"] + for rec in self: + property_count = property_obj.search_count([("team_id", "=", rec.id)]) + rec.property_count = property_count + + name = fields.Char(required=True, translate=True) + description = fields.Text(translate=True) + color = fields.Integer("Color Index") + stage_ids = fields.Many2many("pms.stage", string="Stages", default=_default_stages) + property_ids = fields.One2many("pms.property", "team_id", string="Properties") + property_count = fields.Integer( + compute="_compute_property_count", string="Properties Count" + ) + sequence = fields.Integer( + "Sequence", default=1, help="Used to sort teams. Lower is better." + ) + company_id = fields.Many2one( + "res.company", + string="Company", + required=False, + index=True, + default=lambda self: self.env.user.company_id, + help="Company related to this team", + ) + + _sql_constraints = [("name_uniq", "unique (name)", "Team name already exists!")] diff --git a/pms_base/models/res_company.py b/pms_base/models/res_company.py new file mode 100644 index 000000000..296c076a7 --- /dev/null +++ b/pms_base/models/res_company.py @@ -0,0 +1,15 @@ +# Copyright 2017 Alexandre Díaz +# Copyright 2017 Dario Lodeiros +# Copyright (c) 2021 Open Source Integrators +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +from odoo import fields, models + + +class ResCompany(models.Model): + _inherit = "res.company" + + pms_uom = fields.Selection( + [("ft", "Square Foot"), ("m", "Square Meter")], + string="Unit of Measure", + default="m", + ) diff --git a/pms_base/models/res_config_settings.py b/pms_base/models/res_config_settings.py new file mode 100644 index 000000000..4d77b8310 --- /dev/null +++ b/pms_base/models/res_config_settings.py @@ -0,0 +1,39 @@ +# Copyright 2017 Alexandre Díaz +# Copyright 2017 Dario Lodeiros +# Copyright (c) 2021 Open Source Integrators +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +from odoo import fields, models + + +class ResConfigSettings(models.TransientModel): + _inherit = "res.config.settings" + + # Groups + group_pms_show_amenity = fields.Boolean( + string="Show Amenities", implied_group="pms_base.group_pms_show_amenity" + ) + group_pms_show_room = fields.Boolean( + string="Show Rooms", implied_group="pms_base.group_pms_show_room" + ) + group_pms_show_service = fields.Boolean( + string="Show Services", implied_group="pms_base.group_pms_show_service" + ) + group_pms_show_team = fields.Boolean( + string="Show Teams", implied_group="pms_base.group_pms_show_team" + ) + + # Modules + module_pms_account = fields.Boolean(string="Manage Accounting") + module_pms_account_asset = fields.Boolean(string="Manage Assets") + module_pms_contract = fields.Boolean(string="Manage Contracts") + module_pms_crm = fields.Boolean(string="Link a property to a lead") + module_pms_sale = fields.Boolean(string="Manage Reservations") + module_pms_website = fields.Boolean(string="Publish properties") + module_pms_website_sale = fields.Boolean(string="Allow online booking") + module_connector_guesty = fields.Boolean(string="Connect with Guesty") + module_connector_wubook = fields.Boolean(string="Connect with Wubook") + + # Companies + pms_uom = fields.Selection( + string="Unit of Measure", related="company_id.pms_uom", readonly=False + ) diff --git a/pms_base/models/res_partner.py b/pms_base/models/res_partner.py new file mode 100644 index 000000000..5c1703782 --- /dev/null +++ b/pms_base/models/res_partner.py @@ -0,0 +1,9 @@ +# Copyright (c) 2021 Open Source Integrators +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +from odoo import fields, models + + +class ResPartner(models.Model): + _inherit = "res.partner" + + is_property = fields.Boolean(string="Is a Property") diff --git a/pms_base/readme/CONFIGURE.rst b/pms_base/readme/CONFIGURE.rst new file mode 100644 index 000000000..173b6bdd6 --- /dev/null +++ b/pms_base/readme/CONFIGURE.rst @@ -0,0 +1 @@ +* Go to Properties > Configuration > Settings. diff --git a/pms_base/readme/CONTRIBUTORS.rst b/pms_base/readme/CONTRIBUTORS.rst new file mode 100644 index 000000000..ced562e48 --- /dev/null +++ b/pms_base/readme/CONTRIBUTORS.rst @@ -0,0 +1,14 @@ +* Alexandre Díaz +* Pablo Quesada +* Jose Luis Algara +* `Commit [Sun] `: + + * Dario Lodeiros + * Eric Antones + * Sara Lago + * Brais Abeijon + * Miguel Padin + +* `Open Source Integrators `: + + * Maxime Chambreuil diff --git a/pms_base/readme/DESCRIPTION.rst b/pms_base/readme/DESCRIPTION.rst new file mode 100644 index 000000000..55ee4048c --- /dev/null +++ b/pms_base/readme/DESCRIPTION.rst @@ -0,0 +1,3 @@ +This module is the base module for the property management system (PMS) modules. + +It provides the "Properties" apps with menu, settings, groups and data. diff --git a/pms_base/readme/USAGE.rst b/pms_base/readme/USAGE.rst new file mode 100644 index 000000000..acb2b8f3d --- /dev/null +++ b/pms_base/readme/USAGE.rst @@ -0,0 +1 @@ +To use this module, please read the complete user guide at ``_. diff --git a/pms_base/security/ir.model.access.csv b/pms_base/security/ir.model.access.csv new file mode 100644 index 000000000..cb7c13e5b --- /dev/null +++ b/pms_base/security/ir.model.access.csv @@ -0,0 +1,20 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_pms_amenity_user,access_pms_amenity_user,model_pms_amenity,pms_base.group_pms_user,1,0,0,0 +access_pms_amenity_type_user,access_pms_amenity_type_user,model_pms_amenity_type,pms_base.group_pms_user,1,0,0,0 +access_pms_room_user,access_pms_room_user,model_pms_room,pms_base.group_pms_user,1,0,0,0 +access_pms_tag_user,access_pms_tag_user,model_pms_tag,pms_base.group_pms_user,1,0,0,0 +access_pms_room_type_user,access_pms_room_type_user,model_pms_room_type,pms_base.group_pms_user,1,0,0,0 +access_pms_service_user,access_pms_service_user,model_pms_service,pms_base.group_pms_user,1,0,0,0 +access_pms_stage_use,access_pms_stage,model_pms_stage,pms_base.group_pms_user,1,0,0,0 +access_pms_team_user,access_pms_team,model_pms_team,pms_base.group_pms_user,1,0,0,0 +access_pms_property_user,access_property_user,model_pms_property,pms_base.group_pms_user,1,0,0,0 +access_pms_amenity_manager,access_pms_amenity_manager,model_pms_amenity,pms_base.group_pms_manager,1,1,1,1 +access_pms_amenity_type_manager,access_pms_amenity_type_manager,model_pms_amenity_type,pms_base.group_pms_manager,1,1,1,1 +access_pms_room_manager,access_pms_room_manager,model_pms_room,pms_base.group_pms_manager,1,1,1,1 +access_pms_room_type_manager,access_pms_room_type_manager,model_pms_room_type,pms_base.group_pms_manager,1,1,1,1 +access_pms_service_manager,access_pms_service_manager,model_pms_service,pms_base.group_pms_manager,1,1,1,1 +access_pms_tag_manager,access_pms_tag_manager,model_pms_tag,pms_base.group_pms_manager,1,1,1,1 +access_pms_stage_manager,access_pms_stage,model_pms_stage,pms_base.group_pms_manager,1,1,1,1 +access_pms_team_manager,access_pms_team,model_pms_team,pms_base.group_pms_manager,1,1,1,1 +access_pms_property_manager,access_property_manager,model_pms_property,pms_base.group_pms_manager,1,1,1,1 +access_pms_stage_group_user,access_pms_stage_group_user,model_pms_stage,base.group_user,1,0,0,0 diff --git a/pms_base/security/ir_rule.xml b/pms_base/security/ir_rule.xml new file mode 100644 index 000000000..3b0696611 --- /dev/null +++ b/pms_base/security/ir_rule.xml @@ -0,0 +1,13 @@ + + + + + Multi-Company Property Rule + + + ['|', ('company_id', '=', False), ('company_id', 'in', company_ids)] + + + diff --git a/pms_base/security/res_groups.xml b/pms_base/security/res_groups.xml new file mode 100644 index 000000000..c07a32bfc --- /dev/null +++ b/pms_base/security/res_groups.xml @@ -0,0 +1,38 @@ + + + + + Property Management / User + + + + + Property Management/ Manager + + + + + + + Show Amenities + + + + + Show Rooms + + + + + Show Services + + + + + Show Teams + + + diff --git a/pms_base/static/description/icon.png b/pms_base/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..a81dd64c384b0427f6c7cc4131ebff3e90aee131 GIT binary patch literal 24626 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 literal 0 HcmV?d00001 diff --git a/pms_base/static/description/index.html b/pms_base/static/description/index.html new file mode 100644 index 000000000..f2429e666 --- /dev/null +++ b/pms_base/static/description/index.html @@ -0,0 +1,455 @@ + + + + + + +PMS (Property Management System) + + + +
+

PMS (Property Management System)

+ + +

Alpha License: AGPL-3 OCA/pms Translate me on Weblate Try me on Runbot

+

This module is an all-in-one property management system (PMS) focused on medium-sized properties +for managing every aspect of your property’s daily operations.

+

You can manage properties with multi-property and multi-company support, including your rooms inventory, +reservations, check-in, daily reports, board services, rate and availability plans among other property functionalities.

+
+

Important

+

This is an alpha version, the data model and design can change at any time without warning. +Only for development or testing purpose, do not use in production. +More details on development status

+
+

Table of contents

+ +
+

Installation

+

This module depends on modules base, mail, sale and multi_pms_properties. +Ensure yourself to have all them in your addons list.

+
+
+

Configuration

+

You will find the hotel settings in PMS Management > Configuration > Properties > Your Property.

+

This module required additional configuration for company, accounting, invoicing and user privileges.

+
+
+

Usage

+

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

+
+
+

Bug Tracker

+

Bugs are tracked on GitHub Issues. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us smashing it by providing a detailed and welcomed +feedback.

+

Do not contact contributors directly about support or help with technical issues.

+
+
+

Credits

+
+

Authors

+
    +
  • Commit [Sun]
  • +
+
+
+

Contributors

+
    +
  • Alexandre Díaz
  • +
  • Pablo Quesada
  • +
  • Jose Luis Algara
  • +
  • Commit [Sun] <https://www.commitsun.com>:
      +
    • Dario Lodeiros
    • +
    • Eric Antones
    • +
    • Sara Lago
    • +
    • Brais Abeijon
    • +
    • Miguel Padin
    • +
    +
  • +
+
+
+

Maintainers

+

This module is maintained by the OCA.

+Odoo Community Association +

OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use.

+

This module is part of the OCA/pms project on GitHub.

+

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

+
+
+
+ + diff --git a/pms_base/views/menu.xml b/pms_base/views/menu.xml new file mode 100644 index 000000000..ba5b76f2c --- /dev/null +++ b/pms_base/views/menu.xml @@ -0,0 +1,152 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pms_base/views/pms_amenity.xml b/pms_base/views/pms_amenity.xml new file mode 100644 index 000000000..54b4ccd2f --- /dev/null +++ b/pms_base/views/pms_amenity.xml @@ -0,0 +1,66 @@ + + + + pms.amenity.form + pms.amenity + +
+
+ +
+

+

+ + + + + + + + + + + + + + + + + + + + pms.amenity.search + pms.amenity + + + + + + + + + + + pms.amenity.tree + pms.amenity + + + + + + + + + + + Amenities + pms.amenity + tree,form + + + diff --git a/pms_base/views/pms_amenity_type.xml b/pms_base/views/pms_amenity_type.xml new file mode 100644 index 000000000..f17be73df --- /dev/null +++ b/pms_base/views/pms_amenity_type.xml @@ -0,0 +1,44 @@ + + + + + pms.amenity.type.form + pms.amenity.type + +
+
+ +
+