That quite a list of broad questions. Honestly it sounds like you’re looking for someone to do the project for you - but let me answer the first bit to help you get started:
Create a table with availability containing your availability details (one row per slot) and a field/column linked to your users if booked (and available if empty)
You’d manage this table by API’s like this:
add new row with new availability/slots where you enter date/time/location
edit field booked by linking it to an user +execute some action to create a payments link +Google Meet link +send mail confirmation with payments instruction and meeting link or something
view/get availability by filtering the table for records that have this ‘booked by’ field empty
For avoiding double-bookings before payment, you might want to implement a reservation hold: temporarily mark a slot as “pending” when a user selects it, then confirm or release it based on payment status. That way, others can’t grab it mid-checkout. For the Google Meet links, you’ll probably need to connect with Google’s API using a Xano function stack or webhook after Stripe confirms the payment.