Mesabook 1.0.1 · gratis y con licencia GPL
Plugin de reservas para restaurantes en WordPress
Reservas de mesa en tu propia web, sin comisión por reserva y sin depender de un portal.
Gratis del todo: sin versión de pago, sin funciones capadas y sin un tope de reservas al mes que aparece cuando ya dependes de él. Licencia GPL, código completo dentro del paquete.
· seguimos actualizándolo

Lo difícil de un plugin de reservas para restaurantes no es el formulario
El formulario lo hace cualquiera en una tarde. Lo que decide si un plugin de reservas sirve en un restaurante de verdad es el motor de disponibilidad: cuánto tiempo se retiene una mesa, cuánto tardas en volver a darla, cuánta gente puede sentarse a la vez y qué mesas se juntan cuando llega un grupo de ocho.
Ahí es donde fallan casi todos, y se nota un sábado a las 20:00: dos personas piden la última mesa al mismo tiempo y las dos reciben una confirmación. Mesabook retiene la franja mientras el cliente rellena sus datos, con un cerrojo con nombre por restaurante. Probado con ocho peticiones simultáneas a la última mesa: una reserva y siete rechazos, que es exactamente lo que tiene que pasar.
Dos modos, porque no todos los restaurantes son iguales
Sencillo
El de por defecto
Una sola pantalla: cuándo abres, cuánta gente cabe, grupo mínimo y máximo, tope de reservas al día y qué cobras por adelantado. Ni salas, ni mesas, ni planos. La palabra «mesa» no aparece por ningún sitio.
Es el modo para el 80 % de los restaurantes, que no necesitan un plano de sala: necesitan saber cuánta gente les cabe a las nueve.
Detallado
Cuando hace falta
Añade zonas, mesas individuales, mesas que se combinan, márgenes entre pases, ritmo por franja y un depósito distinto por turno.
Cambiar de modo no borra nada. Se puede empezar en sencillo y pasar a detallado cuando el restaurante lo pida, sin volver a configurarlo todo.
Qué hace
Turnos, no «horario de apertura»
Comida y cena el mismo día con reglas distintas, y distintas por día de la semana. Una cena que se alarga hasta las 02:00 es un turno normal, no un caso especial que hay que apañar.
Un calendario para las excepciones
Pinchas un día y lo cierras, o le das horario propio, que sustituye al de la semana: así abres un lunes festivo aunque nunca abras los lunes. Las vacaciones son una línea, no quince clics, y agosto y Navidad caben juntas.
Reserva en dos pasos
Se retiene la franja mientras el cliente escribe sus datos. Sin esto, dos personas a las 20:00 de un sábado se llevan las dos la última mesa.
Depósitos, si quieres
Stripe Checkout, por reserva o por comensal. La reserva se confirma con el webhook firmado, nunca porque el navegador vuelva a tu web.
Correos que llegan
Confirmación, aprobación, cancelación y recordatorio, en HTML y texto plano, con enlace para cancelar. Y te avisa si tu WordPress no sabe enviar correo, que es la causa del 90 % de los «no me llegan los avisos».
Un diario y una agenda
El diario abre con los dos números que quiere un maître —reservas y comensales— con hoy, mañana y la semana a un clic. La agenda es mesas contra horas.
Tu zona horaria, no la de WordPress
Cada restaurante la suya, así que Madrid y Canarias caben en la misma instalación sin descuadrarse una hora.
Varios restaurantes
Desde un solo WordPress, cada uno con sus turnos, sus mesas y sus depósitos.
Qué ve el cliente y qué ves tú

