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
1 Like

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.

1 Like

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.