Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 52 additions & 0 deletions pms/README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -56,11 +56,63 @@ You will find the hotel settings in PMS Management > Configuration > Properties

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

Derived room type prices
~~~~~~~~~~~~~~~~~~~~~~~~

A room type can take its price from another one, e.g. a Superior room costing
10 more than the Double one, so that the pricelists only need the prices of
the latter. Set it in the *Derived Price* section of the room type:

* *Price Derived From*: the room type the price is taken from. It must be
available in all the properties of the room type, and it can take its price
from a third one in turn (e.g. Family = Superior + 20), up to ten levels.
* *Price Variation Type* and *Price Variation*: a fixed amount, in the currency
of the pricelist, or a percentage of the base price. Negative values lower
it, and the price never goes below zero.
* *Price Rounding*: the multiple the prices derived by a percentage are rounded
to, e.g. 1 for whole amounts. Zero rounds them to the currency.
* *Derive in Pricelists*: the pricelists the price is derived in. Leave it
empty to derive it in all of them.

Mind that a derived room type with no rule of its own in a pricelist it does
not derive in gets its sales price there.

Usage
=====

To use this module, please, read the complete user guide at `<roomdoo.com>`_.

Working with derived room type prices
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The price of a room type is only derived from its base room type on the days
a pricelist has no rule of its own for it:

* An item of the derived room type in the pricelist sets its price on its
dates: it overrides the derivation there, and the room type follows its base
again once the item is removed.
* Rules on a product category or on all products cover the room type as well,
so they win over the derivation. Keep them out of the pricelists the room
types derive in.
* The base room type is priced by the same pricelist, with its own rules or
derived in turn. With no rule at all, its sales price is the base.
* Pricelists based on another one through category or global rules (e.g. a
channel rate 10% above the standard one) apply on top of the derived price.
When they hold rules for the base room type only, the derived room type has
no rule there either: its price is derived from the price of the base room
type in that pricelist, which may not be what you want (e.g. a breakfast
surcharge per guest of the base room type). Give those pricelists rules for
the derived room types too, or use category or global rules there instead.
* The base price is computed for the date and the property of the stay only,
not for the guests: modules pricing by occupancy apply their rules to the
derived room type afterwards.
* Prices already set on reservations do not follow later changes of the base
price: use *Update prices* on the reservation to recompute them.
* Massive changes on pricelists leave the derived room types out of the price
changes when no room type is selected, so that they keep following their
base, except on the dates they have a price of their own, which is kept.
Select them explicitly to give them a price of their own.

Bug Tracker
===========

Expand Down
158 changes: 158 additions & 0 deletions pms/i18n/es.po
Original file line number Diff line number Diff line change
Expand Up @@ -1241,6 +1241,24 @@ msgstr "Debe especificarse un diario para la entidad adquirente %s."
msgid "A payment acquirer is required to create a transaction."
msgstr "Se requiere un adquirente de pagos para crear una transacción."

#. module: pms
#. odoo-python
#: code:addons/pms/models/pms_room_type.py:0
#, python-format
msgid "A percentage variation must be greater than -100%."
msgstr "Una variación porcentual debe ser mayor que -100%."

#. module: pms
#. odoo-python
#: code:addons/pms/models/pms_room_type.py:0
#, python-format
msgid ""
"A room type cannot derive its price from itself, directly or through other "
"room types."
msgstr ""
"Un tipo de habitación no puede derivar su precio de sí mismo, ni "
"directamente ni a través de otros tipos de habitación."

#. module: pms
#: model:ir.model.fields,help:pms.field_folio_advance_payment_inv__advance_payment_method
msgid ""
Expand Down Expand Up @@ -1439,6 +1457,15 @@ msgstr "Añadir al nombre de la habitación"
msgid "Add to Folio"
msgstr "Añadir a la Ficha"

#. module: pms
#: model:ir.model.fields,help:pms.field_pms_room_type__price_derivation_value
msgid ""
"Added to the price of the base room type, as an amount in the currency of "
"the pricelist or as a percentage of that price. Negative values lower it"
msgstr ""
"Se suma al precio del tipo de habitación base, como importe en la moneda de "
"la tarifa o como porcentaje de ese precio. Los valores negativos lo reducen"

#. module: pms
#: model:ir.model.fields,field_description:pms.field_pms_room_type__additional_product_tag_ids
msgid "Additional Product Tag"
Expand Down Expand Up @@ -3980,6 +4007,21 @@ msgid ""
"order, etc."
msgstr ""

#. module: pms
#: model:ir.model.fields,field_description:pms.field_pms_room_type__price_derivation_pricelist_ids
msgid "Derive in Pricelists"
msgstr "Derivar en las tarifas"

