Booking calendar

I’m building a booking system using WeWeb (frontend) and Xano (backend), and I need help designing the following flow:

  1. users should be able to:
  • Add available time slots (e.g., Monday 10–12 AM)
  • Remove or update time slots at any time
  1. other users or guests should:
  • See only the available time slots (real-time)
  • Select a slot
  • Pay via Stripe
  • After payment, receive a Google Meet link by email
  1. Requirements:
  • Once a slot is booked, it should be removed from the available list immediately
  • Booking confirmation email should include:
    • Google Meet link
    • Booking time
    • booking unique id
  • Optionally: Allow one-time reschedule (72h in advance), or cancellation (with a 72h cutoff)

Could you please guide me on:

  • How to structure the database in Xano (tables for users, slots, bookings)?
  • How to check slot availability before payment and avoid double-booking?
  • How to generate/send Google Meet links dynamically after payment?
  • Best way to trigger the email via Xano or WeWeb after payment confirmation?
  • Also is there any plugin or its better to do it manually?

Thank you! I want to implement this with best practices for data integrity and scalability.

@stesi ,

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.

thank you for your answer, do you know how the google meet implementation is? is it possible to implement that?

Hi @stesi ,

In this community I found like 7 threads about Google Meet and if you search online for Google Meet API you’ll find this: Google Meet REST API overview  |  Google for Developers

I work(ed) with Zoom, which is as easy as send a date and time to the Zoom API and you’ll receive a meeting link. Google Meet should work similar.