Booking system ideas

I’ve created a few websites for clients using React, Gatsby and a CMS. Now I’m looking to take on a client that will need a booking system for their tutoring business. So students go to the website, look at a calendar and book a date and time for their tutoring session. The student and the tutor should receive an email confirmation of the booking.
Are there any tools out there that may facilitate this? I’ve looked around and I’ve seen things like Stripe which handles payment transactions. But I’m not sure on calendar libraries and how to go about the process.

The aim is to utilise third party services rather than learning how to set up a database, node, express etc as it will take more time to learn and delivering will take longer for the client .

Any tips, suggested guidance is appreciated. I’m really keen to take this client on board as it will broaden my skillset.

I’d look into using something like Google Calendar to handle most of this:

I’d be very careful about trying to roll your own solution in regards to time. Time+dates can be extremely annoying so avoid as much of it as possible.

You could also even use an off the shelf product such as: to handle your entire use-case and build nothing. (I’d still setup a fee for setting everything up, and debugging though)

These are great suggestions. I like Calendly - might integrate it into the website.

This is exactly why I want to use third party packages/services. Time and calendars are quite complex and my newbie skills are no where as complex.

Thanks for the ideas :upside_down_face:

Date and time related things are one of the “do not touch ever” domains in development you’d have to dedicate 100% of your time to.

Here’s a classic video on the topic on why even if you consider yourself the greatest programmer on Earth you should not try to roll your own date-time solution from scratch:

Computerphile is really good, I’ve come across him before.
Yes dates and times are the worst. I remember when I was doing my first weather app in React I was contemplating about coding my own timezones until I read about timezones and how complicated it is. Without thinking twice I straight jumped into a JS date time library.

Thanks for sharing that video - really informative.