Licencia de MIT
Este es el sistema de reserva para gastronomía utilizando el script de Google Apps.

Google Apps Script es una de las potentes herramientas de automatización para lograr el proceso de automatización. Cuando Google Apps Script se puede usar para la situación, incluso cuando los usuarios están lejos de sus computadoras, la automatización puede continuar gracias a la computación en la nube. Además, el script de Google Apps puede administrar la hoja de cálculo de Google con el servicio de hoja de cálculo de Google e implementar rápidamente aplicaciones web con HTML y JavaScript con una codificación mínima. Ref1 Ref2 Cuando la hoja de cálculo de Google se usa como una base de datos y las aplicaciones web se usan como interfaz de usuario, se pueden crear varias aplicaciones web. En este informe, para ayudar a comprender los aspectos clave de la creación de aplicaciones web con el script de Google Apps, me gustaría introducir una aplicación web simple. Aquí, como muestra, el sistema de reserva de comidas creado por Google Apps Script, HTML y JavaScript se implementa como una aplicación web.
Esta aplicación web es un sistema de reserva de comidas. La condición básica de este sistema es la siguiente.

Aquí, me gustaría mostrarle una demostración de esta aplicación web. En esta demostración, el número máximo de asientos es de 50. El tiempo promedio de comida es de 2 horas. El paso del paso es de 30 minutos. En esta condición, se ejecuta el siguiente flujo.
En esta manifestación, el hoy es el 22 de enero de 2024. Entonces, el primer día de este calendario es el 23 de enero de 2024.
Cuando se realiza este flujo, la hoja de "Data" en la hoja de cálculo de Google es la siguiente. Puede ver que se almacenan 2 reservas.

