Si especificas “data-callback” al incluir el widget Sirvoy, podrá capturar eventos y ejecutar tus propios scripts personalizados (consulta el ejemplo a continuación). En la mayoría de los escenarios, solo estará interesado en el evento ‘booking_completed’.

También puedes controlar cuando activar el seguimiento integrado de Google Analytics o Píxel de Facebook devolviendo un “falso” desde tu función para saltarlo para este evento. Esto puede ser útil en combinación con un banner de consentimiento de cookies que no ha sido aceptado, o si solo quieres activar eventos específicos. Lo que está predeterminado es activar el seguimiento integrado que tengas configurado, por lo que si se devuelve cualquier otro valor diferente a “falso” (o incluso nada) el seguimiento se activará.

Para el proceso de reservas, se activarán estos eventos:

  • page_code_required – se activa en el formulario para ingresar el código de reserva si es requerido para su motor de reservas.
  • page_search – se activa al mostrar el formulario de búsqueda. Datos adicionales: “user_data” (fecha de llegada, fecha de salida, total Adultos, categoría)
  • page_results – se activa cuando se muestran los resultados de la búsqueda. Datos adicionales: “user_data” (igual que page_search)
  • page_details – se activa cuando se muestra el formulario de entrada de detalles del huésped. Datos adicionales: “user_data” (igual que page_search)
  • page_pending – se activa antes del paso de confirmación, después de regresar de un proveedor de pago o si no usa un proveedor de pago después del evento page_details. Datos adicionales: “reserva” (representación JSON de la reserva)
  • page_pending – se activa antes del paso de confirmación, después de regresar de un proveedor de pago o si no usa un proveedor de pago después del evento page_details. Datos adicionales: “reserva” (representación JSON de la reserva)
  • booking_completed – se activa cuando la reserva es definitiva y está completada en la página de confirmación.  Este evento se activará solo una vez por reserva, mientras que, por ejemplo, podría tener varias “page_confirmation” o “page_pending” si el huésped realiza pagos opcionales; una vez que el proveedor de pagos lo redireccione, estos eventos se activarán nuevamente. Datos adicionales: “reserva” (representación JSON de la reserva)

Para el proceso de revisión de reserva, se activarán estos eventos:

  • page_review_search – se activa cuando se muestra el formulario de Revisión de reservas.
  • page_review_booking – se activa cuando se muestra la página resultado de Revisión de reservas. Datos adicionales: “reserva” (representación JSON de la reserva)
  • page_review_pending – se activa después de un pago opcional realizado a través del formulario de revisión, y después de este evento, la página mostrará el formulario de revisión de reserva nuevamente y el evento “page_review_booking” se activó nuevamente. Datos adicionales: “reserva” (representación JSON de la reserva)

Agrega un script personalizado a tu página y genera un nuevo código para instalar el motor de reservas yendo a Configuración -> Motor de reservas -> Instalar en la página web.

En la página Instalar en la página web, haz clic en “Avanzado” y en el campo de entrada “Función Javascript callback” escribe “customEventHandler” para el ejemplo a continuación, o el nombre de la función a la que deseas llamar. Copia el código del campo “Copiar este código” en tu sitio web. Ahora se llamará a tu función por cada paso que realice el huésped durante la reserva.

Cuando se ha realizado una reserva o existe previamente (último paso en el proceso de reserva o proceso de revisión), hay datos adicionales en la clave “booking” disponibles en el evento, con todos los detalles sobre la reserva. Consulta este artículo para obtener más información sobre el formato utilizado para la clave “booking”.

A continuación se muestra un ejemplo que se puede utilizar para explorar los diferentes eventos disponibles y los datos asociados, pero este ejemplo en particular no hace más que imprimir todos los eventos en la pantalla del desarrollador web. Para usarlo para una integración real, se necesitan algunos conocimientos de Javascript.

<script>
         function customEventHandler(data) {
            console.log("Got Sirvoy custom JS event: " + data.event);
            console.dir(data);
        }
      </script>

Nota: Los eventos gallery_init y gallery_open también se activarán cuando se utilice la galería de imágenes en la página de resultados; consulte este artículo para obtener más detalles.