Scripting de fulls de càlcul per al viatge d'esquí
Portem organitzant viatges d'esquí de l'Itnig des dels inicis. Recordo que quan vam començar hi cabíem tots en un cotxe, després en una furgoneta, més tard vam haver de llogar un parell de cotxes per poder anar-hi, aviat vam haver de compartir un autobús amb altra gent i ara necessitem un autobús...
Portem organitzant viatges d’esquí de l’Itnig des dels inicis. Recordo que quan vam començar hi cabíem tots en un cotxe, després en una furgoneta, més tard vam haver de llogar un parell de cotxes per poder anar-hi, aviat vam haver de compartir un autobús amb altra gent i ara necessitem un autobús sencer per a nosaltres sols.
Aconseguir que la gent s’apunti
Un cop tens una data i una ubicació, pots crear un formulari amb totes les opcions disponibles i compartir-lo per email, Slack, o el que sigui. Abans el fèiem amb Google Forms perquè s’integrava amb Google Spreadsheets i era fàcil d’usar, però ara utilitzem Typeform. És bonic i ara també s’integra amb Spreadsheets.
Calcular el preu individual de cadascú
El nostre viatge d’esquí té moltes variables. Una persona potser vol llogar l’equip mentre que una altra ja el té. Alguns volen fer snowboard i altres volen llogar els esquís de més qualitat disponibles. Alguns necessiten classes i altres volen assegurança. Alguna gent ni tan sols vol esquiar, només vol passar el cap de setmana a la neu. Això fa que gairebé tothom tingui un preu únic i, encara que era fàcil de calcular i gestionar quan érem 5, es complica quan sou 50. Podries fer una funció IFS niada de 200 caràcters per calcular el preu de cada fila del full de càlcul, però és més fàcil programar la teva pròpia funció de Google Script, més llegible i mantenible. Des del menú ‘Tool’ pots accedir a l’‘Script Editor’ i allà tens molta llibertat per escriure les teves pròpies funcions. Vaig programar la funció ‘skiPrice’ per calcular el preu final de cada combinació possible, depenent dels arguments que rebia la funció. Un cop programada, pots cridar la funció com si fos una funció normal del full de càlcul, enviant-li cel·les com a paràmetres.
La funció ‘skiPrice’ calcula el preu final
Compartir la informació amb l’agència
Un cop tens tota aquesta informació disponible, l’has de compartir amb l’agència perquè puguin comprovar que tots els preus són correctes i generar les pòlisses d’assegurança per a la gent que les paga. Podries copiar i enganxar o exportar el document, però la millor opció és compartir el full de càlcul en viu perquè sempre vegin la informació actualitzada. Podries compartir amb ells tot el full de càlcul en mode ‘només lectura’, però potser tens informació o fulls que no vols compartir-hi. El millor és crear un full ‘Agency’ dins del mateix full de càlcul, amb tota la informació que vols compartir amb l’agència. Després crea un nou full de càlcul i, a la primera fila, escriu:
=IMPORTRANGE(“https://docs.google.com/spreadsheets/d/[YOUR_SPREADSHEET_ID]/edit";"Agency!A1:J60”)
Això crearà un nou full de càlcul amb només el full que vols mostrar a l’agència, de manera que ara el pots compartir. Cada vegada que actualitzis el full de càlcul original, aquest full mirall es mantindrà convenientment al dia.
Enviar emails de pagament personalitzats des de Spreadsheets
De nou, aquesta és una tasca que podia fer manualment quan érem menys gent, però ara no escala. Utilitzant el poder dels Google Scripts genero el cos de l’email, amb les opcions que ha triat cada usuari. Al full de càlcul real calculo el preu total i genero el cos de l’email en una sola crida de funció i una sola iteració, però és més fàcil explicar-ho per separat. La funció ‘mailText’ genera un cos d’email personalitzat que mostra a l’usuari les opcions que ha triat i l’import total a pagar. La funció rep totes les opcions com a paràmetres.
Un cop generat el cos de l’email, un script final que s’executa directament des de l’editor d’scripts itera per cada fila del full de càlcul i envia un email a cada usuari amb el cos personalitzat. I cada usuari rep l’email a la seva bústia d’entrada.
Conclusió
La poderosa combinació de Typeform, Google Spreadsheets i Google Scripts és genial, però després d’anys organitzant viatges d’esquí veig un pas següent clar. Una app moderna d’agència d’esquí que permetés a empreses i particulars organitzar els seus viatges d’esquí personalitzats, ajustant cada detall al seu pressupost i mantenint tota la informació, comunicació i processos de pagament en un sol lloc. Tenint en compte que hi ha més de 6M d’esquiadors només a Espanya, estem parlant d’un mercat interessant. Què us sembla Skitnig com a nom per a una nova startup?