From 9fe8af6b3180dec7615017e78d635366e6cb061d Mon Sep 17 00:00:00 2001 From: Dario Lodeiros Date: Tue, 19 Mar 2019 22:54:49 +0100 Subject: [PATCH] [ADD] Autocheckin with alert messages --- hotel/data/cron_jobs.xml | 17 +- hotel/i18n/es.po | 1116 +++++++++++++++-------------- hotel/models/hotel_folio.py | 17 - hotel/models/hotel_reservation.py | 20 +- 4 files changed, 614 insertions(+), 556 deletions(-) diff --git a/hotel/data/cron_jobs.xml b/hotel/data/cron_jobs.xml index 1d8d701cc..d49815a42 100644 --- a/hotel/data/cron_jobs.xml +++ b/hotel/data/cron_jobs.xml @@ -1,7 +1,7 @@ - + @@ -14,6 +14,21 @@ model.reservation_reminder_24hrs() + + + Automatic Checkout on past reservations + 1 + + days + -1 + + code + + + model.autocheckout() + + + diff --git a/hotel/i18n/es.po b/hotel/i18n/es.po index 92909bf62..d1a896ef7 100644 --- a/hotel/i18n/es.po +++ b/hotel/i18n/es.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 11.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-03-13 21:23+0000\n" -"PO-Revision-Date: 2019-03-13 22:56+0100\n" +"POT-Creation-Date: 2019-03-19 21:52+0000\n" +"PO-Revision-Date: 2019-03-19 22:54+0100\n" "Last-Translator: <>\n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -1101,44 +1101,44 @@ msgid "" " .content {width: 650px !important;}\n" " }\n" " \n" -"
\n" -" \n" -" \n" -" \n" " \n" " \n" " \n" " \n" " \n" -"
\n" +"
\n" +" \n" +" \n" +" \n" " \n" " \n" @@ -1146,69 +1146,69 @@ msgid "" " \n" " \n" "
\n" " \n" " \n" -" \n" +"
\n" " \n" -" \n" +" \n" "
\n" -" \n" -" \n" +"
\n" +" \n" " \n" -"
\n" -" \"Alda\n" -" \n" -" \n" -" \n" " \n" -"
\n" -" \n" -" \n" -"
\n" -" \n" -" \n" +"
\n" +" \"Alda\n" +" \n" +" \n" +" \n" " \n" -"
\n" +" \n" +" \n" +"
\n" +" \n" +" \n" " \n" " \n" -"
\n" -" www.aldahotels.com\n" +" www.aldahotels.com\n" "
\n" +"
\n" "
\n" +"
\n" "
\n" +"
\n" "
\n" -" \n" -" \n" -" \n" +"
Confirmación de reserva en ${object.company_id.property_name}
\n" +" \n" +" \n" " \n" " \n" -" \n" " \n" " \n" -" \n" " \n" " \n" -" \n" " \n" -"
Confirmación de reserva en ${object.company_id.property_name}
\n" -"

__

\n" +"
\n" +"

__

\n" "
Hola ${object.partner_id.firstname}
\n" -" Tu reserva en ${object.company_id.property_name} queda confirmada. Te esperamos el día ${object.room_lines[0].checkin[8:10]} del ${object.room_lines[0].checkin[5:7]} de ${object.room_lines[0].checkin[0:4]}. Si podemos ayudarte en cualquier tipo de gestión, no dudes en hacérnoslo saber.
\n" +"
Hola ${object.partner_id.firstname}
\n" +" Tu reserva en ${object.company_id.property_name} queda confirmada. Te esperamos el día ${object.room_lines[0].checkin[8:10]} del ${object.room_lines[0].checkin[5:7]} de ${object.room_lines[0].checkin[0:4]}. Si podemos ayudarte en cualquier tipo de gestión, no dudes en hacérnoslo saber.
\n" "
\n" -" \n" -" \n" -"
\n" -" \n" -"
Contactar\n" +"
\n" +" \n" +" \n" +" \n" " \n" -"
\n" +" \n" +"
Contactar\n" "
\n" "
\n" "
\n" +"
\n" "
\n" +"
\n" "
\n" -" \n" -" \n" -" \n" -"
\n" -" \n" -" \n" -"
\n" -" \n" -" \n" -" \n" +"
¿Llegarás más tarde de las 17:00 horas?
\n" +" \n" +" \n" " \n" -"
\n" +" \n" +" \n" +"
\n" +" \n" +" \n" +" \n" " \n" " \n" " \n" " \n" " \n" -" \n" " \n" " \n" -" \n" " \n" -"
¿Llegarás más tarde de las 17:00 horas?
\n" -"

__

\n" +"

__