#. module: pms
#: model_terms:ir.ui.view,arch_db:pms.pms_room_type_view_form
msgid "Derived Price"
msgstr "Precio derivado"

#. module: pms
#: model:ir.model.fields,field_description:pms.field_pms_room_type__price_derived_room_type_ids
msgid "Derived Room Types"
msgstr "Tipos de habitación derivados"

#. module: pms
#: model:ir.model.fields,field_description:pms.field_folio_sale_line__name
#: model:ir.model.fields,field_description:pms.field_pms_room_type__description
Expand Down Expand Up @@ -4620,6 +4662,11 @@ msgstr "Nombre"
msgid "Fiscal Position"
msgstr "Posición Fiscal"

#. module: pms
#: model:ir.model.fields.selection,name:pms.selection__pms_room_type__price_derivation_type__amount
msgid "Fixed amount"
msgstr "Importe fijo"

#. module: pms
#: model:ir.model.fields,field_description:pms.field_ir_pms_property__value_float
msgid "Float Field Value"
Expand Down Expand Up @@ -6533,6 +6580,11 @@ msgstr ""
" el precio de la reserva original independientemente\n"
" de lo marcado en la tarifa"

#. module: pms
#: model:ir.model.fields,field_description:pms.field_pms_massive_changes_wizard__price_derived_room_type_ids
msgid "Left Out (Derived Price)"
msgstr "Excluidos (precio derivado)"

#. module: pms
#: model:ir.model,name:pms.model_pms_wizard_reservation_lines_split
msgid "Lines available to split"
Expand Down Expand Up @@ -8058,6 +8110,11 @@ msgstr "Detos del Checkin Pendientes"
msgid "Pending arrival"
msgstr "Llegada Pendiente"

#. module: pms
#: model:ir.model.fields.selection,name:pms.selection__pms_room_type__price_derivation_type__percent
msgid "Percentage"
msgstr "Porcentaje"

#. module: pms
#: model:ir.model.fields,help:pms.field_pms_reservation__commission_percent
msgid "Percentage corresponding to commission"
Expand Down Expand Up @@ -8191,6 +8248,11 @@ msgstr ""
msgid "Price"
msgstr "Precio"

#. module: pms
#: model:ir.model.fields,field_description:pms.field_pms_room_type__price_base_room_type_id
msgid "Price Derived From"
msgstr "Precio derivado de"

#. module: pms
#: model:ir.model.fields,field_description:pms.field_folio_sale_line__price_reduce
msgid "Price Reduce"
Expand All @@ -8206,6 +8268,11 @@ msgstr ""
msgid "Price Reduce Tax included"
msgstr ""

#. module: pms
#: model:ir.model.fields,field_description:pms.field_pms_room_type__price_derivation_rounding
msgid "Price Rounding"
msgstr "Redondeo del precio"

#. module: pms
#: model_terms:ir.ui.view,arch_db:pms.portal_my_reservation_detail
msgid "Price Total"
Expand All @@ -8216,6 +8283,16 @@ msgstr "Precio total"
msgid "Price Unit"
msgstr ""

#. module: pms
#: model:ir.model.fields,field_description:pms.field_pms_room_type__price_derivation_value
msgid "Price Variation"
msgstr "Variación del precio"

#. module: pms
#: model:ir.model.fields,field_description:pms.field_pms_room_type__price_derivation_type
msgid "Price Variation Type"
msgstr "Tipo de variación del precio"

#. module: pms
#: model_terms:ir.ui.view,arch_db:pms.pms_property_views_form
msgid "Price and Availability Plans"
Expand Down Expand Up @@ -8397,6 +8474,14 @@ msgstr "Tarifas para un canal de venta"
msgid "Pricelists of the availability plan "
msgstr "Tarifa del plan de disponibilidad"

#. module: pms
#: model:ir.model.fields,help:pms.field_pms_room_type__price_derivation_pricelist_ids
msgid ""
"Pricelists where the price is derived. Leave it empty to derive it in all of "
"them"
msgstr ""
"Tarifas en las que se deriva el precio. Déjelo vacío para derivarlo en todas"

#. module: pms
#: model:ir.model.fields,help:pms.field_pms_board_service_room_type__pricelist_ids
msgid "Pricelists where this Board Service is available"
Expand Down Expand Up @@ -9581,6 +9666,15 @@ msgstr "Tipo de habitación para el que se aplica la regla de disponibilidad"
msgid "Room type line in Booking Engine"
msgstr "Línea de tipo de habitación en el Motor de Reservas"

