First you need to create this. Looking at your editor, this is not done yet, but based on the post, I’ll assume you already know how to do it and are in the process of putting it together…it is basically an availability schedule of the professional, which is a schedule of their available times to perform the session.
Once you create your functionality to allow a professional to create their events and the availability schedule for those events, then you need to create the booking functionality you asked about.
As per the site you reference you are trying to create, it doesn’t even have the functionality you are asking for. On my first attempt after signing up I was able to book a 60 minute session starting at 12PM on Dec 26th and then I booked a 12:30 PM session that is 60 minutes also starting Dec 26th.
So, if you are looking to just replicate the site booking functionality, don’t worry about double booking as the site you want to replicate doesn’t either and just let the user book a session whenever they want.
But to avoid a user from booking themselves into another event that overlaps an existing event they booked, create date ranges for the booked sessions of a user and then when the user wants to book another session that overlaps, get the date range of that session to see if any points overlap. There are operators for this, so check out bubble manual for operators and how to work with date ranges.