- Reservas: campos opcionales start_time/end_time (migración 011, schema natur_reservas) + toggle en el modal y detección de solapamiento por horario cuando ambas reservas los tienen definidos. Permite encajar varios eventos el mismo día. - Calendario mensual y anual ahora empiezan en lunes; vista móvil incluida. - Celdas con varios eventos el mismo día se dividen en franjas horizontales mostrando el horario; las reservas multi-día siguen ocupando la celda completa. - Modal: reset de campos vacíos (client_name, fechas, factura) para evitar que el nombre de la última reserva se filtre al crear una nueva. - Emails: las modificaciones solo disparan correo cuando cambian fechas u horas; el correo a Teneriffa pasa a formato reducido (solo fechas + propiedad) mientras que Natur sigue recibiendo el detalle completo. Mantenimiento sin cambios. - CLAUDE.md con guía operativa (schema natur_reservas, stack, convenciones). - Scripts de preview/envío de emails para pruebas. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
12 lines
814 B
SQL
12 lines
814 B
SQL
-- Horarios opcionales de entrada/salida para cualquier reserva.
|
|
-- Permite que dos reservas compartan el mismo día siempre que sus rangos horarios no se solapen
|
|
-- (p. ej. una boda que termina a las 12:00 y un cumpleaños que empieza a las 17:00).
|
|
-- Aplicable tanto a Naturcalabacera (eventos) como a Teneriffa.
|
|
|
|
ALTER TABLE natur_reservas.reservations
|
|
ADD COLUMN IF NOT EXISTS start_time TIME,
|
|
ADD COLUMN IF NOT EXISTS end_time TIME;
|
|
|
|
COMMENT ON COLUMN natur_reservas.reservations.start_time IS 'Hora de entrada (HH:mm). Opcional. Si está presente junto con end_time, se usa para detectar solapamientos por horario.';
|
|
COMMENT ON COLUMN natur_reservas.reservations.end_time IS 'Hora de salida (HH:mm). Opcional. Si está presente junto con start_time, se usa para detectar solapamientos por horario.';
|