#. module: pms
#: model:ir.model.fields,help:pms.field_pms_room_type__price_base_room_type_id
msgid ""
"Room type whose price is the base of this one in the pricelists without a "
"rule of their own for it"
msgstr ""
"Tipo de habitación cuyo precio sirve de base al de este en las tarifas que "
"no tienen una regla propia para él"

#. module: pms
#: model:ir.model.fields,field_description:pms.field_pms_massive_changes_wizard__board_service_room_type_ids
msgid "Room type's board services"
Expand All @@ -9591,6 +9685,37 @@ msgstr "Board services por tipo de habitación"
msgid "Room types"
msgstr "Tipo de habitación"

#. module: pms
#: model:ir.model.fields,help:pms.field_pms_massive_changes_wizard__room_type_ids
msgid ""
"Room types to apply the changes to. Leave it empty to apply them to all the "
"room types of the properties, except for the prices of the room types whose "
"price is derived from another one"
msgstr ""
"Tipos de habitación a los que aplicar los cambios. Déjelo vacío para "
"aplicarlos a todos los tipos de habitación de los hoteles, salvo los precios "
"de los tipos de habitación cuyo precio se deriva de otro"

#. module: pms
#: model:ir.model.fields,help:pms.field_pms_massive_changes_wizard__price_derived_room_type_ids
msgid ""
"Room types whose price is derived from another one in the selected "
"pricelists. As no room type is selected, the new price is not set on them: "
"they keep following the room type their price is derived from, except on the "
"dates they have a price of their own, which is kept. Select them explicitly "
"to give them a price of their own"
msgstr ""
"Tipos de habitación cuyo precio se deriva de otro en las tarifas "
"seleccionadas. Como no se ha seleccionado ningún tipo de habitación, el "
"nuevo precio no se les aplica: siguen al tipo de habitación del que derivan "
"su precio, salvo en las fechas en las que tienen un precio propio, que se "
"mantiene. Selecciónelos expresamente para darles un precio propio"

#. module: pms
#: model:ir.model.fields,help:pms.field_pms_room_type__price_derived_room_type_ids
msgid "Room types whose price is derived from this one"
msgstr "Tipos de habitación cuyo precio se deriva de este"

#. module: pms
#: model:ir.model.fields,field_description:pms.field_pms_reservation__rooms
msgid "Room/s"
Expand Down Expand Up @@ -9661,6 +9786,15 @@ msgstr "Habitaciones que pertenecen al tipo de habitación."
msgid "Rooms to create"
msgstr "Salas para crear"

#. module: pms
#: model:ir.model.fields,help:pms.field_pms_room_type__price_derivation_rounding
msgid ""
"Round the prices derived by a percentage to a multiple of this value, e.g. 1 "
"for whole amounts. Zero rounds them to the currency"
msgstr ""
"Redondea los precios derivados con un porcentaje a un múltiplo de este "
"valor, p. ej. 1 para importes enteros. Con cero se redondean a la moneda"

#. module: pms
#: model:ir.model.fields,field_description:pms.field_pms_room_type__route_ids
msgid "Routes"
Expand Down Expand Up @@ -11200,6 +11334,21 @@ msgstr ""
msgid "The price in a reservation line"
msgstr "El precio en la linea de reserva"

#. module: pms
#. odoo-python
#: code:addons/pms/models/pms_room_type.py:0
#: code:addons/pms/models/product_pricelist_item.py:0
#, python-format
msgid "The price of %(room_type)s is derived through too many levels."
msgstr "El precio de %(room_type)s se deriva a través de demasiados niveles."

#. module: pms
#. odoo-python
#: code:addons/pms/models/pms_room_type.py:0
#, python-format
msgid "The price rounding can't be negative."
msgstr "El redondeo del precio no puede ser negativo."

#. module: pms
#: model:ir.model.fields,help:pms.field_pms_folio__amount_untaxed
msgid "The price without taxes on a folio"
Expand Down Expand Up @@ -12477,6 +12626,15 @@ msgstr ""
"Al configurar este campo, el folio será considerado como no facturado, aún "
"cuando existan cantidades ordenadas pendientes de facturar."

#. module: pms
#: model:ir.model.fields,help:pms.field_pms_room_type__price_derivation_type
msgid ""
"Whether the variation is a fixed amount or a percentage of the price of the "
"base room type"
msgstr ""
"Si la variación es un importe fijo o un porcentaje del precio del tipo de "
"habitación base"

#. module: pms
#: model:pms.amenity,name:pms.pms_amenity_wi_fi
msgid "Wi-Fi"
Expand Down
Loading
Loading