Sistema de Reservas con Forms y Sheets

Hoy vamos a empezar un sistema de reservas utilizando Forms y Sheets que les va a servir a todos los que tienen emprendimientos donde necesitan gestionar fechas y horas específicas para servicios, cursos, clases, etc.

Objetivos del Tutorial

  1. Crear un formulario en Google Forms para reservas.
  2. Conectar el formulario con Google Sheets.
  3. Automatizar la actualización de fechas y horas disponibles en el formulario desde una hoja de cálculo.

Paso 1: Crear el Formulario de Reservas

1.1 Crear el Formulario en Google Forms

Primero, creamos un formulario en Google Forms desde Google Sheets para que se vinculen automáticamente.

  1. En Google Sheets, vamos a “Herramientas” y seleccionamos “Crear un formulario”.
  2. Renombramos la hoja de respuestas que se genera automáticamente como “Reservas”.

1.2 Configurar las Preguntas del Formulario

En Google Forms, configuramos las preguntas básicas:

  1. Correo Electrónico: Configuramos el formulario para recopilar direcciones de correo electrónico.
  2. Clase: Añadimos una pregunta de selección múltiple con las opciones de clases (por ejemplo, “Google Sheets Básico”, “Google Sheets Avanzado”, “Google Apps Script”).
  3. Fecha y Hora: Añadimos dos preguntas más, una para la fecha y otra para la hora. Utilizaremos listas desplegables para controlar mejor las opciones disponibles.

Paso 2: Conectar Google Sheets y Google Forms

2.1 Preparar la Hoja de Disponibilidad

En Google Sheets, creamos una nueva hoja llamada “Disponibilidad” donde pondremos las fechas y horas disponibles.

Disponibilidad
--------------
Fechas
01/06/2023
02/06/2023
03/06/2023
Horas
10:00 AM
11:00 AM
12:00 PM

2.2 Escribir el Código de Google Apps Script

  1. Abrimos el editor de Google Apps Script desde “Extensiones” > “Apps Script”.
  2. Escribimos el siguiente código para conectar Google Forms y Google Sheets y actualizar las preguntas de fecha y hora basadas en los datos de la hoja “Disponibilidad”.
function actualizarPreguntas() {
    // Conectar con el formulario
    const formId = 'YOUR_FORM_ID_HERE'; // Reemplazar con el ID de su formulario
    const form = FormApp.openById(formId);

    // Obtener las preguntas específicas de fecha y hora
    const items = form.getItems();
    const preguntaFecha = items.filter(item => item.getTitle() === "Fecha")[0].asMultipleChoiceItem();
    const preguntaHora = items.filter(item => item.getTitle() === "Hora")[0].asMultipleChoiceItem();

    // Conectar con la hoja de cálculo
    const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Disponibilidad');

    // Obtener las fechas
    const fechas = sheet.getRange('A2:A').getValues().flat().filter(String);
    // Obtener las horas
    const horas = sheet.getRange('B2:B').getValues().flat().filter(String);

    // Actualizar las opciones en el formulario
    preguntaFecha.setChoiceValues(fechas);
    preguntaHora.setChoiceValues(horas);
}

2.3 Configurar un Activador

Configuramos un activador para que esta función se ejecute automáticamente cada vez que se edite la hoja “Disponibilidad”.

  1. En el editor de Apps Script, vamos a “Reloj” (ícono de reloj).
  2. Añadimos un nuevo activador.
  3. Seleccionamos la función actualizarPreguntas y configuramos el activador para que se ejecute “Al editar”.

Paso 3: Probar el Sistema

  1. Añadir Datos: Añadimos algunas fechas y horas a la hoja “Disponibilidad”.
  2. Verificar el Formulario: Vamos a Google Forms y verificamos que las opciones de fecha y hora se actualicen automáticamente según los datos de la hoja de cálculo.

Conclusión

Hemos creado un sistema de reservas automatizado utilizando Google Forms y Google Sheets. Este sistema permite actualizar fácilmente las fechas y horas disponibles sin tener que modificar manualmente el formulario cada vez. Esto es ideal para gestionar reservas de servicios, clases, y cualquier otra actividad que requiera una gestión precisa de horarios.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Pin It on Pinterest

Share This