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

แชร์
ฝัง
  • เผยแพร่เมื่อ 29 ต.ค. 2024

ความคิดเห็น • 60

  • @practicalsheets
    @practicalsheets  3 ปีที่แล้ว +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 3 ปีที่แล้ว

      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?

  • @XxJ_AnImExX
    @XxJ_AnImExX ปีที่แล้ว +1

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

  • @gasparlam4267
    @gasparlam4267 2 ปีที่แล้ว +3

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

  • @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!

  • @maryatulqibtiyah4771
    @maryatulqibtiyah4771 2 ปีที่แล้ว +1

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

  • @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  3 ปีที่แล้ว +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 3 ปีที่แล้ว +1

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

  • @HeyTash
    @HeyTash ปีที่แล้ว +1

    you’re amazing!!!!

  • @arolyam
    @arolyam 11 หลายเดือนก่อน +1

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

  • @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(-----)?

  • @jachughes1544
    @jachughes1544 8 หลายเดือนก่อน +1

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

    • @practicalsheets
      @practicalsheets  6 หลายเดือนก่อน

      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!

  • @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

  • @keannalindsaylibay1915
    @keannalindsaylibay1915 6 หลายเดือนก่อน +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  6 หลายเดือนก่อน +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 6 หลายเดือนก่อน

      @@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 6 หลายเดือนก่อน +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  6 หลายเดือนก่อน +1

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

  • @Martin-te4dc
    @Martin-te4dc 2 ปีที่แล้ว +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  2 ปีที่แล้ว

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

  • @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 - th-cam.com/video/lt-lWyDMbXg/w-d-xo.html
      Part 3 - th-cam.com/video/Z32gRzl6dX4/w-d-xo.html
      Hope they give you more ideas!
      Regards!

  • @RahimMalik-z1u
    @RahimMalik-z1u 4 วันที่ผ่านมา

    At 15:41 everytime I run it, I have an error "Attempted to execute fillOutDates, but could not save."

    • @RahimMalik-z1u
      @RahimMalik-z1u 4 วันที่ผ่านมา

      Ok I managed to work out what the error was. I did not save the copied and pasted IDs from the previous function as a comment, so script thought it was code.

  • @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!

  • @igormorozov2009
    @igormorozov2009 3 ปีที่แล้ว +1

    Very usefull information. When will be a second part?

    • @practicalsheets
      @practicalsheets  3 ปีที่แล้ว

      Hello Igor
      Thanks for the support
      Already published Part 2
      th-cam.com/video/lt-lWyDMbXg/w-d-xo.html
      Any suggestions for Part 3 are welcome!
      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!

  • @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!

  • @jheorghiemiranda7881
    @jheorghiemiranda7881 8 หลายเดือนก่อน

    How to make it on phone?

  • @BéréniceAntoinetteRobaglia
    @BéréniceAntoinetteRobaglia ปีที่แล้ว

    can you copy paste the code ? thanks a lot

  • @treccobay5621
    @treccobay5621 ปีที่แล้ว

    Looks like this project is closed. All links dead

  • @killer13387
    @killer13387 ปีที่แล้ว

    But the end result is just so ugly

  • @NadaOsama-u9x
    @NadaOsama-u9x ปีที่แล้ว

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

  • @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

    • @practicalsheets
      @practicalsheets  2 ปีที่แล้ว +2

      Hello!
      You just need to change .getValue() with .getValues()
      Regards!

    • @GurpreetSingh-is7ki
      @GurpreetSingh-is7ki 2 ปีที่แล้ว

      @@practicalsheets Thankyou so much

  • @feelgoodmusic2585
    @feelgoodmusic2585 2 หลายเดือนก่อน +1

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

    • @practicalsheets
      @practicalsheets  หลายเดือนก่อน

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