Ir al contenidoServetta

Un fragmento de código en tu web

Pega este código en tu web y aparecerá un botón de reserva, con la forma y los colores que elijas en Servetta. No hace falta rehacer tu web. ¿Tu web la lleva otra persona? Reenvíale esta página o mándale desde Servetta las instrucciones con tu propio código.

El fragmento
<script
  src="https://widget.servetta.online/w.js"
  data-servetta-venue="pk_live_000000000000000000000000"
  defer
></script>
  1. Pega el script en tu páginaPonlo una vez en cada página donde deba estar el botón, justo antes del cierre del body. El script se carga después de tu página y no la frena.
  2. O ponlo en tu propio botón¿Ya tienes un botón o un enlace para reservar? Ponle data-couvert-open y abrirá el flujo de reserva. Entonces no dibujamos nuestro propio botón en la esquina.
  3. No hace falta nada másEl flujo de reserva solo se carga cuando alguien hace clic en el botón. Hasta entonces tu visitante casi no lo nota.
El fragmento
<script
  src="https://widget.servetta.online/w.js"
  data-servetta-venue="pk_live_000000000000000000000000"
  defer
></script>

<button data-servetta-action="reserve">Reserva una mesa</button>

Tu clave pública

El código de arriba lleva una clave de ejemplo. La tuya empieza por pk_live_ y pertenece a un solo restaurante. Si tienes dos locales, tienes dos claves. Tu código está en Servetta, en Ajustes → Widget de reservas → Instalación. Allí encuentras también instrucciones para cada plataforma web, un botón que se lo envía todo por correo a tu desarrollador web y un enlace de reserva por si no se puede añadir código a tu web.

Pídenos ayuda por correo

Dos disposiciones, la misma reserva

Tú eliges cómo hace sus preguntas la ventana. Las dos formas preguntan lo mismo y dan la misma reserva. Cambias de una a otra con un clic en tus ajustes, sin tocar tu web.

Todo en una pantalla

Personas, fecha y hora van una debajo de otra y se pliegan en cuanto se rellenan. El cliente ve al momento lo que ha elegido y puede cambiarlo. Por eso hay el mínimo de pantallas entre un clic y una mesa.

Una pregunta por pantalla

Una pregunta cada vez, con una barra de progreso arriba y una pantalla «¿Es correcto?» antes del formulario. Va bien en un móvil pequeño y los botones son más grandes. Tus clientes ya conocen esta forma de otros sistemas de reservas.

Lo que puedes pasarle

Pon un atributo en el elemento del script y todos los botones de la página lo heredan. Pon el mismo atributo en un botón concreto y gana ese botón. Un valor vacío cuenta como no puesto.

AtributoDóndeSi no indicas nadaQué hace
data-servetta-venueScript o botónObligatorioLa clave pública de tu restaurante. Sin clave no pasa nada, mira más abajo.
data-servetta-actionEn el botónEl botón lo dibujamos nosotrosPonlo en tu propio botón y abrirá la pantalla que indiques: reserve para reservar, gift para tarjetas regalo, open para lo mismo que reserve y close para cerrar. También funciona en botones que aparecen más tarde en la página.
data-servetta-openEn el botónEl botón lo dibujamos nosotrosMarca tu propio elemento como el que abre el flujo de reserva. No necesita ningún valor. Si esto está en algún sitio de la página, no dibujamos ningún botón nuestro.
data-servetta-triggerScript o botónEn la esquina inferior de la pantallaPonlo en un elemento vacío y dibujamos nuestro botón justo ahí, en lugar de en la esquina inferior. En el elemento del script, el valor none significa que no dibujamos ningún botón.
data-servetta-localeScript o botónEl idioma de tu visitante, si no el de tu restauranteEl idioma del flujo de reserva: nl, en, de, fr o es. Cualquier otro valor se ignora.
data-servetta-partyScript o botónLo elige el comensalEl número de personas con el que se abre el flujo. Un número entero a partir de 1. Cualquier otra cosa se ignora.
data-servetta-dateScript o botónLo elige el comensalLa fecha con la que se abre el flujo, escrita como 2026-09-12. Escrita de otra forma se ignora.
data-servetta-timeScript o botónLo elige el comensalLa hora con la que se abre el flujo, escrita como 19:30 en formato de 24 horas. Escrita de otra forma se ignora.
data-servetta-areaScript o botónLo elige el comensalEl id de una zona de tu plano de sala, por ejemplo tu terraza. Útil bajo una foto de esa terraza.

data-couvert-bound lo pone el propio cargador en cada botón que ya conoce. Ese atributo es del cargador, así que no lo toques.

Medir lo que pasa

El widget dispara eventos normales del navegador. Escúchalos con tu propio JavaScript o con una etiqueta HTML personalizada en Google Tag Manager. Nunca dicen nada sobre el comensal: ni nombre, ni correo, ni teléfono.

Google Tag Manager, o tu propio script
<script>
  window.addEventListener('servetta:reservation-completed', function () {
    window.dataLayer = window.dataLayer || [];
    window.dataLayer.push({ event: 'servetta_reservation' });
  });
</script>
EventoCuándo
servetta:loadedEl script se ha cargado y el botón está en la página.
servetta:openedAlguien ha abierto el widget.
servetta:closedEl widget se ha vuelto a cerrar.
servetta:reservation-startedEl comensal ha llegado al formulario de reserva.
servetta:reservation-completedLa reserva ha salido bien.
servetta:gift-openedAlguien ha empezado a comprar una tarjeta regalo.
servetta:gift-completedLa tarjeta regalo se ha pagado.
servetta:errorAlgo ha salido mal. En detail.reason se indica brevemente qué.

Dos cosas que no te esperas

Sin clave, sin flujo

Si no hay ningún data-couvert-venue en ninguna parte, el cargador deja el clic en paz: un enlace sigue navegando y un botón sigue haciendo lo que hacía. Una ventana que se abre vacía es peor que un botón que aún funciona.

Los botones que aparecen después también cuentan

El cargador sigue vigilando tu página. Un botón que solo aparece después de la carga (en una web con React, bajo un aviso de cookies, en un pie que carga tarde) se detecta igualmente.