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 000000000..a81dd64c3 Binary files /dev/null and b/pms_base/static/description/icon.png differ 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 + +
+
+ +
+