RESERVATION SYSTEM in Google Sheets, Google Forms and Google Apps Script 🎫 - Part 1

Поділитися
Вставка
  • Опубліковано 8 вер 2024

КОМЕНТАРІ • 57

  • @practicalsheets
    @practicalsheets  2 роки тому +6

    This is just the beginning of this project. In the next videos we will explore how to update sessions already booked, and how to assign available slots through Google Calendar. As always, please let me know your suggestions to improve the system

    • @saipinplumjit9703
      @saipinplumjit9703 2 роки тому

      Thank you for the reservation system video. What I'd like to know more about is if I use it for meeting room reservations. I want to make a repeat booking, for example I want to book every Wednesday of the week for 1 month, how do I do that?

  • @Saby-jf8sh
    @Saby-jf8sh Рік тому +1

    Keep going you deserve to be the best UA-camr when it comes to this kind of video you are honest and you give the right information
    Thank you

  • @lafamillecarrington
    @lafamillecarrington Рік тому +1

    Very clearly explained - without being long-winded.

    • @practicalsheets
      @practicalsheets  Рік тому

      Thank you!
      I try to, but I´m sure some of my videos are sloooow
      It´s not easy
      Thanks for the kind words!

  • @gasparlam4267
    @gasparlam4267 2 роки тому +3

    Excellent Job. This is very close to what I need. Thank you for the great work

  • @abdullahquhtani4247
    @abdullahquhtani4247 3 роки тому +2

    Great 👍🏼.
    I hope you consider adding booked date to calendar and update google sheets date and time in case I as admin or coordinator edit calendar manually because it’s easier to use drag and drop functionality in google calendar.
    Thank you again. 👍🏼👍🏼

    • @practicalsheets
      @practicalsheets  2 роки тому +1

      Helloo
      Sorry for the delay
      And I´ve been long due to thank you, as I told you before, you motivated me to create the channel!
      I hope to bring Google Calendar to this system in a few videos
      Regards!

    • @abdullahquhtani4247
      @abdullahquhtani4247 2 роки тому +1

      @@practicalsheets Thank you so much for your efforts. That’s really highly appreciated. I watch all of your videos. One of the best 🙏👍🏼

  • @maryatulqibtiyah4771
    @maryatulqibtiyah4771 Рік тому +1

    Thank you so much!
    This tutorial is easy to follow.

  • @HeyTash
    @HeyTash Рік тому +1

    you’re amazing!!!!

  • @mycoldmembersonly8271
    @mycoldmembersonly8271 Рік тому

    hi admin. thank you for the video. btw, if not dates, let say booking set like A1 A2 A3, what word i need to put in Logger.log(-----)?

  • @arolyam
    @arolyam 10 місяців тому +1

    What to do if I have an error saying "Questions cannot have duplicate choice values"?

  • @c4rlosM4nuel
    @c4rlosM4nuel 2 роки тому +1

    Que bueno tienes otro canal en inglés!! Me suscribo para apoyarte, que he aprendido mucho gracias a ti 😁😁😁. Tengo un proyecto de que podría servirte para continuar este de reservas. En mi caso es un sistema para los turnos de trabajo del personal. Es como un diagrama de Gantt integrado con una base de datos, para visualizar los plazos desde y hasta las fechas seleccionadas de manera consecutiva y no solo escalonada como pasa con los diagramas de gantt que hiciste en tus videos. El problema que el mio es a base de puras formulas y pesa mucho pero con GAS seguro que se podrías hacerlo mas ligero y sería una herramienta muy potente en combinación tambien de tu sistema de reservas. Para proyectos de reserva de habitaciones de hotel , clases , cuadrantes de turnos de personal como en mi caso... Si te interesa , te lo paso con un breve video explicativo, ya que es un lío 😅 pero seguro que en un futuro tu lo mejoras y sacas buenos tutoriales

    • @practicalsheets
      @practicalsheets  2 роки тому

      Hola Carlos
      Primero, mil gracias por el doble apoyo. Muy agradecido!!!
      Segundo, claro que si, envíame un correo a jsguzmanb@gmail.com con el video y lo pongo como un proyecto a futuro
      Gracias de nuevo
      Saludos!

  • @igormorozov2009
    @igormorozov2009 3 роки тому +1

    Very usefull information. When will be a second part?

    • @practicalsheets
      @practicalsheets  2 роки тому

      Hello Igor
      Thanks for the support
      Already published Part 2
      ua-cam.com/video/lt-lWyDMbXg/v-deo.html
      Any suggestions for Part 3 are welcome!
      Regards!

  • @jachughes1544
    @jachughes1544 6 місяців тому +1

    Hi, its saying i cant have duplicate choice values do you know what the fix is for this, many thanks.

    • @practicalsheets
      @practicalsheets  5 місяців тому

      Change this
      const datesList = dates.map(row => row[0])
      For this
      const datesListOriginal = dates.map(row => row[0])
      let datesList=[]
      datesListOriginal.forEach(date=>{
      if(datesList.indexOf(date)==-1) datesList.push(date)
      })
      Regards!

  • @jalandhardc6023
    @jalandhardc6023 2 роки тому +1

    Could we add choice eliminator in the same code. as soon as a choice is filled it would be removed from the selection dropdown

    • @practicalsheets
      @practicalsheets  2 роки тому +1

      Hello!
      Yes. In part 2 and 3 you´ll find the answer (I think...)
      Regards!

  • @Martin-te4dc
    @Martin-te4dc Рік тому +1

    Muy bueno y muchas gracias :) Una pregunta: me dice TYPEERROR Map is not a function. Puedo sacarlo y funciona bien, pero luego en el video 2 cuando hacemos FREE y BOOKED ahi ya no me funciona sin map ya que toma la columna de la fecha MAS la columbna FREE/BOOKED y eso ya arruina el vlookup. Cual es el problema? Es todo igual a tu codigo :(

    • @practicalsheets
      @practicalsheets  Рік тому

      dejame ver la linea done tienes el map, y las dos anteriores
      Saludos!

  • @joshuavelez2854
    @joshuavelez2854 Рік тому +1

    Do you and your group the sheets is shared with get an email notification each time a reservation is made?

    • @practicalsheets
      @practicalsheets  Рік тому

      I think it is not set up, but it could be done
      Regards!

    • @joshuavelez2854
      @joshuavelez2854 Рік тому

      @practicalsheets could it also be done where an automated confirmation is sent out after a user submits a reservation? I know this video is old but still very useful information! Thanks so much

  • @abriannaambus4875
    @abriannaambus4875 2 роки тому +1

    I have certain times that work for my booking such as I am only free from 7-9 PM every Fri, Sat, Sun and Monday. It will not let me put 7:00,8:00, and 9:00. What can I do to fix that?

    • @practicalsheets
      @practicalsheets  2 роки тому

      Hello! In the second part of this project I fix it, so that you can insert any date you want, and in the 3rd part you can do it directly from calendar!
      Here they are
      Part 2 - ua-cam.com/video/lt-lWyDMbXg/v-deo.html
      Part 3 - ua-cam.com/video/Z32gRzl6dX4/v-deo.html
      Hope they give you more ideas!
      Regards!

  • @keannalindsaylibay1915
    @keannalindsaylibay1915 4 місяці тому +1

    Hi I have a question, in 19:30 everytime I run it, it'll show "Exception: Questions cannot have duplicate choice values." What should I do?

    • @practicalsheets
      @practicalsheets  4 місяці тому +1

      Change this line
      const datesList = dates.map(row => row[0])
      for these
      const datesListWithDupes = dates.map(row => row[0])
      var datesList=[]
      datesListWithDupes.forEach(date=>{
      if(datesList.indexOf(date)==-1) datesList.push(date)
      })
      Regards!

    • @keannalindsaylibay1915
      @keannalindsaylibay1915 4 місяці тому

      @@practicalsheets hi thank you for your reply, but sadly it still doesn't work and keep showing "Exception: Questions cannot have duplicate choice values." I hope that you will reply again, thank you!

    • @keannalindsaylibay1915
      @keannalindsaylibay1915 4 місяці тому +1

      @@practicalsheets Oops never mind, I already solved it. I just kept the original code " const datesList = dates.map(row => row[0]) " and then I added the word "row" here after the > " const hoursList=hours.map(row=> row[0]) " and now it works. Thank you very much for your help and for your video tutorials like this!

    • @practicalsheets
      @practicalsheets  4 місяці тому +1

      @@keannalindsaylibay1915 Excellent! Love that you solved it!
      Kind Regards

  • @GurpreetSingh-is7ki
    @GurpreetSingh-is7ki 2 роки тому +2

    its Only Showing data for 1 Colum
    function fillOutDates() {
    const ws=SpreadsheetApp.getActiveSpreadsheet();
    const optionsSheet=ws.getSheetByName("Options")
    const dates=optionsSheet.getRange(2,1,optionsSheet.getLastRow()-1).getValue();
    Logger.log(dates)
    }
    11:54:55 AM Notice Execution started
    11:54:54 AM Info Fri Jul 15 00:00:00 GMT+05:30 2022
    11:54:56 AM Notice Execution completed

  • @rcsart6409
    @rcsart6409 Рік тому +1

    I am trying to use this embedded in a website. The form and sheet work on a pc and tablet, but the form doesn't show up on a mobile phone. Any idea how to rectify?

    • @practicalsheets
      @practicalsheets  Рік тому +1

      Hello!
      Are you using which link to see the form
      Regards!

    • @rcsart6409
      @rcsart6409 Рік тому

      @@practicalsheets hi, thanks for the reply. Played around with the formatting and got it working.

    • @practicalsheets
      @practicalsheets  Рік тому

      @@rcsart6409 Excellent!

  • @jheorghiemiranda7881
    @jheorghiemiranda7881 6 місяців тому

    How to make it on phone?

  • @user-te4fk8uq4m
    @user-te4fk8uq4m Рік тому

    can you copy paste the code ? thanks a lot

  • @treccobay5621
    @treccobay5621 Рік тому

    Looks like this project is closed. All links dead

  • @feelgoodmusic2585
    @feelgoodmusic2585 8 днів тому +1

    Syntax error: SyntaxError: Unexpected end of input line: 7 file: Code.gs

    • @practicalsheets
      @practicalsheets  7 днів тому

      Hello!
      maybe you mistyped : instead of ;
      I would need to see line 7
      Kind Regards

  • @killer13387
    @killer13387 Рік тому

    But the end result is just so ugly

  • @user-uy5gr8zm3k
    @user-uy5gr8zm3k Рік тому

    It keeps telling there's an error, whatshould I do?
    const dates=optionsSheet.getRange(2,1,optionsSheet.getLastRow()-1).getValues();