Saltar al contenido
Zaliza Marketing

Plugin de WordPress · gratis

Mesabook

Un plugin de reservas de mesa para restaurantes, en tu propio WordPress.

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.

Descargar Mesabook 0.1.0ZIP de 246 KB · WordPress 6.5+ · PHP 8.1+
Mesabook, plugin de reservas de mesa para restaurantes en WordPress

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ú

Formulario de reserva de Mesabook: comensales, fecha y las horas disponibles
El formulario en la web del restaurante. Comensales, fecha y las horas que de verdad quedan libres. Se pone con un bloque del editor, un widget de Elementor o el atajo [mesabook].
Panel de reservas de Mesabook en el escritorio de WordPress, con el diario del día
El diario del día dentro de WordPress: reservas, comensales y las que esperan por ti, con las notas del cliente a la vista —la celíaca, el cumpleaños, la trona—, que es lo que de verdad mira un maître antes del servicio.

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 · español e inglés, con 476 cadenas traducidas · licencia GPL-2.0 o posterior.

Cómo se instala

  1. 1Descarga el ZIP. No hace falta registrarse ni dejar el correo. Es un enlace directo.
  2. 2Súbelo a tu WordPress. Plugins → Añadir nuevo → Subir plugin → elegir el ZIP → Instalar y activar.
  3. 3Configura el restaurante. Mesabook → Restaurantes. Nombre, zona horaria y poco más. El modo sencillo es una sola pantalla.
  4. 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.

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á?

Es la versión 0.1.0: funciona y está probada, pero es joven. Si encuentras algo raro, escríbenos a info@zaliza.es y lo arreglamos. Preferimos decir esto que fingir que lleva cinco años en producción.

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. Si te falla algo o echas en falta una función, escríbenos: lo estamos manteniendo nosotros y lo usamos con nuestros propios clientes.