[mesabook].
Cómo está hecho
Esto no suele contarse y debería: la mitad de los problemas de un WordPress vienen de plugins que hacen las cosas de cualquier manera. Un plugin de reservas se instala en la web que da de comer a un restaurante, así que conviene saber cómo está construido. Estas son las decisiones que hemos tomado y por qué.
- Tablas propias, nunca custom post types. Un CPT por reserva llena la tabla de entradas y ralentiza todo el escritorio. Las reservas van en sus propias tablas, con migraciones versionadas.
- Nunca SQL sin preparar, nunca salida sin escapar. Es la causa de la mayoría de agujeros que se publican en plugins de WordPress.
- Sin admin-ajax: API REST propia. Con nonce y límite de peticiones. `admin-ajax.php` carga medio WordPress en cada llamada.
- Fechas en UTC, la hora local sólo al pintar. Es lo que evita que un cambio de hora mueva las reservas de sitio.
- Sin librerías JavaScript externas en el frontend. Vanilla y `fetch`: 14 KB en crudo, 4 KB comprimido. El formulario no le añade medio megabyte a la web del restaurante.
- Sin el SDK de Stripe. Otros plugins empaquetan el suyo, y dos copias de la misma librería en un WordPress es un error fatal. Hablamos con la API por HTTP.
- Ninguna llamada saliente salvo a Stripe cuando tú lo configuras. Cero telemetría. El plugin no llama a casa.
- Borrar el plugin no borra tus datos. Salvo que lo pidas explícitamente.
PHP 8.1 o superior · WordPress 6.5 o superior, probado hasta la 7.1 · español e inglés, con 518 cadenas traducidas · licencia GPL-2.0 o posterior.
Cómo se instala
- 1Descarga el ZIP. No hace falta registrarse ni dejar el correo. Es un enlace directo.
- 2Súbelo a tu WordPress. Plugins → Añadir nuevo → Subir plugin → elegir el ZIP → Instalar y activar.
- 3Configura el restaurante. Mesabook → Restaurantes. Nombre, zona horaria y poco más. El modo sencillo es una sola pantalla.
- 4Pon el formulario. Un bloque en el editor, un widget en Elementor o el atajo [mesabook]. El panel te dice en qué páginas está y te ofrece crear una si no está en ninguna.
La reserva que entra por tu web no lleva comisión
Es la única razón por la que la mayoría de restaurantes acaban buscando un plugin de reservas. Los portales traen mesas, y traen mesas de verdad —quien dice lo contrario no ha llevado un restaurante—, pero cada una lleva su comisión, y la lleva también cuando el cliente ya te conocía y sólo usó el portal porque era el botón que tenía delante.
Ese segundo grupo es el que se puede recuperar entero: el cliente que te busca por tu nombre, el que vuelve, el que llega desde tu ficha de Google o desde Instagram. Si al llegar a tu web encuentra un botón de reservar que funciona, no vuelve al portal. Y si no lo encuentra, sí.
Mira tu última factura del portal y separa esas dos cosas. Lo que te cobran por clientes que ya eran tuyos es exactamente lo que deja de pagarse el mes que la reserva directa funciona. No hace falta irse del portal para ganar eso.
Lo que Mesabook no hace
No te trae clientes nuevos. Un portal sí lo hace y por eso cobra. Esto sirve para que los que ya llegan a tu web no acaben reservando en otro sitio, y para dejar de pagar comisión por gente que venía a por ti. Son dos trabajos distintos y lo más sensato en casi todos los casos es tener los dos.
Versiones
Se sigue actualizando. Aquí queda lo que va saliendo, para que se pueda comprobar que esto no es un plugin publicado y abandonado.
1.0.1 ·
Mensajes escritos por ti —la página y los seis correos—, tres fallos corregidos, y las franjas horarias, el calendario de días cerrados y la pantalla de estilo que llegan con esta versión.
- Pantalla nueva de mensajes, con un editor por mensaje y botón de imagen: lo que el cliente lee en la página justo debajo de su reserva —cómo llegar, dónde aparcar, una foto del portón— y los seis correos (confirmada, pendiente de aprobación, pendiente de depósito, cancelada, recordatorio y tu copia), con asunto, cuerpo y la lista de variables de cada uno. Lo que dejes vacío sigue saliendo con el texto del plugin, que está traducido.
- Corregido: una reserva hecha cuando ya era tarde para cancelar por internet acababa diciéndole al cliente que algo había ido mal, sobre una mesa que sí estaba reservada y confirmada por correo. Pasaba en la 1.0.0.
- Corregido: la pantalla de ajustes no guardaba nada.
- Corregido: todos los correos empezaban con una línea en blanco donde debía ir el saludo.
- Horarios por servicio, comida y cena, con las horas exactas a las que sientas y un máximo de comensales para cada una. La hora que no traiga el suyo usa el de por defecto, y los días se marcan por separado en cada servicio.
- Si tu web ya tenía horarios, la pantalla carga las horas que ofrecías hasta ahora: no hay que volver a escribirlas.
- El formulario dibuja su propio calendario en lugar del del navegador, que no permitía bloquear días sueltos. Los días cerrados —los pasados, los que nunca abres, las vacaciones y los que quedan fuera del plazo de reserva— salen tachados y no se pueden elegir.
- Pantalla de estilo con vista previa que cambia mientras escribes: colores, tipografía, esquinas y ancho; los textos del formulario; apellidos, teléfono y notas como ocultos, opcionales u obligatorios; y el calendario desplegable o siempre visible.
1.0.0 ·
Primera versión estable.
- Motor de disponibilidad que retiene la franja mientras el cliente termina de reservar.
- Turnos por día de la semana, mesas que se juntan y aforo por zona.
- Depósitos con Stripe y varios restaurantes en una sola instalación.
- Traducción completa al español y al inglés.
Preguntas frecuentes
¿De verdad es gratis?
Sí, y sin la trampa habitual del sector: no hay versión pro, ni funciones capadas, ni un límite de reservas al mes que aparece cuando el restaurante ya depende del plugin. Es GPL-2.0, el código está entero en el paquete y puedes modificarlo.
¿Por qué lo regaláis?
Porque hacemos webs para restaurantes y necesitábamos esto para nosotros. Una vez hecho, cobrarlo aparte no nos aporta gran cosa y publicarlo sí: nos trae a gente que tiene un restaurante y un problema, que es exactamente con quien queremos hablar. Si algún día quieres que te lo instalemos y configuremos, eso sí se paga.
¿Necesito Stripe?
No. Los depósitos son opcionales y el plugin funciona entero sin ellos. Si los activas, la reserva sólo se confirma cuando llega el webhook firmado de Stripe, nunca porque el navegador del cliente vuelva a tu web: si cierra la pestaña con el pago hecho, la reserva se confirma igual.
¿Sirve si tengo dos restaurantes?
Sí, desde un solo WordPress, y cada uno con su zona horaria. Es lo que permite que Madrid y Canarias convivan en la misma instalación sin que las horas se descuadren una hora.
¿Qué pasa con mis reservas si desinstalo el plugin?
No se borran. Borrar el plugin deja las tablas intactas salvo que marques explícitamente que quieres eliminarlas. Perder el histórico de reservas por desinstalar algo para probar otra cosa no debería pasarle a nadie.
¿En qué estado está y lo vais a seguir manteniendo?
La versión 1.0.1 se publicó el 23 de septiembre de 2026 y es la primera estable: funciona, está probada y la usamos en webs de clientes. Y sí, seguimos actualizándolo. No es un proyecto que publicamos y abandonamos: lo necesitamos nosotros para las webs de restaurantes que hacemos, así que cada arreglo y cada función nueva acaba aquí. Si encuentras algo raro, escríbenos a info@zaliza.es.
¿Con qué versiones de WordPress funciona?
Requiere WordPress 6.5 o superior y PHP 8.1 o superior, y está probado hasta WordPress 7.1. Si tu servidor va por debajo de esos mínimos, el plugin no se activa y te lo dice con un aviso claro en vez de romperte la web con un error fatal.
Si lo que necesitas es la web entera de tu restaurante y no sólo el plugin de reservas, tenemos una página de webs para restaurantes con precio cerrado, y hemos escrito sobre cómo llenar mesas los días flojos, que es el problema de verdad.
Descárgalo y pruébalo
Sin registro, sin correo y sin versión de prueba que caduca. La 1.0.1 salió el 23 de septiembre de 2026 y le siguen versiones: lo mantenemos nosotros porque lo usamos en las webs de restaurantes que hacemos, así que cada arreglo acaba aquí. Si te falla algo o echas en falta una función, escríbenos.