\n" "
En ese caso te rogamos que te pongas en contacto con nosotros para facilitarte las instrucciones necesarias.
\n" +"
En ese caso te rogamos que te pongas en contacto con nosotros para facilitarte las instrucciones necesarias.
\n" "
\n" -" \n" -" \n" -"
\n" +" \n" +" \n" +" \n" +" \n" " \n" -"
\n" " \n" -" \n" -"
\n" +"
\n" "
\n" +"
\n" "
\n" +"
\n" "
\n" -" \n" -" \n" -" \n" " \n" -"
\n" -" \n" -" \n" +"
\n" +" \n" +" \n" +" \n" " \n" -"
\n" +" \n" +" \n" "
\n" -" \n" -" \n" -" \n" +"
Servicios
\n" +" \n" +" \n" " \n" " \n" " \n" " \n" -"
Servicios
\n" -" \n" -" \n" -"
\n" -" \"Info\"\n" +" \n" +" \n" +" \n" " \n" " \n" " \n" -" \n" " \n" " \n" " \n" -" \n" " \n" " \n" " \n" -" \n" " \n" " \n" -"
\n" +" \"Info\"\n" " Información turística
\n" -" \"Wifi\"\n" +" \n" +" \"Wifi\"\n" " Wi-Fi gratuito
\n" -" \"Restauracion\"\n" +" \n" +" \"Restauracion\"\n" " Restauración
\n" -" \"Parking\"\n" +" \n" +" \"Parking\"\n" " Parking concertado
\n" +"
\n" "
\n" +"
\n" "
\n" +"
\n" "
\n" +"
\n" "
\n" +" \n" " \n" " \n" " \n" " \n" " \n" -" \n" -" \n" -"
\n" -" \n" -" \n" -" \n" -" \n" " \n" -"
\n" -" \"Alda\n" +" \n" +" \n" +"
\n" +" \n" +" \n" +" \n" " \n" -"
\n" +" \"Alda\n" "
\n" +"
\n" "
\n" -" \n" -" \n" -"
\n" -" \n" -" \n" -" \n" +" \n" " \n" -"
Datos de tu reserva\n" +" \n" +" \n" +"
\n" +" \n" +" \n" +" \n" " \n" " \n" -" \n" " \n" " \n" -" \n" " \n" " \n" " \n" -"
Datos de tu reserva
\n" -" ${object.partner_id.name}\n" +" \n" +" ${object.partner_id.name}\n" "
\n" +" \n" " % if object.partner_id.contact_address:\n" -" ${object.partner_id.contact_address}
\n" +" ${object.partner_id.contact_address}
\n" " % endif\n" " % if object.partner_id.phone:\n" -" Tel.: ${object.partner_id.phone}
\n" +" Tel.: ${object.partner_id.phone}
\n" " % endif\n" " % if object.partner_id.mobile:\n" -" Mov.: ${object.partner_id.mobile}
\n" +" Mov.: ${object.partner_id.mobile}
\n" " % endif\n" -"
\n" +"
\n" "\n" " % for rline in object.get_grouped_reservations_json('confirm'):\n" -" ${rline['num']} x ${rline['room_type']['name']}\n" -" % if rline['childrens'] > 0:\n" +" ${rline['num']} x ${rline['room_type']['name']}\n" +" % if rline['childrens'] > 0:\n" " (${rline['adults']} Adultos + ${rline['childrens']} Niños)\n" " % else:\n" " (${rline['adults']} Adultos)\n" " % endif\n" " \n" -"
\n" -" Entrada: ${format_tz(rline['checkin'], format=\"%d de %B de %Y\")}
\n" -" Salida: ${format_tz(rline['checkout'], format=\"%d de %B de %Y\")}
\n" -" Nº de noches: ${rline['nights']}

\n" +"
\n" +" Entrada: ${format_tz(rline['checkin'], format=\"%d de %B de %Y\")}
\n" +" Salida: ${format_tz(rline['checkout'], format=\"%d de %B de %Y\")}
\n" +" Nº de noches: ${rline['nights']}

\n" " % endfor\n" "\n" -"
\n" +"
\n" " Recuerda que puedas cancelar gratuitamente esta reserva hasta las 12:00 h del día anterior a tu llegada.\n" "
\n" +"
\n" "
\n" +"
\n" "
\n" +"
\n" " \n" " \n" " \n" " \n" " \n" -" \n" -" \n" -" \n" " \n" -"
\n" -" \n" -" \n" +"
\n" +" \n" +"
\n" +" \n" +" \n" " \n" " \n" -" \n" +" \n" " \n" " \n" -" \n" " \n" -"
Mapa Mapa
\n" -" \n" -" \n" +"
\n" +" \n" +"
\n" +" \"Ver\n" +"

\n" +"
\n" +" \n" +"

\n" +" \n" " \n" " \n" -" \n" -"
\n" -" \"Ver\n" -"
\n" -"

\n" -"
\n" -" \n" -"

\n" -" \n" -"

\n" +" \n" +" \n" +" \n" +" \n" " \n" " \n" " \n" " \n" -"
\n" -" \n" -" \n" -"
\n" +" \n" +" \n" +" \n" " \n" -"
\n" " \n" @@ -1388,511 +1388,511 @@ msgid "" " \n" "
\n" +"
\n" "
\n" +"
\n" "
\n" +"
\n" "
\n" +" \n" " \n" " \n" " \n" " \n" " \n" -" \n" -" \n" -"
\n" -" \n" -" \n" -" \n" -" \n" " \n" -"
\n" -" \"Importes\"\n" +" \n" +" \n" +"
\n" +" \n" +" \n" +" \n" " \n" -"
\n" +" \"Importes\"\n" "
\n" +"
\n" "
\n" -" \n" -" \n" -"
\n" -" \n" -" \n" -" \n" +" \n" " \n" -"
IMPORTES\n" +" \n" +" \n" +"
\n" +" \n" +" \n" +" \n" " \n" " \n" -" \n" +" \n" " \n" " \n" -" \n" " \n" " \n" " \n" -"
IMPORTES
\n" -" Noches: ${len(object.room_lines[0].reservation_lines)}\n" +" Noches: ${len(object.room_lines[0].reservation_lines)}
\n" -" Base imponible: ${object.amount_untaxed} €
\n" -" I.V.A (10%): ${object.amount_tax} €
\n" -" Precio total: ${object.amount_total} €
\n" -"
\n" +"
\n" +" Base imponible: ${object.amount_untaxed} €
\n" +" I.V.A (10%): ${object.amount_tax} €
\n" +" Precio total: ${object.amount_total} €
\n" +"
\n" "
\n" +"
\n" "
\n" +"
\n" "
\n" +"
\n" " \n" " \n" " \n" " \n" " \n" -" \n" -" \n" -" \n" " \n" -"
\n" -" \n" -" \n" -" \n" -"
\n" -" \"Habitacion\"\n" +" \n" +" \n" +"
\n" +" \n" +" \n" +" \n" " \n" -"
\n" +" \"Habitacion\"\n" "
\n" +"
\n" "
\n" -" \n" -" \n" -" \n" " \n" -"
\n" -" \n" -" \n" -" \n" -" \n" +"
Información de la habitación
\n" +" \n" +" \n" +" \n" +" \n" " % if room_type.name:\n" -" \n" +" \n" " % else:\n" -" \n" +" \n" " % endif\n" -" \n" +" \n" +" % endfor\n" +"
\n" +" \n" " % set room_type_ids = object.room_lines.filtered('to_send').mapped('room_type_id.id')\n" " % set room_types = user.env['hotel.room.type'].browse(room_type_ids)\n" " % for room_type in room_types:\n" -"
\n" -" ${room_type.name}\n" -" \n" -" Habitación ${loop.index}\n" -"
\n" +" \n" +" \n" +" \n" " \n" -" \n" " \n" " \n" " \n" -"
Información de la habitación
\n" +" ${room_type.name}\n" +" \n" +" Habitación ${loop.index}\n" +"
\n" +" \n" " Esta habitación cuenta con TV, Wi-Fi gratuita, calefacción y baño privado.\n" "
\n" -" \n" -" \n" -" \n" -" % endfor\n" -"
\n" +"
\n" +" \n" +" \n" +" \n" " \n" " \n" -" \n" " \n" " \n" " \n" -"
\n" "
\n" +" \n" "
\n" -"
\n" +"
\n" +"
\n" "
\n" +"
\n" "
\n" +" \n" " \n" " \n" " \n" " \n" " \n" -" \n" -" \n" -"
\n" -" \n" -" \n" -" \n" -" \n" " \n" -"
\n" -" \"Peticiones\"\n" +" \n" +" \n" +"
\n" +" \n" +" \n" +" \n" " \n" -"
\n" +" \"Peticiones\"\n" "
\n" +"
\n" "
\n" -" \n" -" \n" -"
\n" -" \n" -" \n" -" \n" +" \n" " \n" -"
Peticiones especiales\n" +" \n" +" \n" +"
\n" +" \n" +" \n" +" \n" " \n" " \n" -" \n" " \n" " \n" -" \n" " \n" " \n" " \n" -"
Peticiones especiales
\n" -" Estamos a tu servicio\n" +" \n" +" Estamos a tu servicio\n" "
\n" -" [[petición]]\n" -"
\n" +"
\n" +" [[petición]]\n" +"
\n" "
\n" +"
\n" "
\n" +"
\n" "
\n" +"
\n" " \n" " \n" " \n" " \n" " \n" -" \n" -" \n" -"
\n" -" \n" -" \n" -" \n" " \n" -"
\n" -" \n" -" \n" -" \n" +"
Información adicional
\n" +" \n" +"
\n" +" \n" +" \n" +" \n" " \n" " \n" " \n" " \n" " \n" -"
\n" +" \n" +" \n" +" \n" " \n" " \n" "
Información adicional
\n" -" \n" -" \n" -"

__

\n" +"

__

\n" +" \n" +" \n" " \n" -"
\n" +"
\n" "
\n" +"
\n" "
\n" +"
\n" " \n" " \n" -" \n" +" \n" " \n" " \n" " \n" " \n" " \n" -" \n" -" \n" -"
\n" -" \n" -" \n" -" \n" -" \n" " \n" -"
\n" -" \"Coche\"\n" +" \n" +" \n" +"
\n" +" \n" +" \n" +" \n" " \n" -"
\n" +" \"Coche\"\n" "
\n" +"
\n" "
\n" -" \n" -" \n" -"
\n" -" \n" -" \n" -" \n" +" \n" " \n" -"
Cómo acceder\n" +" \n" +" \n" +"
\n" +" \n" +" \n" +" \n" " \n" " \n" -" \n" " \n" " \n" -" \n" " \n" " \n" " \n" -"
Cómo acceder
\n" -" En coche\n" +" \n" +" En coche\n" "
\n" -"

\n" -"
\n" -" Pulse en este enlace, para conocer como llegar desde su ubicación actual\n" +"

\n" +"

\n" +"
\n" +" Pulse en este enlace, para conocer como llegar desde su ubicación actual\n" "

\n" " Si vienes en coche, queremos informarte de que nos encontramos en una calle peatonal. Para aparcar, te recomendamos nuestro parking concertado, a tan sólo 3 minutos caminando. Es el Parking La Salle, en la calle Ramón del Valle Inclán. Tiene un coste de 10€/día por ser cliente de Alda Hotels.\n" "
\n" +"
\n" "
\n" +"
\n" "
\n" +"
\n" " \n" " \n" " \n" " \n" " \n" -" \n" -" \n" -"
\n" -" \n" -" \n" -" \n" -" \n" " \n" -"
\n" -" \"Bus\"\n" +" \n" +" \n" +"
\n" +" \n" +" \n" +" \n" " \n" -"
\n" +" \"Bus\"\n" "
\n" +"
\n" "
\n" -" \n" -" \n" -"
\n" -" \n" -" \n" -" \n" +" \n" " \n" -"
Cómo acceder\n" +" \n" +" \n" +"
\n" +" \n" +" \n" +" \n" " \n" " \n" -" \n" " \n" " \n" -" \n" " \n" " \n" " \n" -"
Cómo acceder
\n" -" En autobús o tren\n" +" \n" +" En autobús o tren\n" "
Si vienes en autobús nos encontramos a 15 minutos caminando. Si prefieres coger un bus urbano, te recomendamos las líneas P1 y P2 y parar en la Praciña das Penas. Desde la parada solo tendrás que caminar 2 minutos.

\n" -" Si llegas a la ciudad en tren, puedes coger las líneas de bus C5, C6, 6 o 9, y parar en Praciña das Penas, muy cerca de nuestra ubicación.
\n" +"
Si vienes en autobús nos encontramos a 15 minutos caminando. Si prefieres coger un bus urbano, te recomendamos las líneas P1 y P2 y parar en la Praciña das Penas. Desde la parada solo tendrás que caminar 2 minutos.

\n" +" Si llegas a la ciudad en tren, puedes coger las líneas de bus C5, C6, 6 o 9, y parar en Praciña das Penas, muy cerca de nuestra ubicación.
\n" "
\n" +"
\n" "
\n" +"
\n" "
\n" +"
\n" " \n" " \n" " \n" " \n" -" \n" -" \n" -" \n" -"
\n" -" \n" -" \n" -" \n" -" \n" " \n" " \n" -" \n" -" \n" " \n" -"
\n" -" \n" -" \n" -"
\n" -" \n" -" \n" -" \n" +" \n" " \n" -"
${object.company_id.city}\n" +" \n" +" \n" +"
\n" +" \n" +" \n" +" \n" " \n" -"
\n" +" \n" +" \n" +"
\n" +" \n" +" \n" +" \n" " \n" " \n" -" \n" +" \n" " \n" " \n" " \n" " \n" -"
${object.company_id.city}
Lorem ipsum dolor sit amet, consectetur adipiscing elit. In ac lobortis sem. Donec in tincidunt diam, id ultrices risus. Fusce ultrices posuere lectus vitae commodo.Lorem ipsum dolor sit amet, consectetur adipiscing elit. In ac lobortis sem. Donec in tincidunt diam, id ultrices risus. Fusce ultrices posuere lectus vitae commodo.
\n" -" \n" -" \n" -"
\n" +" \n" +" \n" +" \n" " \n" -"
\n" " \n" -"
\n" -" Más información\n" +"
\n" +" Más información\n" "
\n" " \n" "
\n" +"
\n" "
\n" +"
\n" "
\n" +"
\n" "
\n" +"
\n" "
\n" -" \n" -" \n" -"
\n" -" \"\"\n" +" \n" +" \n" +" \n" +" \n" " \n" -"
\n" +" \"\"\n" "
\n" +"
\n" "
\n" -" \n" -" \n" -"
\n" -" \"\"/\n" +" \n" +" \n" +" \n" +" \n" " \n" -"
\n" +" \"\"\n" "
\n" +"
\n" "
\n" -" \n" -" \n" -"
\n" -" \n" -" \n" -" \n" " \n" -"
\n" -" \n" -" \n" -" \n" +"
${object.company_id.property_name}\n" +" \n" +" \n" +" \n" " \n" -"
\n" +" \n" +" \n" +"
\n" +" \n" +" \n" +" \n" " \n" " \n" -" \n" +" \n" " \n" " \n" " \n" -"
${object.company_id.property_name}
Lorem ipsum dolor sit amet, consectetur adipiscing elit. In ac lobortis sem. Donec in tincidunt diam, id ultrices risus. Fusce ultrices posuere lectus vitae commodo. Nulla facilisi. Donec condimentum gravida ex et dapibus.Lorem ipsum dolor sit amet, consectetur adipiscing elit. In ac lobortis sem. Donec in tincidunt diam, id ultrices risus. Fusce ultrices posuere lectus vitae commodo. Nulla facilisi. Donec condimentum gravida ex et dapibus.
\n" +"
\n" "
\n" +"
\n" "
\n" +"
\n" "
\n" +"
\n" " \n" " \n" " \n" " \n" " \n" -" \n" -" \n" -" \n" " \n" -"
\n" -" \n" -" \n" -" \n" +"
NUESTRAS REDES SOCIALES
\n" +" \n" +"
\n" +" \n" +" \n" +" \n" " \n" " \n" " \n" " \n" " \n" " \n" -"
NUESTRAS REDES SOCIALES
\n" +"
\n" "
\n" +" \n" " \n" " \n" " \n" " \n" " \n" -" \n" -" \n" -"
\n" -" \n" -" \n" -" \n" -" \n" -" \n" " \n" -"
\n" -" \n" -" \n" -"
\n" -" \n" -" \"Facebook\"\n" +" \n" +" \n" +" \n" " \n" -"
\n" +" \n" +" \n" +"
\n" +" \n" +" \n" +" \n" " \n" " \n" -" \n" +" \n" " \n" " \n" -" \n" " \n" " \n" -" \n" +" \n" " \n" " \n" -" \n" " \n" -"
\n" +" \n" +" \"Facebook\"\n" " \n" "
Facebook Facebook
\n" -" \n" -" \n" -"
\n" +" \n" +" \n" +" \n" +" \n" " \n" -"
\n" "\n" "
\n" +"
\n" "
Toda la actualidad de nuestros alojamientos, así como ofertas y promociones. Toda la actualidad de nuestros alojamientos, así como ofertas y promociones.
\n" -" \n" -" \n" -"
\n" +" \n" +" \n" +" \n" +" \n" " \n" -"
\n" " \n" -" \n" -"
Dale a Me gusta
\n" +"
\n" +"
Dale a Me gusta
\n" "
\n" " \n" "
\n" +"
\n" "
\n" +"
\n" "
\n" +"
\n" "
\n" -" \n" -" \n" -"
\n" -" \n" -" \n" -" \n" " \n" -"
\n" -" \n" -" \"Instagram\"\n" +" \n" +" \n" +" \n" +"
\n" +" \n" +" \n" +" \n" " \n" " \n" -" \n" +" \n" " \n" " \n" -" \n" " \n" " \n" -" \n" +" \n" " \n" " \n" -" \n" " \n" -"
\n" +" \n" +" \"Instagram\"\n" " \n" "
Instagram Instagram
\n" -" \n" -" \n" -"
\n" +" \n" +" \n" +" \n" +" \n" " \n" -"
\n" "\n" "
\n" +"
\n" "
Cada detalle cuenta, y es por eso que tratamos de reflejarlo en nuestras fotos. Cada detalle cuenta, y es por eso que tratamos de reflejarlo en nuestras fotos.
\n" -" \n" -" \n" -"
\n" +" \n" +" \n" +" \n" +" \n" " \n" -"
\n" " \n" -" \n" -"
\n" +"
\n" "
\n" +"
\n" "
\n" +"
\n" "
\n" -" \n" -" \n" -"
\n" -" \n" -" \n" -" \n" " \n" -"
\n" -" \n" -" \"Twitter\"\n" +" \n" +" \n" +" \n" +"
\n" +" \n" +" \n" +" \n" " \n" " \n" -" \n" +" \n" " \n" " \n" -" \n" " \n" " \n" -" \n" +" \n" " \n" " \n" -" \n" " \n" -"
\n" +" \n" +" \"Twitter\"\n" " \n" "
Twitter Twitter
\n" -" \n" -" \n" -"
\n" +" \n" +" \n" +" \n" +" \n" " \n" -"
\n" "\n" "
\n" +"
\n" "
Propuestas al minuto para hacer de tu viaje una experiencia inmejorable. Propuestas al minuto para hacer de tu viaje una experiencia inmejorable.
\n" -" \n" -" \n" -"
\n" +" \n" +" \n" +" \n" +" \n" " \n" -"
\n" " \n" -" \n" -"
\n" +"
\n" "
\n" +"
\n" "
\n" +"
\n" "
\n" +"
\n" " \n" " \n" " \n" @@ -1972,51 +1972,51 @@ msgid "" " \n" " \n" " \n" -" \n" -" \n" -" \n" +"
¡Muchas gracias por alojarte con nosotros!
\n" +" \n" +" \n" " \n" " \n" " \n" -"
¡Muchas gracias por alojarte con nosotros!
\n" +" \n" " \n" " \n" " \n" -" \n" -" \n" -" \n" +"
\n" +" \n" +" \n" " \n" -"
\n" -" \"Alda\n" -" \n" -" \n" +"
\n" +" \"Alda\n" +" \n" +" \n" " \n" -"
\n" +"
\n" " \n" " \n" " \n" " \n" -" \n" -" \n" -" \n" -" \n" +"
En cumplimiento de la Ley 34/2002 de Servicios de la Sociedad de la Información y del Comercio Electrónico, así como de la Ley Orgánica 15/1999 del 13 de Diciembre de Protección de Datos de Carácter Personal y demás legislación concordante, se le informa que sus datos personales figuran en un fichero automatizado cuya responsabilidad es de ALDA COMPOSTELA S.L. Praza da Algalia de Arriba, 3 C.P. 15704 Santiago de Compostela. Los datos personales que existen en nuestro poder están protegidos por nuestra Política de Privacidad y solo serán utilizados para los fines propios de nuestra actividad. Para ejercer sus derechos de acceso, rectificación, cancelación u oposición debe enviar un correo electrónico a info@aldahotels.com indicándonos la opción a realizar. Este correo podría ser confidencial. Si recibe este e-mail por error, por favor elimínelo, así como cualquier documento adjunto, y notifíquelo a su emisor. Si usted no es el destinatario del mensaje, sepa que no está permitida ninguna difusión, copia o utilización no autorizada.\n" +" \n" +" \n" +" \n" " \n" " \n" " \n" -"
En cumplimiento de la Ley 34/2002 de Servicios de la Sociedad de la Información y del Comercio Electrónico, así como de la Ley Orgánica 15/1999 del 13 de Diciembre de Protección de Datos de Carácter Personal y demás legislación concordante, se le informa que sus datos personales figuran en un fichero automatizado cuya responsabilidad es de ALDA COMPOSTELA S.L. Praza da Algalia de Arriba, 3 C.P. 15704 Santiago de Compostela. Los datos personales que existen en nuestro poder están protegidos por nuestra Política de Privacidad y solo serán utilizados para los fines propios de nuestra actividad. Para ejercer sus derechos de acceso, rectificación, cancelación u oposición debe enviar un correo electrónico a info@aldahotels.com indicándonos la opción a realizar. Este correo podría ser confidencial. Si recibe este e-mail por error, por favor elimínelo, así como cualquier documento adjunto, y notifíquelo a su emisor. Si usted no es el destinatario del mensaje, sepa que no está permitida ninguna difusión, copia o utilización no autorizada.
\n" -" \n" -" \n" -"
\n" -" \"ECO\"\n" -" Antes de imprimir este mensaje, compruebe que es verdaderamente necesario. El medioambiente es cosa de todos. \n" +"
\n" +" \n" +" \n" +" \n" " \n" " \n" " \n" -"
\n" +" \"ECO\"\n" +" Antes de imprimir este mensaje, compruebe que es verdaderamente necesario. El medioambiente es cosa de todos. \n" "
\n" +"
\n" " \n" " \n" -" \n" +" \n" " \n" " \n" " \n" -" \n" +" \n" "
\n" " \n" " " @@ -3003,13 +3003,13 @@ msgid "# of Orders" msgstr "# de Pedidos" #. module: hotel -#: code:addons/hotel/models/hotel_service_line.py:30 +#: code:addons/hotel/models/hotel_service_line.py:50 #, python-format msgid "%s limit exceeded for %s" msgstr "%s limite excedido por %s" #. module: hotel -#: code:addons/hotel/models/hotel_reservation.py:582 +#: code:addons/hotel/models/hotel_reservation.py:630 #, python-format msgid "%s people do not fit in this room! ;)" msgstr "%s personas no caben en esta habitación!" @@ -4257,7 +4257,7 @@ msgstr "" #. module: hotel #: model:ir.model.fields,help:hotel.field_folio_advance_payment_inv_deposit_account_id msgid "Account used for deposits" -msgstr "Cuenta utilizada para depósitos" +msgstr "Cuenta utilizada para los depósitos" #. module: hotel #: model:ir.model.fields,field_description:hotel.field_hotel_room_type_message_needaction @@ -4377,11 +4377,12 @@ msgstr "Tipos de categoría" #: model:ir.model.fields,field_description:hotel.field_hotel_board_service_line_amount #: model:ir.model.fields,field_description:hotel.field_hotel_board_service_room_type_line_amount #: model:ir.model.fields,field_description:hotel.field_hotel_board_service_room_type_rel_amount +#: model:ir.ui.view,arch_db:hotel.account_payment_view_tree_folio msgid "Amount" msgstr "Importe" #. module: hotel -#: code:addons/hotel/models/inherited_account_payment.py:75 +#: code:addons/hotel/models/inherited_account_payment.py:68 #, python-format msgid "Amount from %s to %s %s \n" msgstr "Importe de %s a %s %s \n" @@ -4417,6 +4418,11 @@ msgstr "Llegada" msgid "Arrival Hour" msgstr "Hora de llegada" +#. module: hotel +#: model:ir.ui.view,arch_db:hotel.hotel_folio_wizard +msgid "Articles" +msgstr "Articles" + #. module: hotel #: model:ir.model.fields,help:hotel.field_hotel_room_floor_id msgid "At which floor the room is located." @@ -4442,6 +4448,13 @@ msgstr "Autoasignar" msgid "Autoconfirm" msgstr "Autoconfirmar" +#. module: hotel +#: model:ir.actions.server,name:hotel.autocheckout_reservations_ir_actions_server +#: model:ir.cron,cron_name:hotel.autocheckout_reservations +#: model:ir.cron,name:hotel.autocheckout_reservations +msgid "Automatic Checkout on past reservations" +msgstr "Checkout automático de reservas pasadas" + #. module: hotel #: selection:hotel.wizard.massive.changes,section:0 msgid "Availability" @@ -4479,9 +4492,10 @@ msgstr "Nombre" #: model:ir.model.fields,field_description:hotel.field_hotel_board_service_line_hotel_board_service_id #: model:ir.model.fields,field_description:hotel.field_hotel_board_service_room_type_rel_hotel_board_service_id #: model:ir.model.fields,field_description:hotel.field_hotel_reservation_board_service_room_id +#: model:ir.model.fields,field_description:hotel.field_hotel_reservation_wizard_board_service_room_id #: model:ir.model.fields,field_description:hotel.field_hotel_room_type_wizard_board_service_room_id msgid "Board Service" -msgstr "Servicio incluido" +msgstr "Servicio" #. module: hotel #: model:ir.model.fields,field_description:hotel.field_hotel_board_service_board_service_line_ids @@ -4542,9 +4556,16 @@ msgid "By Week" msgstr "Por semana" #. module: hotel +#: selection:hotel.folio.wizard,channel_type:0 +msgid "Call" +msgstr "Call" + +#. module: hotel +#: selection:hotel.folio,channel_type:0 #: selection:hotel.reservation,channel_type:0 #: selection:hotel.service,channel_type:0 #: model:ir.model.fields,field_description:hotel.field_hotel_folio_wizard_call_center +#: model:ir.model.fields,field_description:hotel.field_hotel_reservation_call_center #: model:ir.ui.view,arch_db:hotel.hotel_reservation_view_search msgid "Call Center" msgstr "Call Center" @@ -4585,7 +4606,7 @@ msgstr "" " c) 45 \t\t> Establece el precio en 45" #. module: hotel -#: code:addons/hotel/wizard/duplicate_reservation.py:23 +#: code:addons/hotel/wizard/duplicate_reservation.py:25 #, python-format msgid "Can't duplicate splitted reservations" msgstr "No se pueden duplicar las reservas divididas" @@ -4735,7 +4756,7 @@ msgstr "Checkin Pendiente" #. module: hotel #: model:ir.model.fields,field_description:hotel.field_hotel_reservation_checkin_partner_pending_count msgid "Checkin Pending Num" -msgstr "Checkin Pending Num" +msgstr "Checkins Pendientes" #. module: hotel #: model:ir.ui.view,arch_db:hotel.hotel_checkin_partner_view_search @@ -4759,7 +4780,7 @@ msgid "Checkin counter" msgstr "Contador de Checkin" #. module: hotel -#: code:addons/hotel/models/hotel_folio.py:602 +#: code:addons/hotel/models/hotel_folio.py:566 #: model:ir.ui.menu,name:hotel.menu_hotel_checkin_partner #, python-format msgid "Checkins" @@ -4862,6 +4883,7 @@ msgstr "Compañías" #. module: hotel #: model:ir.model.fields,field_description:hotel.field_hotel_folio_company_id +#: model:ir.model.fields,field_description:hotel.field_hotel_folio_wizard_company_id #: model:ir.model.fields,field_description:hotel.field_hotel_reservation_company_id #: model:ir.model.fields,field_description:hotel.field_hotel_room_type_company_id #: model:ir.model.fields,field_description:hotel.field_hotel_service_company_id @@ -4887,7 +4909,6 @@ msgid "Configuration" msgstr "Configuración" #. module: hotel -#: model:ir.ui.view,arch_db:hotel.account_payment_view_form_folio #: model:ir.ui.view,arch_db:hotel.hotel_reservation_view_form msgid "Confirm" msgstr "Confirmar" @@ -4910,7 +4931,7 @@ msgstr "Confirmación de los detalles de su reserva en ${object.company_id.prope #. module: hotel #: model:ir.model.fields,field_description:hotel.field_hotel_folio_confirmation_date msgid "Confirmation Date" -msgstr "Fecha confirmación" +msgstr "Fecha de confirmación" #. module: hotel #: selection:hotel.folio,state:0 @@ -5109,6 +5130,7 @@ msgstr "" #. module: hotel #: model:ir.model.fields,field_description:hotel.field_hotel_folio_wizard_partner_id #: model:ir.model.fields,field_description:hotel.field_hotel_reservation_wizard_partner_id +#: model:ir.ui.view,arch_db:hotel.account_payment_view_tree_folio #: model:ir.ui.view,arch_db:hotel.hotel_folio_view_search msgid "Customer" msgstr "Cliente" @@ -5126,7 +5148,7 @@ msgstr "Ref. Cliente" #. module: hotel #: model:ir.model.fields,field_description:hotel.field_hotel_folio_client_order_ref msgid "Customer Reference" -msgstr "Referencia cliente" +msgstr "Referencia de cliente" #. module: hotel #: model:ir.model.fields,field_description:hotel.field_folio_advance_payment_inv_deposit_taxes_id @@ -5160,7 +5182,12 @@ msgid "Date" msgstr "Fecha" #. module: hotel -#: code:addons/hotel/models/inherited_account_payment.py:77 +#: model:ir.model.fields,field_description:hotel.field_hotel_folio_wizard_date_order +msgid "Date Order" +msgstr "Fecha de pedido" + +#. module: hotel +#: code:addons/hotel/models/inherited_account_payment.py:70 #, python-format msgid "Date from %s to %s \n" msgstr "Fecha de %s a %s \n" @@ -5193,7 +5220,7 @@ msgid "Days Qty" msgstr "Cantidad/día" #. module: hotel -#: model:ir.model.fields,field_description:hotel.field_connector_config_settings_default_arrival_hour +#: model:ir.model.fields,field_description:hotel.field_connector_config_settings_default_arrival_hour_8311 #: model:ir.model.fields,field_description:hotel.field_res_config_settings_default_arrival_hour msgid "Default Arrival Hour (GMT)" msgstr "Hora de Llegada por defecto (GMT)" @@ -5204,7 +5231,7 @@ msgid "Default Arrival Hour (HH:MM)" msgstr "Hora de Llegada por defecto (HH:MM)" #. module: hotel -#: model:ir.model.fields,field_description:hotel.field_connector_config_settings_default_departure_hour +#: model:ir.model.fields,field_description:hotel.field_connector_config_settings_default_departure_hour_8312 #: model:ir.model.fields,field_description:hotel.field_res_config_settings_default_departure_hour msgid "Default Departure Hour (GMT)" msgstr "Hora de Salida por defecto (GMT)" @@ -5230,7 +5257,7 @@ msgid "Delete" msgstr "Eliminar" #. module: hotel -#: code:addons/hotel/models/inherited_account_payment.py:86 +#: code:addons/hotel/models/inherited_account_payment.py:79 #, python-format msgid "Deleted payment: %s %s " msgstr "Pago eliminado: %s %s " @@ -5264,6 +5291,7 @@ msgstr "Dependiendo de los módulos instalados, este permite definir la ruta del #. module: hotel #: model:ir.model.fields,field_description:hotel.field_hotel_room_type_description +#: model:ir.model.fields,field_description:hotel.field_hotel_service_wizard_name #: model:ir.model.fields,field_description:hotel.field_line_advance_inv_description #: model:ir.model.fields,field_description:hotel.field_room_closure_reason_description msgid "Description" @@ -5296,6 +5324,11 @@ msgstr "Descripciones" msgid "Dinner" msgstr "Cena" +#. module: hotel +#: model:ir.model.fields,field_description:hotel.field_hotel_service_line_discount +msgid "Discount" +msgstr "Discount" + #. module: hotel #: model:ir.model.fields,field_description:hotel.field_hotel_reservation_line_discount #: model:ir.model.fields,field_description:hotel.field_hotel_service_discount @@ -5349,7 +5382,7 @@ msgstr "Nombre mostrado" #. module: hotel #: model:ir.ui.view,arch_db:hotel.hotel_reservation_view_form msgid "Done" -msgstr "Hecho" +msgstr "Realizado" #. module: hotel #: selection:hotel.folio,channel_type:0 @@ -5376,13 +5409,13 @@ msgstr "Adelanto" #. module: hotel #: model:ir.model.fields,field_description:hotel.field_folio_advance_payment_inv_amount msgid "Down Payment Amount" -msgstr "Cantidad del Depósito" +msgstr "Cantidad de pago anticipado" #. module: hotel #: model:ir.model.fields,field_description:hotel.field_line_advance_inv_product_id #: model:ir.ui.view,arch_db:hotel.view_folio_advance_payment_inv msgid "Down Payment Product" -msgstr "Producto de Depósito" +msgstr "Producto de pago anticipado" #. module: hotel #: selection:folio.advance.payment.inv,advance_payment_method:0 @@ -5416,7 +5449,7 @@ msgid "Duplicate Reservation" msgstr "Duplicar Reserva" #. module: hotel -#: code:addons/hotel/models/hotel_reservation_line.py:46 +#: code:addons/hotel/models/hotel_reservation_line.py:45 #, python-format msgid "Duplicated reservation line date" msgstr "Fecha duplicada en la reserva" @@ -5701,8 +5734,8 @@ msgid "Guest" msgstr "Huésped" #. module: hotel -#: model:ir.model.fields,help:hotel.field_connector_config_settings_default_arrival_hour -#: model:ir.model.fields,help:hotel.field_connector_config_settings_default_departure_hour +#: model:ir.model.fields,help:hotel.field_connector_config_settings_default_arrival_hour_8311 +#: model:ir.model.fields,help:hotel.field_connector_config_settings_default_departure_hour_8312 #: model:ir.model.fields,help:hotel.field_res_config_settings_default_arrival_hour #: model:ir.model.fields,help:hotel.field_res_config_settings_default_departure_hour msgid "HH:mm Format" @@ -5727,19 +5760,19 @@ msgstr "Nevera mediana" #: model:ir.model.fields,field_description:hotel.field_hotel_folio_has_cancelled_reservations_to_send #: model:ir.model.fields,field_description:hotel.field_hotel_reservation_has_cancelled_reservations_to_send msgid "Has Cancelled Reservations To Send" -msgstr "Tiene reservas canceladas para enviar" +msgstr "Tienes reservas Canceladas por enviar" #. module: hotel #: model:ir.model.fields,field_description:hotel.field_hotel_folio_has_checkout_to_send #: model:ir.model.fields,field_description:hotel.field_hotel_reservation_has_checkout_to_send msgid "Has Checkout To Send" -msgstr "Tiene Checkout para enviar" +msgstr "Tiene Checkout por enviar" #. module: hotel #: model:ir.model.fields,field_description:hotel.field_hotel_folio_has_confirmed_reservations_to_send #: model:ir.model.fields,field_description:hotel.field_hotel_reservation_has_confirmed_reservations_to_send msgid "Has Confirmed Reservations To Send" -msgstr "Tienes Reservas Confirmadas para enviar" +msgstr "Tiene reservas confirmadas por enviar" #. module: hotel #: model:hotel.amenity,name:hotel.hotel_amenity_3 @@ -5896,7 +5929,7 @@ msgstr "Servicios y sus cargos" #. module: hotel #: model:ir.model.fields,field_description:hotel.field_hotel_room_type_class_id msgid "Hotel Type Class" -msgstr "Categoría habitación" +msgstr "Categoría de Habitación" #. module: hotel #: model:ir.ui.view,arch_db:hotel.hotel_floor_view_form @@ -5975,7 +6008,7 @@ msgstr "Si el idioma seleccionado está cargado en el sistema, todos los documen #. module: hotel #: model:ir.model.fields,help:hotel.field_hotel_room_type_restriction_active msgid "If unchecked, it will allow you to hide the restriction plan without removing it." -msgstr "Si lo deseleccionar, desactivarás el plan de restricciones sin eliminarlo." +msgstr "Si lo deseleccionar, se desactivará el plan de restricciones sin eliminarlo." #. module: hotel #: code:addons/hotel/wizard/folio_make_invoice_advance.py:442 @@ -6058,7 +6091,7 @@ msgid "International Article Number used for product identification." msgstr "Número de artículo internacional usado para la identificación de producto." #. module: hotel -#: code:addons/hotel/models/hotel_reservation.py:1084 +#: code:addons/hotel/models/hotel_reservation.py:1139 #, python-format msgid "Invalid Nights! Max is '%d'" msgstr "Núm de noches inválidado! Máximo s on '%d'" @@ -6101,7 +6134,7 @@ msgstr "Dirección de factura" #: model:ir.model.fields,field_description:hotel.field_hotel_folio_invoice_count #: model:ir.model.fields,field_description:hotel.field_hotel_reservation_invoice_count msgid "Invoice Count" -msgstr "Invoice Count" +msgstr "Contador de Facturas" #. module: hotel #: model:ir.actions.act_window,name:hotel.action_view_folio_advance_payment_inv @@ -6176,7 +6209,7 @@ msgstr "Servicio Incluido en la Habitación" #. module: hotel #: model:ir.model.fields,field_description:hotel.field_hotel_room_type_message_is_follower msgid "Is Follower" -msgstr "Es seguidor" +msgstr "Es un seguidor" #. module: hotel #: model:ir.model.fields,field_description:hotel.field_hotel_reservation_overbooking @@ -6216,7 +6249,7 @@ msgid "Journal Items" msgstr "Apuntes contables" #. module: hotel -#: code:addons/hotel/models/inherited_account_payment.py:79 +#: code:addons/hotel/models/inherited_account_payment.py:72 #, python-format msgid "Journal from %s to %s" msgstr "Journal from %s to %s" @@ -6607,9 +6640,9 @@ msgstr "Nombre en Informes" #. module: hotel #: code:addons/hotel/models/hotel_folio.py:111 -#: code:addons/hotel/models/hotel_folio.py:439 -#: code:addons/hotel/models/hotel_folio.py:443 -#: code:addons/hotel/models/hotel_folio.py:445 +#: code:addons/hotel/models/hotel_folio.py:403 +#: code:addons/hotel/models/hotel_folio.py:407 +#: code:addons/hotel/models/hotel_folio.py:409 #, python-format msgid "New" msgstr "Nuevo" @@ -6652,11 +6685,23 @@ msgstr "Siguiente tipo de actividad" msgid "Nights" msgstr "Noches" +#. module: hotel +#: code:addons/hotel/models/hotel_reservation.py:546 +#, python-format +msgid "No Checkins!" +msgstr "Sin Checkins!" + #. module: hotel #: selection:hotel.reservation,cancelled_reason:0 msgid "No Show" msgstr "No Show" +#. module: hotel +#: code:addons/hotel/models/hotel_reservation.py:545 +#, python-format +msgid "No checkin was made for this reservation" +msgstr "No se ha llegado a realizar ningún checkin en esta reserva!" + #. module: hotel #: selection:hotel.folio,reservation_type:0 msgid "Normal" @@ -6835,21 +6880,22 @@ msgid "Partner Note" msgstr "Nota de Cliente" #. module: hotel -#: code:addons/hotel/models/inherited_account_payment.py:80 -#: code:addons/hotel/models/inherited_account_payment.py:122 +#: code:addons/hotel/models/inherited_account_payment.py:73 +#: code:addons/hotel/models/inherited_account_payment.py:115 +#: code:addons/hotel/models/inherited_account_payment.py:123 #: model:ir.model.fields,field_description:hotel.field_hotel_folio_payment_ids #, python-format msgid "Payment" msgstr "Pago" #. module: hotel -#: code:addons/hotel/models/inherited_account_payment.py:73 +#: code:addons/hotel/models/inherited_account_payment.py:66 #, python-format msgid "Payment %s modified: \n" msgstr "Pago %s modificado: \n" #. module: hotel -#: code:addons/hotel/models/inherited_account_payment.py:91 +#: code:addons/hotel/models/inherited_account_payment.py:84 #, python-format msgid "Payment Deleted" msgstr "Pago eliminado" @@ -6876,7 +6922,7 @@ msgid "Payment Terms" msgstr "Plazos de pago" #. module: hotel -#: code:addons/hotel/models/inherited_account_payment.py:121 +#: code:addons/hotel/models/inherited_account_payment.py:114 #, python-format msgid "Payment of %s %s registered from %s using %s payment method" msgstr "Pago de %s %s registrado desde %s usando %s cómo método de pago" @@ -6887,7 +6933,6 @@ msgid "Payment return" msgstr "Devolución de cobro" #. module: hotel -#: code:addons/hotel/models/hotel_folio.py:338 #: code:addons/hotel/models/inherited_account_invoice.py:27 #: model:ir.model,name:hotel.model_account_payment #: model:ir.model.fields,field_description:hotel.field_hotel_folio_invoices_paid @@ -6896,12 +6941,6 @@ msgstr "Devolución de cobro" msgid "Payments" msgstr "Pagos" -#. module: hotel -#: code:addons/hotel/models/hotel_folio.py:398 -#, python-format -msgid "Pending" -msgstr "Pendiente" - #. module: hotel #: selection:hotel.checkin.partner,state:0 selection:hotel.reservation,state:0 msgid "Pending Entry" @@ -6987,6 +7026,7 @@ msgid "Price Tax" msgstr "Importe Impuesto" #. module: hotel +#: model:ir.model.fields,field_description:hotel.field_hotel_service_line_price_total #: model:ir.model.fields,field_description:hotel.field_line_advance_inv_price_total msgid "Price Total" msgstr "Precio Total" @@ -7066,7 +7106,7 @@ msgid "Product Packages" msgstr "Paquetes de productos" #. module: hotel -#: model:ir.model.fields,field_description:hotel.field_connector_config_settings_default_pricelist_id +#: model:ir.model.fields,field_description:hotel.field_connector_config_settings_default_pricelist_id_8309 #: model:ir.model.fields,field_description:hotel.field_res_config_settings_default_pricelist_id msgid "Product Pricelist" msgstr "Tarifa" @@ -7074,7 +7114,7 @@ msgstr "Tarifa" #. module: hotel #: model:ir.model.fields,field_description:hotel.field_hotel_room_type_product_id msgid "Product Room Type" -msgstr "Product Room Type" +msgstr "Producto del tipo de habitación" #. module: hotel #: model:ir.model,name:hotel.model_product_template @@ -7093,6 +7133,7 @@ msgid "Production Location" msgstr "Ubicación de producción" #. module: hotel +#: model:ir.model.fields,field_description:hotel.field_hotel_reservation_wizard_product_ids #: model:ir.model.fields,field_description:hotel.field_hotel_room_type_product_variant_ids msgid "Products" msgstr "Productos" @@ -7177,8 +7218,8 @@ msgid "Reference" msgstr "Referencia" #. module: hotel -#: code:addons/hotel/models/hotel_folio.py:312 -#: code:addons/hotel/models/hotel_reservation.py:932 +#: code:addons/hotel/models/hotel_folio.py:313 +#: code:addons/hotel/models/hotel_reservation.py:985 #: model:ir.ui.view,arch_db:hotel.account_payment_view_form_folio #, python-format msgid "Register Payment" @@ -7283,13 +7324,13 @@ msgid "Reservation Wizard" msgstr "Reservation Wizard" #. module: hotel -#: code:addons/hotel/models/hotel_reservation.py:568 +#: code:addons/hotel/models/hotel_reservation.py:616 #, python-format msgid "Reservation has no adults" msgstr "La reserva no tiene adultos" #. module: hotel -#: code:addons/hotel/models/hotel_reservation.py:566 +#: code:addons/hotel/models/hotel_reservation.py:614 #, python-format msgid "Reservation persons can't be higher than room capacity" msgstr "Las personas de la reserva no pueden superiores a la capacidad de la habitación" @@ -7349,7 +7390,7 @@ msgstr "Responsable" #: model:ir.model.fields,field_description:hotel.field_hotel_room_type_restriction_item_ids #: model:ir.ui.view,arch_db:hotel.room_type_restriction_view_form msgid "Restriction Items" -msgstr "Restriction Items" +msgstr "Elementos de Restricción" #. module: hotel #: model:ir.model.fields,field_description:hotel.field_hotel_room_type_restriction_item_restriction_id @@ -7364,7 +7405,7 @@ msgstr "Nombre del Plan de Restricciones" #. module: hotel #: selection:hotel.wizard.massive.changes,section:0 -#: model:ir.model.fields,field_description:hotel.field_connector_config_settings_default_restriction_id +#: model:ir.model.fields,field_description:hotel.field_connector_config_settings_default_restriction_id_8310 #: model:ir.model.fields,field_description:hotel.field_res_config_settings_default_restriction_id #: model:ir.ui.menu,name:hotel.reservation_restriction_menu #: model:ir.ui.view,arch_db:hotel.room_type_restriction_item_view_form @@ -7392,7 +7433,7 @@ msgid "Return of %s registered" msgstr "Return of %s registered" #. module: hotel -#: code:addons/hotel/models/hotel_folio.py:381 +#: code:addons/hotel/models/hotel_folio.py:362 #, python-format msgid "Returns" msgstr "Devoluciones" @@ -7442,7 +7483,7 @@ msgstr "Habitación No" #. module: hotel #: model:ir.model.fields,field_description:hotel.field_hotel_reservation_price_room_services_set msgid "Room Services Total" -msgstr "Total Habitación con Servicios" +msgstr "Total de servicios de habitación" #. module: hotel #: selection:hotel.wizard.massive.changes,applied_on:0 @@ -7462,7 +7503,7 @@ msgstr "Tipo de Habitación" #. module: hotel #: model:ir.model.fields,field_description:hotel.field_hotel_room_type_room_amenity_ids msgid "Room Type Amenities" -msgstr "Características Tipo Habitación" +msgstr "Características del tipo de habitación" #. module: hotel #: model:ir.actions.act_window,name:hotel.open_hotel_room_type_class_form_tree @@ -7494,7 +7535,7 @@ msgid "Room capacity can't be less than one" msgstr "La capacidad de la habitación no puede ser menor que uno" #. module: hotel -#: code:addons/hotel/models/hotel_reservation.py:1010 +#: code:addons/hotel/models/hotel_reservation.py:1063 #, python-format msgid "Room line Check In Date Should be less than the Check Out Date!" msgstr "La fecha de entrada debe ser menor que la fecha de salida!" @@ -7947,7 +7988,6 @@ msgstr "Calle..." #. module: hotel #: model:ir.model.fields,field_description:hotel.field_hotel_reservation_price_subtotal #: model:ir.model.fields,field_description:hotel.field_hotel_service_price_subtotal -#: model:ir.model.fields,field_description:hotel.field_hotel_service_wizard_price_total msgid "Subtotal" msgstr "Subtotal" @@ -7987,8 +8027,10 @@ msgstr "Número de identificación fiscal. Llénelo si la compañía está sujet #: model:ir.model.fields,field_description:hotel.field_hotel_folio_amount_tax #: model:ir.model.fields,field_description:hotel.field_hotel_reservation_price_tax #: model:ir.model.fields,field_description:hotel.field_hotel_reservation_tax_ids +#: model:ir.model.fields,field_description:hotel.field_hotel_service_line_tax_ids #: model:ir.model.fields,field_description:hotel.field_hotel_service_price_tax #: model:ir.model.fields,field_description:hotel.field_hotel_service_tax_ids +#: model:ir.model.fields,field_description:hotel.field_hotel_service_wizard_tax_ids msgid "Taxes" msgstr "Impuestos" @@ -8017,7 +8059,7 @@ msgstr "Términos y condiciones" #: model:ir.model.fields,help:hotel.field_hotel_room_type_active #: model:ir.model.fields,help:hotel.field_hotel_room_type_class_active msgid "The active field allows you to hide the category without removing it." -msgstr "The active field allows you to hide the category without removing it." +msgstr "El campo activo te permite ocultar la categoría sin eliminarla." #. module: hotel #: model:ir.model.fields,help:hotel.field_folio_advance_payment_inv_amount @@ -8040,7 +8082,7 @@ msgid "The expense is accounted for when a vendor bill is validated, except in a msgstr "El gasto se contabiliza cuando se valida una factura del proveedor, excepto en la contabilidad anglosajona con valoración perpetua del inventario, en cuyo caso el gasto (cuenta del coste de los bienes vendidos) se reconoce en la validación de la factura del cliente. Si el campo está vacío, usa el definido en la categoría del producto." #. module: hotel -#: model:ir.model.fields,help:hotel.field_connector_config_settings_tz_hotel +#: model:ir.model.fields,help:hotel.field_connector_config_settings_tz_hotel_8313 #: model:ir.model.fields,help:hotel.field_res_config_settings_tz_hotel msgid "The hotel's timezone, used to manage date and time values in reservations It is important to set a value for this field." msgstr "The hotel's timezone, used to manage date and time values in reservations It is important to set a value for this field." @@ -8058,8 +8100,8 @@ msgid "The product used to invoice a down payment should have an invoice policy msgstr "The product used to invoice a down payment should have an invoice policy set to \"Ordered quantities\". Please update your deposit product to be able to create a deposit invoice." #. module: hotel -#: code:addons/hotel/models/hotel_reservation.py:621 -#: code:addons/hotel/models/hotel_reservation.py:1036 +#: code:addons/hotel/models/hotel_reservation.py:669 +#: code:addons/hotel/models/hotel_reservation.py:1089 #, python-format msgid "The room already is completed" msgstr "La habitación ya está completa" @@ -8086,7 +8128,7 @@ msgid "The weight of the contents in Kg, not including any packaging, etc." msgstr "El peso del contenido en Kg, sin incluir empaquetado, etc..." #. module: hotel -#: code:addons/hotel/wizard/wizard_reservation.py:361 +#: code:addons/hotel/wizard/wizard_reservation.py:390 #, python-format msgid "There are not enough rooms!" msgstr "No hay suficientes habitaciones!" @@ -8133,7 +8175,7 @@ msgid "This is the list of sale orders related to this invoice." msgstr "Esta es la lista de pedidos de venta relacionados con esta factura." #. module: hotel -#: code:addons/hotel/models/hotel_reservation.py:1210 +#: code:addons/hotel/models/hotel_reservation.py:1267 #, python-format msgid "This is the parent reservation" msgstr "Esta es la reserva padre" @@ -8144,19 +8186,19 @@ msgid "This is the sum of the extra price of all attributes" msgstr "Ésta es la suma de los precios extra de todos los atributos" #. module: hotel -#: code:addons/hotel/models/inherited_account_payment.py:109 +#: code:addons/hotel/models/inherited_account_payment.py:102 #, python-format msgid "This pay is related with more than one Reservation." msgstr "Este pago esta vínculado con más de una Reserva." #. module: hotel -#: code:addons/hotel/models/hotel_reservation.py:1132 +#: code:addons/hotel/models/hotel_reservation.py:1189 #, python-format msgid "This reservation can't be unified" msgstr "Esta reserva no se puede unificar" #. module: hotel -#: code:addons/hotel/models/hotel_reservation.py:1161 +#: code:addons/hotel/models/hotel_reservation.py:1218 #, python-format msgid "This reservation can't be unified: They all need to be in the same room" msgstr "Esta reserva no se puede unificar: todos deben estar en la misma habitación" @@ -8173,7 +8215,7 @@ msgid "This reservation is part of splitted reservation!, you can check it in th msgstr "Esta reserva es solo una parte de una reserva dividida, puedes revisarlo en " #. module: hotel -#: code:addons/hotel/wizard/wizard_reservation.py:444 +#: code:addons/hotel/wizard/wizard_reservation.py:477 #, python-format msgid "This room is occupied!, please, choice other room or change the reservation date" msgstr "Esta habitación está ocupada, elige otra habitación u otras fechas para la estancia" @@ -8194,7 +8236,7 @@ msgid "Thursday" msgstr "Jueves" #. module: hotel -#: model:ir.model.fields,field_description:hotel.field_connector_config_settings_tz_hotel +#: model:ir.model.fields,field_description:hotel.field_connector_config_settings_tz_hotel_8313 #: model:ir.model.fields,field_description:hotel.field_res_config_settings_tz_hotel msgid "Timezone" msgstr "Zona horaria" @@ -8216,11 +8258,6 @@ msgstr "Por Asignar" msgid "To Invoice" msgstr "A facturar" -#. module: hotel -#: model:ir.model.fields,field_description:hotel.field_hotel_reservation_wizard_to_read -msgid "To Read" -msgstr "A leer" - #. module: hotel #: model:ir.model.fields,field_description:hotel.field_hotel_reservation_to_send msgid "To Send" @@ -8253,13 +8290,13 @@ msgid "Tomorrow" msgstr "Mañana" #. module: hotel -#: code:addons/hotel/wizard/wizard_reservation.py:117 +#: code:addons/hotel/wizard/wizard_reservation.py:127 #, python-format msgid "Too many rooms!" msgstr "Demasiadas habitaciones!" #. module: hotel -#: code:addons/hotel/wizard/duplicate_reservation.py:42 +#: code:addons/hotel/wizard/duplicate_reservation.py:47 #, python-format msgid "Too much duplicated reservations! There are no '%d' free rooms" msgstr "¡Demasiadas reservas duplicadas! No hay habitaciones libres '%d'" @@ -8268,10 +8305,9 @@ msgstr "¡Demasiadas reservas duplicadas! No hay habitaciones libres '%d'" #: model:ir.model.fields,field_description:hotel.field_hotel_folio_amount_total #: model:ir.model.fields,field_description:hotel.field_hotel_folio_wizard_total #: model:ir.model.fields,field_description:hotel.field_hotel_reservation_price_total -#: model:ir.model.fields,field_description:hotel.field_hotel_reservation_wizard_amount_reservation #: model:ir.model.fields,field_description:hotel.field_hotel_reservation_wizard_price -#: model:ir.model.fields,field_description:hotel.field_hotel_room_type_wizard_amount_reservation #: model:ir.model.fields,field_description:hotel.field_hotel_service_price_total +#: model:ir.model.fields,field_description:hotel.field_hotel_service_wizard_price_total msgid "Total" msgstr "Total" @@ -8360,13 +8396,13 @@ msgid "Unconfirmed" msgstr "Sin Confirmar" #. module: hotel -#: code:addons/hotel/wizard/duplicate_reservation.py:67 +#: code:addons/hotel/wizard/duplicate_reservation.py:75 #, python-format msgid "Unexpected Error: Can't found a free room" msgstr "Error inesperado: No se puede encontrar habitaciones libres" #. module: hotel -#: code:addons/hotel/models/hotel_reservation.py:1118 +#: code:addons/hotel/models/hotel_reservation.py:1175 #, python-format msgid "Unexpected error copying record. Can't split reservation!" msgstr "Ouch!. No hemos podido dividir la reserva!" @@ -8377,10 +8413,11 @@ msgid "Unify" msgstr "Unir" #. module: hotel +#: model:ir.model.fields,field_description:hotel.field_hotel_service_line_price_unit #: model:ir.model.fields,field_description:hotel.field_hotel_service_price_unit #: model:ir.model.fields,field_description:hotel.field_hotel_service_wizard_price_unit msgid "Unit Price" -msgstr "Precio de Unidad" +msgstr "Precio unitario" #. module: hotel #: model:ir.model.fields,field_description:hotel.field_hotel_room_type_per_day @@ -8509,13 +8546,18 @@ msgid "Volume" msgstr "Volumen" #. module: hotel -#: code:addons/hotel/models/inherited_account_payment.py:109 +#: model:ir.model.fields,field_description:hotel.field_hotel_room_type_warehouse_id +msgid "Warehouse" +msgstr "Almacén" + +#. module: hotel +#: code:addons/hotel/models/inherited_account_payment.py:102 #, python-format msgid "Warning" msgstr "Aviso" #. module: hotel -#: code:addons/hotel/models/hotel_service.py:295 +#: code:addons/hotel/models/hotel_service.py:324 #, python-format msgid "Warning for %s" msgstr "Aviso para %s" @@ -8526,16 +8568,16 @@ msgid "Warning in Cardex" msgstr "Aviso en Checkin" #. module: hotel -#: code:addons/hotel/wizard/wizard_reservation.py:248 +#: code:addons/hotel/wizard/wizard_reservation.py:252 #, python-format msgid "We cant create avoid folio" msgstr "No podemos crear una ficha vacía" #. module: hotel -#: code:addons/hotel/wizard/wizard_reservation.py:223 +#: code:addons/hotel/wizard/wizard_reservation.py:221 #, python-format msgid "We need know the customer!" -msgstr "Necesitamos conoces el cliente!" +msgstr "Necesitamos conocer el cliente!" #. module: hotel #: selection:hotel.folio,channel_type:0 @@ -8568,7 +8610,7 @@ msgstr "Peso" #. module: hotel #: model:ir.model.fields,field_description:hotel.field_folio_advance_payment_inv_advance_payment_method msgid "What do you want to invoice?" -msgstr "Qué quieres facturar?" +msgstr "¿Qué quiere facturar?" #. module: hotel #: model:ir.model.fields,help:hotel.field_hotel_room_type_property_stock_account_input @@ -8597,13 +8639,13 @@ msgid "You cannot merge a contact with one of his parent." msgstr "You cannot merge a contact with one of his parent." #. module: hotel -#: code:addons/hotel/models/hotel_reservation.py:696 +#: code:addons/hotel/models/hotel_reservation.py:744 #, python-format msgid "You tried to change/confirm reservation with room those already reserved in this reservation period: %s " msgstr "Estás intentando cambiar/confirmar una reserva con una habitación ya reservada en este periodo: %s " #. module: hotel -#: code:addons/hotel/models/hotel_reservation.py:1022 +#: code:addons/hotel/models/hotel_reservation.py:1075 #, python-format msgid "You tried to change/confirm reservation with room those already reserved in this reservation period: %s " msgstr "Estás intentando hacer una reserva en una habitación que ya está reservada en este periódo: %s " diff --git a/hotel/models/hotel_folio.py b/hotel/models/hotel_folio.py index 891abf2a6..daa3236db 100644 --- a/hotel/models/hotel_folio.py +++ b/hotel/models/hotel_folio.py @@ -367,23 +367,6 @@ class HotelFolio(models.Model): 'domain': [('id', 'in', return_move_ids)], } - @api.multi - def action_folios_amount(self): - reservations = self.env['hotel.reservation'].search([ - ('checkout', '<=', fields.Date.today()) - ]) - folio_ids = reservations.mapped('folio_id.id') - folios = self.env['hotel.folio'].search([('id', 'in', folio_ids)]) - folios = folios.filtered(lambda r: r.pending_amount > 0) - return { - 'name': _('Pending'), - 'view_type': 'form', - 'view_mode': 'tree,form', - 'res_model': 'hotel.folio', - 'type': 'ir.actions.act_window', - 'domain': [('id', 'in', folios.ids)] - } - @api.multi def go_to_currency_exchange(self): ''' diff --git a/hotel/models/hotel_reservation.py b/hotel/models/hotel_reservation.py index cb998ffff..fa2fcb7df 100644 --- a/hotel/models/hotel_reservation.py +++ b/hotel/models/hotel_reservation.py @@ -531,6 +531,22 @@ class HotelReservation(models.Model): }) return res + @api.model + def autocheckout(self): + reservations = self.env['hotel.reservation'].search([ + ('state', 'not in', ('done', 'cancelled')), + ('checkout', '<', fields.Date.today()) + ]) + for res in reservations: + res.action_reservation_checkout() + res_without_checkin = reservations.filtered( + lambda r: r.state != 'booking') + for res in res_without_checkin: + msg = _("No checkin was made for this reservation") + res.message_post(subject=_('No Checkins!'), + subtype='mt_comment', body=msg) + return True + @api.multi def notify_update(self, vals): if 'checkin' in vals or \ @@ -1095,7 +1111,9 @@ class HotelReservation(models.Model): def action_reservation_checkout(self): for record in self: record.state = 'done' - record.checkin_partner_ids.action_done() + if record.checkin_partner_ids: + record.checkin_partner_ids.action_done() + return True @api.multi def action_checks(self):