=== Francesco Guarino Booking Calendar for Tarot Readers ===
Contributors: clicktarot, freemius
Tags: reservas, calendario, citas, pagos, agenda
Requires at least: 6.0
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 1.0.25
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

El calendario de reservas creado por un tarotista, para tarotistas y profesionales holísticos.

== Description ==

No faltan plugins de citas. Lo que sí escasea es uno construido de verdad por alguien que trabaja dentro de este mundo exacto.

Disponible en inglés, italiano, español y alemán.

Soy Francesco Guarino: autor e investigador de tarot, fundador de la Scuola di Tarocchi (scuolatdm.com), editor de tarocchi.blog (el blog de tarot más leído de Italia), productor de documentales sobre tarot y CEO de clickTarot.net, una plataforma de reservas usada por tarotistas, astrólogos y profesionales holísticos en activo. Yo mismo sigo haciendo lecturas, y construí este plugin primero para mis propias consultas privadas de pago, no como un SaaS genérico aplicado a un nicho.

Convierte tu sitio en un estudio de consultas siempre abierto, sin intercambios interminables de mensajes para fijar un horario.

= Free vs Premium =

[//]: # fs_free_only_begin
Esta es la versión gratuita: un calendario realmente gratis para siempre, no una prueba con límite de tiempo. Incluye calendarios y reservas ilimitados, pagos por PayPal, cupones, order bumps y todo lo demás listado a continuación, excepto donde se indique "Premium".

Pasa a Premium cuando quieras para añadir Stripe (tarjeta de crédito), paquetes prepagados, exportación CSV, Tarot Gratis, recargos nocturnos/dominicales/festivos y estadísticas de ingresos. Actualizar nunca rompe lo que ya tienes configurado: tus calendarios, reservas y ajustes existentes se mantienen tal cual.

**Oferta para miembros fundadores:** las primeras 20 personas que mejoren con el código FOUNDING100 obtienen gratis el primer año del plan anual Professional. Después se renueva al precio normal, y puedes cancelar en cualquier momento antes. Válida hasta el 31 de diciembre de 2026.
[//]: # fs_free_only_end

[//]: # fs_premium_only_begin
Esta es la versión Premium, con todo desbloqueado, incluyendo Stripe (tarjeta de crédito), paquetes prepagados, exportación CSV, Tarot Gratis (recoge y responde preguntas gratuitas, con propina opcional), recargos nocturnos/dominicales/festivos y estadísticas de ingresos, además de todo lo demás listado a continuación.
[//]: # fs_premium_only_end

= Qué incluye =

* **Calendario visual con vista mensual**: el cliente reserva por su cuenta, sin ida y vuelta de mensajes.
* **Gestión flexible de la disponibilidad**: bloquea días enteros o franjas horarias específicas.
[//]: # fs_free_only_begin
* **Pagos integrados**: con PayPal.
[//]: # fs_free_only_end
[//]: # fs_premium_only_begin
* **Pagos integrados**: con PayPal y tarjeta de crédito (Stripe).
[//]: # fs_premium_only_end
* **Correos automáticos de confirmación y recordatorio**: con texto totalmente personalizable.
* **Recogida automática de datos para la factura**: NIF/DNI, dirección.
* **Varios calendarios para servicios distintos**: cada uno con su propio precio y duración.
* **Variantes de duración/precio**: ofrece el mismo servicio en varias duraciones (ej. 30 y 60 minutos) en el mismo calendario, sin necesidad de crear uno para cada una y sin riesgo de reservas dobles superpuestas.
* **Enlace de reserva dedicado**: listo para poner en tu bio de Instagram o TikTok, sin crear ninguna página.
* **Color personalizable**: el calendario se adapta al estilo de tu sitio en un clic.
* **Una o dos columnas**: un formulario compacto para barras laterales y páginas estrechas, o en dos columnas para páginas anchas (calendario a la izquierda, datos y pago a la derecha), con layout="wide" en el shortcode. En el móvil siempre vuelve a una columna.
* **Order bump**: ofrece un extra de pago en el propio formulario de reserva (ej. "Grabación de voz de la consulta", +5€), el cliente lo añade con un clic.
* **Cupones de descuento**: crea códigos promocionales para tus clientes, con caducidad y límite de usos.
[//]: # fs_premium_only_begin
* **Paquetes prepagados**: vende bloques de varias sesiones a un precio con descuento, el cliente las reserva cuando quiera.
* **Tarot Gratis**: una página pública dedicada recoge preguntas gratuitas de los visitantes sin reservar una franja del calendario, responde por email o WhatsApp, con un email opcional de "dejar una propina" una vez respondida.
* **Estadísticas de ingresos**: cuánto ganas cada mes y qué servicio funciona mejor, directamente en el panel.
* **Recargos nocturnos, dominicales y festivos**: cobra un extra por horarios o fechas concretas (p. ej. +5 € a partir de las 21:00, +15 € en Nochevieja). El cliente ve el importe extra en los botones de hora antes de elegir.
[//]: # fs_premium_only_end
* **Reprogramación y cancelación de autoservicio**: el cliente cambia o cancela la cita por su cuenta desde el enlace del correo, sin escribirte. Tú eliges hasta cuándo es posible (por defecto 24 horas antes de la cita), así nadie puede cancelar en el último momento.
* **Plugin multilingüe**: formulario de reserva, correos y panel de administración traducidos al inglés, español y alemán, además del italiano.
* **Facturación para clientes internacionales**: el selector de país en el formulario muestra automáticamente los campos correctos para el país de tu cliente, NIF/IVA, código postal y provincia/estado, venga de donde venga.
* **Añadir al calendario**: enlace automático en el email de confirmación para añadir la cita a Apple Calendario, Outlook o Google Calendar.
[//]: # fs_premium_only_begin
* **Exportación CSV de las reservas**: para tu contabilidad o gestoría, sin límite de filas.
[//]: # fs_premium_only_end
* **Bloqueo de vacaciones por periodo**: bloquea un intervalo de fechas con un clic, en lugar de día por día.
* **Protección frente a solapamientos entre calendarios**: si tienes varios calendarios, una reserva en uno de ellos bloquea automáticamente la misma hora también en los demás, sin citas superpuestas en servicios distintos.
* **Bloqueos globales o por calendario**: desde Booking Calendar -> Disponibilidad, la opción "Todos los calendarios" bloquea una fecha o una franja horaria en todos a la vez con un clic, o se queda limitada a un solo calendario si solo quieres cerrar ese.
* **Prohibir reservas el mismo día**: una opción por calendario que excluye siempre el día actual de las reservas, un límite de fecha real e independiente del preaviso mínimo en horas.
* **Instalación guiada**: no se requieren conocimientos técnicos.

= Para quién está pensado =

Tarotistas, astrólogos, cartománticos, counselors holísticos y profesionales del crecimiento personal que quieren gestionar consultas online o presenciales sin perder tiempo con mensajes y citas que confirmar a mano.

¿Quieres conocer la historia completa de por qué construí esto? [Léela aquí](https://clicktarotcalendar.com/about/).

== Installation ==

1. Sube el plugin a la carpeta `/wp-content/plugins/`, o instálalo directamente desde WordPress subiendo el ZIP en "Plugins → Añadir nuevo → Subir plugin".
2. Activa el plugin desde el menú "Plugins" de WordPress.
3. Ve a **Booking Calendar → Calendarios** y crea tu primer calendario de reservas.
4. Copia el shortcode (o el enlace público dedicado) en la página de tu sitio donde quieras mostrar el formulario.
5. Si el calendario es de pago, conecta PayPal (y Stripe, con Premium) desde **Booking Calendar → Pagos**.

Encontrarás una guía completa paso a paso directamente dentro del plugin, en **Booking Calendar → Guía**.

== Frequently Asked Questions ==

[//]: # fs_free_only_begin
= ¿La versión gratuita es realmente gratis para siempre? =

Sí. No es una prueba con límite de tiempo: sin fecha de caducidad, sin necesidad de tarjeta de crédito. Sigue siendo un calendario de reservas totalmente funcional con calendarios y reservas ilimitados, y pagos por PayPal, mientras lo uses.

= He comprado Premium. ¿Dónde introduzco la clave de licencia? =

Premium es una versión separada del plugin, llamada "Professional", por eso esta versión gratuita no tiene un campo de licencia. Abre el correo de compra de Freemius, descarga la versión Professional y luego ve a Plugins -> Añadir nuevo plugin -> Subir plugin, sube el archivo .zip y actívalo. La versión gratuita se desactiva automáticamente y tus calendarios, reservas y ajustes se mantienen tal cual. Después Professional te pide la clave de licencia: pega la del correo de compra. Las instrucciones paso a paso también están en el plugin, en Booking Calendar -> Guía.
[//]: # fs_free_only_end

= ¿Necesito saber programar para usarlo? =

No, la instalación y la configuración están pensadas para quien no tiene conocimientos técnicos: bastan unos pocos clics.

= El calendario se ve demasiado estrecho en mi página. ¿Puedo ensancharlo? =
Sí: copia el shortcode "Dos columnas (páginas anchas)" desde Booking Calendar -> Calendarios, p. ej. [ctcal_booking calendar="1" layout="wide"]. El formulario aparece en dos columnas, centrado en la página. Donde no hay espacio suficiente (móviles, columnas estrechas) vuelve automáticamente a una columna.

= ¿Puedo ofrecer varios servicios con precios diferentes? =

Sí, puedes crear un calendario para cada servicio, cada uno con su propia duración, precio y horario laboral.

= ¿Cómo se gestionan los pagos de mis clientes? =

A través de PayPal (y Stripe con Premium), conectados directamente a tu propia cuenta: el dinero llega a ti, el plugin nunca lo toca ni lo retiene.

[//]: # fs_premium_only_begin
= ¿Puedo vender paquetes de varias sesiones? =

Sí, con Premium: puedes crear paquetes prepagados multisesión, el cliente paga una vez y reserva sus sesiones cuando quiera, sin volver a pagar.
[//]: # fs_premium_only_end

= ¿Mis datos y los de mis clientes están seguros? =

Sí: todo queda guardado únicamente en tu propio sitio WordPress, y nunca se comparte con terceros.

== Screenshots ==

1. Crea un nuevo calendario: duración, precio y enlace público en un solo formulario.
2. Ajustes de pagos: conecta PayPal (y Stripe con Premium).
3. Correos de confirmación, aviso al administrador y recordatorio personalizables.
4. Order bump: ofrece un extra de pago en el propio formulario de reserva.
5. Cupones de descuento para tus clientes.

== Changelog ==

[//]: # fs_free_only_begin
= 1.0.25 =
* Mejorado: una reserva sin pagar ahora retiene la hora 30 minutos como máximo (antes hasta dos horas), y si el cliente cancela en PayPal o Stripe la hora se libera enseguida: vuelve al formulario con sus datos ya rellenados y un mensaje.
* Nuevo: si un pago de PayPal llega después de que la reserva caducara y mientras tanto se ocupó la hora, recibes un email para contactar con el cliente.
* Nuevo: en cada calendario puedes dejar de pedir el teléfono y los datos de facturación (p. ej. en un calendario que usas solo para fijar citas con personas cuyos datos ya tienes). Nombre, apellidos y email se piden siempre.

= 1.0.24 =
* Nuevo: marcadores para los emails {{variant}} (la variante elegida por el cliente, p. ej. "60 minutos"), {{duration}} (p. ej. "60 min") y {{price}} (importe pagado, suplementos y extras incluidos).
* Mejorado: en los calendarios con variantes, los emails que no usan {{variant}} ni {{duration}} reciben automáticamente una línea "Duración" junto al importe, así el cliente y tú siempre veis qué duración se reservó.
* Mejorado: la lista de marcadores bajo los campos de email de cada calendario ahora está completa.

= 1.0.23 =
* Versión de mantenimiento: sin cambios para los usuarios de la versión gratuita.

= 1.0.22 =
* Nuevo: botón "Copiar a los otros días" junto al lunes en el horario de trabajo: copia la hora de inicio y de fin a todos los demás días, sin cambiar qué días están abiertos.

= 1.0.21 =
* Corregido: el texto del calendario podía volverse invisible (blanco sobre blanco) cuando el shortcode está en un bloque de texto de un page builder con texto claro, por ejemplo en secciones oscuras de OptimizePress. Ahora el formulario de reserva mantiene siempre su propio color de texto.

= 1.0.20 =
* Mejorado: en Booking Calendar -> Calendarios cada calendario muestra los dos shortcodes listos para copiar, "Una columna" y "Dos columnas (páginas anchas)", así no hace falta recordar la opción layout="wide".

= 1.0.19 =
* Nuevo: formulario de reserva en dos columnas para páginas anchas, con layout="wide" en el shortcode (p. ej. [ctcal_booking calendar="1" layout="wide"]): calendario y horarios a la izquierda, datos del cliente y pago a la derecha. En móviles y columnas estrechas vuelve solo a una columna.
* Corregido: el nombre del mes sobre el calendario podía volverse invisible con temas o page builders que colorean la negrita (p. ej. blanco en OptimizePress).

= 1.0.18 =
* Corregido: los apóstrofos y comillas en los textos guardados desde formularios ya no reciben barras invertidas delante, que se multiplicaban en cada guardado, en las plantillas de email, nombres y direcciones. Los textos ya guardados se limpian automáticamente tras la actualización.

= 1.0.17 =
* Nuevo: en cada calendario eliges hasta cuándo los clientes pueden cancelar o cambiar la cita online (por defecto 24 horas antes de la cita, también en los calendarios existentes). Después, la página "Gestiona tu reserva" les pide que te contacten, así nadie puede cancelar pocos minutos antes. El plazo aparece en los emails justo debajo del enlace.
* Mejorado: la página "Gestiona tu reserva" ahora usa el estilo del plugin, con botones más claros.
* Corregido: los estados de reserva y de pago ahora están traducidos ("Confirmada", "Pagado"...) en la página de gestión, en la lista de reservas y en la exportación CSV.

= 1.0.16 =
* Versión de mantenimiento: sin cambios para los usuarios de la versión gratuita.

= 1.0.15 =
* Versión de mantenimiento: sin cambios para los usuarios de la versión gratuita.

= 1.0.14 =
* Nuevo: oferta para miembros fundadores, el primer año del plan anual Professional gratis con el código FOUNDING100 (primeras 20 personas, hasta el 31 de diciembre de 2026). Aparece en las páginas del plugin y se oculta con un clic.

= 1.0.13 =
* Nuevo: tras las primeras reservas confirmadas, un pequeño aviso en las páginas del plugin invita a dejar una reseña en WordPress.org. Se puede posponer u ocultar para siempre con un clic.

= 1.0.12 =
* Corregido: con temas que añaden relleno a todos los botones, los días del calendario de reservas podían salirse del recuadro (la columna del domingo quedaba fuera). Ahora el calendario siempre cabe.
* Mejorado: el desplegable País de los datos de facturación ahora tiene el mismo estilo que los demás campos.

= 1.0.11 =
* Corregido: con los temas de bloques (como los temas predeterminados de WordPress desde 2022), las páginas de reserva, gestión de reservas y paquetes se mostraban con una cabecera y un pie de página genéricos en lugar de los de tu tema, y sin el menú del sitio. Ahora usan la cabecera y el pie de página de tu tema.

= 1.0.10 =
* Corregido: activar la versión Professional con la versión gratuita todavía activa provocaba un error fatal ("Cannot redeclare"). Ahora la versión gratuita se desactiva automáticamente, como estaba previsto, y todos los datos se mantienen.
* Mejorado: el enlace "¿Cómo subir y activar?" de las instrucciones para pasar a Premium ahora abre la guía paso a paso en clicktarotcalendar.com, en lugar de un vídeo externo genérico.

= 1.0.8 =
* Añadido: instrucciones paso a paso para activar Premium después de comprarlo, en la guía integrada (Booking Calendar -> Guía) y en las preguntas frecuentes.

= 1.0.7 =
* Corregido: la numeración de la sección "Preguntas frecuentes" en la guía integrada.

= 1.0.6 =
* El inglés pasa a ser el idioma de origen del plugin (antes era el italiano), con traducciones completas al italiano, español y alemán mantenidas al día.
* Reescrita la descripción del plugin en WordPress.org con la historia real detrás del proyecto, traducida a los 4 idiomas.

= 1.0.5 =
* Renombrado a "Francesco Guarino Booking Calendar for Tarot Readers", y el menú en el panel de WordPress ahora se llama "Booking Calendar", para la ficha de WordPress.org.

= 1.0.4 =
* Renombrado a "Francesco Guarino Booking Calendar for Tarot Readers" para la ficha de WordPress.org, para evitar confusión con una marca registrada no relacionada.
* Corregido: el script de redirección de PayPal y el CSS de color de marca por calendario ahora usan las API estándar de enqueue de WordPress en lugar de etiquetas escritas a mano.
* Corregido: los datos del formulario ahora se sanean antes de guardarse temporalmente para repoblar el formulario tras un error de validación.

= 1.0.3 =
* Primera versión pública de la versión gratuita: calendario de reservas con calendarios y reservas ilimitados, pagos PayPal, cupones de descuento, extras opcionales, correos automáticos de confirmación/recordatorio y gestión de disponibilidad.
[//]: # fs_free_only_end

[//]: # fs_premium_only_begin
= 1.0.25 =
* Mejorado: una reserva sin pagar ahora retiene la hora 30 minutos como máximo (antes hasta dos horas), y si el cliente cancela en PayPal o Stripe la hora se libera enseguida: vuelve al formulario con sus datos ya rellenados y un mensaje.
* Nuevo: si un pago de PayPal llega después de que la reserva caducara y mientras tanto se ocupó la hora, recibes un email para contactar con el cliente.
* Nuevo: en cada calendario puedes dejar de pedir el teléfono y los datos de facturación (p. ej. en un calendario que usas solo para fijar citas con personas cuyos datos ya tienes). Nombre, apellidos y email se piden siempre.

= 1.0.24 =
* Nuevo: marcadores para los emails {{variant}} (la variante elegida por el cliente, p. ej. "60 minutos"), {{duration}} (p. ej. "60 min") y {{price}} (importe pagado, suplementos y extras incluidos).
* Mejorado: en los calendarios con variantes, los emails que no usan {{variant}} ni {{duration}} reciben automáticamente una línea "Duración" junto al importe, así el cliente y tú siempre veis qué duración se reservó.
* Mejorado: la lista de marcadores bajo los campos de email de cada calendario ahora está completa.

= 1.0.23 =
* Mejorado: la página de compra del paquete explica en tres pasos numerados cómo funciona (compras, recibes el enlace por email, eliges día y hora desde el calendario) y, justo encima del botón, recuerda que las fechas se eligen después de la compra. Los clientes acostumbrados a elegir la hora enseguida ya no se pierden.

= 1.0.22 =
* Nuevo: botón "Copiar a los otros días" junto al lunes en el horario de trabajo: copia la hora de inicio y de fin a todos los demás días, sin cambiar qué días están abiertos.
* Nuevo: destaca un paquete en la comparación marcando "Destacar" en su formulario: borde de color y etiqueta "Recomendado", o la tuya. En una sola página puedes elegir otro con featured="ID". Las tarjetas de los paquetes ya no repiten el número de sesiones, que ya está en el nombre del paquete.

= 1.0.21 =
* Nuevo: sesión suelta y paquetes en paralelo, con precio total, precio por sesión y cuánto ahorra el cliente: [ctcal_services calendars="1" packages="1,2"]. Lo encuentras listo para copiar en Booking Calendar -> Paquetes. Con link="here" el botón de la sesión suelta lleva al formulario de reserva en la misma página.
* Corregido: el texto del calendario podía volverse invisible (blanco sobre blanco) cuando el shortcode está en un bloque de texto de un page builder con texto claro, por ejemplo en secciones oscuras de OptimizePress. Ahora el formulario de reserva mantiene siempre su propio color de texto.

= 1.0.20 =
* Mejorado: en Booking Calendar -> Calendarios cada calendario muestra los dos shortcodes listos para copiar, "Una columna" y "Dos columnas (páginas anchas)", así no hace falta recordar la opción layout="wide".

= 1.0.19 =
* Nuevo: formulario de reserva en dos columnas para páginas anchas, con layout="wide" en el shortcode (p. ej. [ctcal_booking calendar="1" layout="wide"]): calendario y horarios a la izquierda, datos del cliente y pago a la derecha. En móviles y columnas estrechas vuelve solo a una columna.
* Corregido: el nombre del mes sobre el calendario podía volverse invisible con temas o page builders que colorean la negrita (p. ej. blanco en OptimizePress).

= 1.0.18 =
* Corregido: los apóstrofos y comillas en los textos guardados desde formularios ya no reciben barras invertidas delante, que se multiplicaban en cada guardado, en las plantillas de email, nombres y direcciones. Los textos ya guardados se limpian automáticamente tras la actualización.

= 1.0.17 =
* Nuevo: en cada calendario eliges hasta cuándo los clientes pueden cancelar o cambiar la cita online (por defecto 24 horas antes de la cita, también en los calendarios existentes). Después, la página "Gestiona tu reserva" les pide que te contacten, así nadie puede cancelar pocos minutos antes. El plazo aparece en los emails justo debajo del enlace.
* Mejorado: la página "Gestiona tu reserva" ahora usa el estilo del plugin, con botones más claros.
* Corregido: los estados de reserva y de pago ahora están traducidos ("Confirmada", "Pagado"...) en la página de gestión, en la lista de reservas y en la exportación CSV.

= 1.0.16 =
* Mejorado: los paquetes prepagados son más claros para tus clientes. Tras la compra ven cuántas sesiones tienen y un botón "Reservar la primera sesión"; el email de compra incluye el enlace para reservar, con el formulario ya rellenado.
* Mejorado: el formulario de reserva indica qué sesión del paquete es y cuántas quedan ("Sesión 2 de 3. Después de esta te queda 1."), y lo mismo el email de confirmación, con el enlace para reservar la siguiente.

= 1.0.15 =
* Nuevo: Tarot Gratis ahora lleva a reservas. Elige un servicio o un paquete y un texto de invitación: la invitación se añade al final de tu respuesta, con un botón "Reservar una lectura" que abre el formulario de reserva ya rellenado. Con WhatsApp o tu propio correo, en la ficha de la solicitud encontrarás botones para copiar la invitación o enviarla por WhatsApp.
* Nuevo: código de descuento personal opcional para quien hizo una pregunta gratuita (por defecto 10 % durante 14 días, de un solo uso), aplicado automáticamente en el formulario de reserva.
* Nuevo: la página "¡Pregunta enviada!" puede mostrar los servicios y paquetes que elijas.
* Nuevo: una pregunta gratuita por dirección de correo cada 30 días (ajustable, 0 = sin límite). Quien lo intenta de nuevo ve tus servicios.
* Nuevo: un único correo de seguimiento opcional unos días después de la respuesta, con la invitación y el enlace de la propina en un solo mensaje. Nunca se envía a quien ya ha reservado.
* Nuevo: columna "¿Reservó?" en la lista de solicitudes, etiqueta "Desde una pregunta gratuita" en la lista de reservas y un recuadro preguntas gratuitas → reservas en Estadísticas.

= 1.0.14 =
* Versión de mantenimiento: sin cambios para los usuarios de Professional.

= 1.0.13 =
* Nuevo: tras las primeras reservas confirmadas, un pequeño aviso en las páginas del plugin invita a dejar una reseña en WordPress.org. Se puede posponer u ocultar para siempre con un clic.

= 1.0.12 =
* Corregido: con temas que añaden relleno a todos los botones, los días del calendario de reservas podían salirse del recuadro (la columna del domingo quedaba fuera). Ahora el calendario siempre cabe.
* Mejorado: el desplegable País de los datos de facturación ahora tiene el mismo estilo que los demás campos.

= 1.0.11 =
* Corregido: con los temas de bloques (como los temas predeterminados de WordPress desde 2022), las páginas de reserva, gestión de reservas y paquetes se mostraban con una cabecera y un pie de página genéricos en lugar de los de tu tema, y sin el menú del sitio. Ahora usan la cabecera y el pie de página de tu tema.

= 1.0.10 =
* Corregido: activar la versión Professional con la versión gratuita todavía activa provocaba un error fatal ("Cannot redeclare"). Ahora la versión gratuita se desactiva automáticamente, como estaba previsto, y todos los datos se mantienen.

= 1.0.8 =
* Sin cambios para los usuarios Premium: esta versión añade a la versión gratuita las instrucciones para pasar a Premium.

= 1.0.7 =
* Nuevo: recargos nocturnos, dominicales y festivos, desde Booking Calendar -> Calendarios -> Recargos. Cobra un extra por las citas que empiezan dentro de una franja horaria en los días de la semana elegidos (p. ej. "Consulta nocturna", desde las 21:00, +5 €) o en una fecha concreta (p. ej. Nochevieja, +15 €). El importe extra se muestra en los botones de hora antes de que el cliente elija; si se aplican varios recargos solo se cobra el más alto. Los cupones no lo descuentan, los paquetes prepagados lo cubren y la reprogramación autónoma solo ofrece horarios con un recargo igual o menor.
* Corregido: la numeración de la sección "Preguntas frecuentes" en la guía integrada.

= 1.0.6 =
* El inglés pasa a ser el idioma de origen del plugin (antes era el italiano), con traducciones completas al italiano, español y alemán mantenidas al día.
* Reescrita la descripción del plugin en WordPress.org con la historia real detrás del proyecto, traducida a los 4 idiomas.

= 1.0.5 =
* Renombrado a "Francesco Guarino Booking Calendar for Tarot Readers", y el menú en el panel de WordPress ahora se llama "Booking Calendar", para la ficha de WordPress.org.

= 1.0.4 =
* Renombrado a "Francesco Guarino Booking Calendar for Tarot Readers" para la ficha de WordPress.org, para evitar confusión con una marca registrada no relacionada.
* Corregido: el script de redirección de PayPal y el CSS de color de marca por calendario ahora usan las API estándar de enqueue de WordPress en lugar de etiquetas escritas a mano.
* Corregido: los datos del formulario ahora se sanean antes de guardarse temporalmente para repoblar el formulario tras un error de validación.

= 1.0.3 =
* Corregido: Plugin URI y Author URI ya no apuntan a la misma dirección, según lo requerido por el directorio de WordPress.org.

= 1.0.2 =
* Corregido: el crédito de un paquete ahora se restituye cuando se cancela una reserva pagada con él (por ti o por el cliente), en lugar de perder la sesión.
* Sin otros cambios funcionales; correcciones internas de calidad de código para el pleno cumplimiento con la herramienta oficial Plugin Check.

= 1.0.1 =
* Sin cambios funcionales para usuarios Premium.

= 1.0.0 =
* Sin cambios funcionales para usuarios Premium. Trabajo interno para preparar una versión gratuita de este plugin para WordPress.org, publicada como build independiente del mismo código.

= 0.9.1 =
* Corregido: el formulario público de "Tarot Gratis" ahora empieza en pausa por defecto en una instalación nueva, en lugar de recoger preguntas gratuitas antes de que hayas elegido activarlo desde Booking Calendar -> Tarot Gratis -> Ajustes.
* Corregido: se ha eliminado una sugerencia fuera de lugar del texto de ayuda de la exportación CSV de solicitudes de "Tarot Gratis".

= 0.9.0 =
* Nuevo: propina opcional para "Tarot Gratis", desde Booking Calendar -> Tarot Gratis. Cuando marcas una solicitud como "respondida" puedes enviar (si está activado) un email que ofrece al cliente dejar una pequeña propina, con pago por PayPal/Stripe y datos de facturación requeridos igual que en las demás compras del plugin.

= 0.8.0 =
* Nuevo: sección "Tarot Gratis", desde Booking Calendar -> Tarot Gratis. Un shortcode `[ctcal_free_reading]` (o la página lista `/tarocchi-gratis/`) recoge preguntas gratuitas de los visitantes sin reservar una franja del calendario. Elige si quieres recibir las solicitudes en el panel de WordPress (el formulario solo pide el email, respondes desde ahí y el cliente recibe la respuesta por email) o en tu email profesional, y si además quieres recoger el teléfono para tener un botón "Responder por WhatsApp" listo en ambos casos.

= 0.7.0 =
* Nuevo: opción "Prohibir reservas el mismo día" por calendario, desde Booking Calendar -> Calendarios. A diferencia del preaviso mínimo (un recuento en horas), es un límite de fecha real: el día actual nunca es reservable, sin importar la hora del día. Se suma al preaviso mínimo ya existente, gana siempre la regla más restrictiva.

= 0.6.0 =
* Nuevo: protección frente a solapamientos entre calendarios distintos. Detrás de cada calendario del sitio siempre está la misma persona: una reserva hecha en un calendario ahora bloquea automáticamente la misma hora también en los demás, evitando dos citas superpuestas en servicios distintos.
* Nuevo: bloqueos globales desde Booking Calendar -> Disponibilidad. La opción "Todos los calendarios" permite bloquear una fecha o una franja horaria en todos los calendarios a la vez (ej. vacaciones), además de los bloqueos ya existentes limitados a un solo calendario.

= 0.5.0 =
* Nuevo: order bump, un extra opcional a precio fijo configurable por calendario desde Booking Calendar -> Calendarios, ofrecido en el formulario de reserva (ej. "Grabación de voz de la consulta", +5€).
* Corregido: si un cliente se equivocaba en un campo del formulario de reserva o de compra de paquete (p. ej. el NIF), acababa en una página de error de WordPress sin salida. Ahora vuelve al formulario con un aviso que puede cerrar y todos los datos ya introducidos, sin tener que empezar de nuevo.
* Corregido: el email que avisa de un cambio de horario ahora tiene asunto y texto propios ("Cita reprogramada"), en lugar de ser idéntico al de una reserva nueva.
* Corregido: cancelar una reserva ahora notifica tanto al cliente como a ti; antes no se enviaba ningún email.
* Nuevo: shortcode `[ctcal_services]`, una vitrina que muestra tus calendarios activos como tarjetas en las que se puede hacer clic (nombre, duración, precio), útil si tienes más de uno en la misma página en vez de poner varios formularios de reserva uno junto al otro.
* Nuevo: variantes de duración/precio por calendario (ej. "30 minutos" a 30€ y "60 minutos" a 50€), desde Booking Calendar -> Calendarios. El cliente elige cuál reservar, la disponibilidad se mantiene compartida en el mismo calendario: sin riesgo de reservas dobles superpuestas entre duraciones.

= 0.4.0 =
* Nuevo: enlace "Añadir al calendario" en el email de confirmación y en el recordatorio, con un archivo .ics (Apple Calendario, Outlook y cualquier otra app de calendario) y un enlace directo a Google Calendar.
* Nuevo: exportación CSV de las reservas desde Booking Calendar -> Reservas, útil para contabilidad y gestoría.
* Nuevo: bloquear un intervalo de fechas completo (p. ej. vacaciones) con un clic desde Booking Calendar -> Disponibilidad, en lugar de día por día.

= 0.3.1 =
* Corregido: la ventana emergente "Ver detalles" en la página de Plugins ahora muestra la descripción, el changelog y las capturas de pantalla reales (leídos desde readme.txt), en lugar de solo un mensaje genérico "Upgrade to latest".

= 0.3.0 =
* Nuevo: el plugin está ahora completamente traducido (formulario de reserva, correos, página de gestión, panel de administración), listo para un público internacional. Traducciones incluidas: inglés, español, alemán.
* Nuevo: facturación adaptativa para clientes internacionales, con un selector de país en el formulario de reserva que muestra automáticamente los campos correctos para el país de tu cliente. Italia es la única excepción, con un formato propio más estricto (Código Fiscal, código postal, provincia).
* Mejorada la coherencia de los textos traducidos entre el formulario de reserva y la página de compra de paquetes.

= 0.2.0 =
* Nuevo: enlace de reserva público dedicado para cada calendario, listo para tu bio en redes sociales.
* Nuevo: color del calendario personalizable.
* Nuevo: cupones de descuento (porcentaje o importe fijo).
* Nuevo: paquetes prepagados multisesión con canje automático del crédito.
* Nuevo: estadísticas de ingresos y reservas en el panel.
* Nuevo: reprogramación y cancelación de autoservicio para el cliente, desde el enlace del correo.
* Mejorada la fiabilidad y la seguridad de los pagos, cupones y paquetes prepagados.

= 0.1.0 =
* Primera versión: calendario de reservas con pagos por PayPal y Stripe, correos automáticos, gestión de disponibilidad.
[//]: # fs_premium_only_end