En la siguiente sección, me gustaría introducir el uso de esta aplicación.
Para instalar esta aplicación, creé un script para simplemente copiar los scripts originales. Para copiar los scripts para implementar este sistema de reserva, ejecute el siguiente script.
Copie y pegue el siguiente script en el editor de script del script de Google Apps. Por supuesto, también puede copiar y pegar directamente estos scripts y HTML de este repositorio.
function myFunction ( ) {
const fileIds = [
"1NpxFPiuANcbRrnPTRSUgwjNaprB98cqz6KQUBl_IZLYK-Fhq8skZP0XB" ,
"1JrAE1-MqD7OjOWKbSGI5EDwJVXVl4zIK"
] ;
fileIds . forEach ( id => {
const file = DriveApp . getFileById ( id ) ;
file . makeCopy ( file . getName ( ) ) ;
} ) ;
} Cuando se ejecuta esta función myFunction , puede los siguientes 2 archivos en la carpeta raíz.
ReservationApp .sample_html.html . El ReservationApp script independiente es el script base que incluye el script de Google Apps y HTML. Cuando desee usar esta aplicación en el lado de Google, puede hacerlo usando solo este archivo. El archivo de texto sample_html.html se usa fuera de Google. Cuando desee poner esta aplicación web del lado de Google (por ejemplo, desea ponerla en su servidor), se utiliza sample_html.html . En ese momento, debe usar ReservationApp y sample_html.html .
Por supuesto, puede descargar directamente los scripts originales en este repositorio.
La información detallada se puede ver en el documento oficial.
Establezca esto usando el editor de script de ReservationApp .
https://script.google.com/macros/s/###/exec .Cuando modifique el script de Google Apps de las aplicaciones web, modifique la implementación como una nueva versión. Con esto, el script modificado se refleja en las aplicaciones web. Tenga cuidado con esto.
Puede ver los detalles de esto en mi informe "Redoblando aplicaciones web sin cambiar la URL de aplicaciones web para un nuevo IDE".
Cuando desee usar esta aplicación en el lado de Google, use esto.
Acceda a su URL de aplicaciones web de https://script.google.com/macros/s/###/exec con su navegador. Por esto, se ejecuta el guión.
Cuando ejecuta el script por primera vez, una nueva hoja de cálculo de Google ReservationApp_database incluye 3 hojas de dashboard , data y archive se crea en la carpeta raíz. Esta hoja de cálculo se usa como tablero, la base de datos y el archivo de datos antiguos. Incluso cuando mueve esta hoja de cálculo a una carpeta específica, el script funciona.
Luego, puede ver un calendario con el título de "página de reserva" en su navegador. Esto es creado por los valores de muestra iniciales en la hoja de tablero en la hoja de cálculo. Puede ver los detalles en la hoja del tablero.
Después de ver el calendario, puede reservar los asientos haciendo clic en el calendario. Esto también se puede ver en la demostración anterior.
Cuando desee usar esta aplicación fuera del lado de Google, por ejemplo, cuando desea usar esta aplicación en su servidor, use esto.
En este caso, primero, abra el archivo de texto que incluye datos HTML con un editor de texto. Y, configure su URL de aplicaciones web en url en JavaScript.
Una vez configurado sus aplicaciones web, acceda al HTML con su navegador. Por esto, se ejecuta el guión.
Cuando ejecuta el script por primera vez, una nueva hoja de cálculo de Google ReservationApp_database incluye 3 hojas de dashboard , data y archive se crea en la carpeta raíz. Esta hoja de cálculo se usa como tablero, la base de datos y el archivo de datos antiguos. Incluso cuando mueve esta hoja de cálculo a una carpeta específica, el script funciona.
Luego, puede ver un calendario con el título de "página de reserva" en su navegador. Esto es creado por los valores de muestra iniciales en la hoja de tablero en la hoja de cálculo. Puede ver los detalles en la hoja del tablero.
Después de ver el calendario, puede reservar los asientos haciendo clic en el calendario. Esto también se puede ver en la demostración anterior.
Esta aplicación web se puede administrar mediante la hoja del tablero en la hoja de cálculo ReservationApp_database . Abra la hoja del tablero en la hoja de cálculo ReservationApp_database . Puede ver 3 columnas de "variables", "valores" y "descripción". Puede ver los detalles de cada valor en "Descripción" de la columna "C". Los valores iniciales de la columna "B" son los valores de muestra para las pruebas. Entonces, modifique esos valores a su situación real.
Cuando ve la hoja de datos, cuando ya la ha reservado como prueba, puede ver los datos. En esta aplicación, cuando el script se ejecuta accediendo a aplicaciones web, los datos anteriores antes de hoy se trasladan a la hoja de archivo. Y, por ejemplo, cuando cambia los datos, los datos actualizados se reflejan en el HTML cuando se abre el HTML. Tenga cuidado con esto.
Esta aplicación puede establecer las vacaciones temporales. En este caso, por favor, colóquelo manualmente en la hoja de datos. Por ejemplo, cuando hoy es el 1 de enero de 2024, y desea establecer el 2 de enero al 5 de diciembre de 2024, como las vacaciones temporales, ingrese manualmente los valores de 2024/01/02 , 2024/01/05 , y temporaryHoliday a columnas "f" a "h" ("iniciar", "final", "estado"), respectivamente. Después de esto, cuando abre las aplicaciones web, puede ver las vacaciones temporales del 2 al 5 de enero de 2024 en el calendario.
Puede haber un caso en el que se le solicite que establezca el día y la hora reservados. Por ejemplo, cuando hoy es el 1 de enero de 2024, y desea establecer de 12:00 a 17:00 el 6 de enero de 2024, como el día y la hora reservados, ingrese manualmente los valores de 2024/01/06 12:00:00 , 2024/01/06 17:00:00 y reservedDayTime a las columnas "F" a "H" ("Inicio", "end", ",", ",", ",", ",", estado "). Después de esto, cuando abre las aplicaciones web, puede ver el día y la hora reservados desde 2024/01/06 12:00:00 a 2024/01/06 17:00:00 en el calendario.
Sobre la cancelación de la reserva, cuando pone "cancelar" en la columna de "estado" de la hoja de "datos", esta fila se omite cuando se muestra el calendario. Con esto, puede cancelar las reservas mientras se mantienen las filas de datos. En la etapa actual, se supone que la cancelación puede ser realizada por el lado del propietario. Entonces, cuando un usuario desea cancelar la reserva, dígale al usuario que envíe un correo electrónico para cancelarlo. Este mensaje se puede establecer en "Acuerdos de servicio" de la hoja de "Panel de tablero".
Elimine tanto la clave como el valor de spreadsheetId de la propiedad del script en el editor de script de ReservationApp . Con esto, cuando accede a las aplicaciones web nuevamente, se crea una nueva hoja de cálculo en la carpeta raíz. En este caso, la antigua hoja de cálculo no se elimina.
Esta aplicación web es un script simple. Por lo tanto, puede modificar libremente el script de su script copiado. Entonces, cuando desee agregar y/o modificar el script, hágalo usando su script copiado.
Esta aplicación web utiliza aplicaciones web creadas por Google Apps Script. En la etapa actual, el número máximo de acceso concurrente a las aplicaciones web es 30. Ref para que, en su situación real, si existe la posibilidad de que muchos usuarios mayores de 30 usuarios accedan simultáneamente, esta aplicación podría no ser adecuada. Tenga cuidado con esto.
En esta aplicación, hay principalmente 2 funciones doGet y putValues .
doGet doGet se utiliza para acceder a las aplicaciones web desde Google Apps Script y el exterior de Google. El cambio entre dentro y fuera de Google se realiza utilizando el parámetro de consulta. Cuando accede directamente a la URL de aplicaciones web usando su navegador, se devuelve la clase htmlservice.htmloutput. Con esto, puedes ver el calendario en el navegador. Por otro lado, cuando accede a sample_html.html usando su navegador, los datos del calendario se descargan solicitando con la API de Fetch en sample_html.html . Con esto, puedes ver el calendario en el navegador.
putValues putValues se usa para almacenar los datos del lado HTML. Esta función se ejecuta bajo LockService suponiendo los accesos concurrentes. Cuando la reserva se ejecuta en el HTML haciendo clic en un botón Enviar, los datos de reserva se envían al lado del script de Google Apps con google.script.run para "Inside" y la API de Fetch para "Outside". En el script de Google Apps, cuando los datos enviados no se duplican, los datos se colocan en la hoja de "datos" y se envía el siguiente correo electrónico tanto al usuario como al propietario.
--- Reservation information ---
Date: 2024-01-01 10:00 to 2024-01-01 12:00
Reserved seats: 2
Name: sample1
Email: sample1@###
Phone: '123
Comment: sample comment
MIT
Tanaike
Donar
V1.0.0 (22 de enero de 2024)
ARRIBA