/bubble-tutorials

How to build scheduling in Bubble

Learn how to build scheduling in Bubble with clear steps, workflows, and tips to create a smooth booking system for your app.

Matt Graham, CEO of Rapid Developers

Book a call with an Expert

Starting a new venture? Need to upgrade your web or mobile app? RapidDev builds Bubble apps with your growth in mind.

Book a Free Consultation

How to build scheduling in Bubble

To build scheduling in Bubble, you create a data type that represents an appointment, let users pick a date/time, check availability, and then save it. The core idea is: store times as Bubble date fields, prevent double‑booking by doing a search before creating the appointment, and optionally use backend workflows if you need reminders or automated actions.

 

Core Structure You Need

 

You need one main data type, usually called something like Booking or Appointment. A data type in Bubble is just a table in the database. Each booking stores who booked, start time, end time, and anything else relevant.

  • Create data type Booking.
  • Add fields:
    - start\_time (date)
    - end\_time (date)
    - user (User)
  • On the page, place a Date/Time Picker for start and end.

 

Checking Availability Before Saving

 

You must prevent overlapping bookings. Bubble can do this using a Search for during your workflow when the user clicks “Book”. If the search returns zero results, the slot is free.

  • Workflow action: When Book button is clicked → Only when no overlapping booking exists.
  • Use this condition:
    Search for Bookings with constraints:
    start\_time < end picker’s value
    end\_time > start picker’s value
    :count is 0

 

Create the Booking

 

If the condition passes, you create the Booking normally:

// In your workflow action
Create a new Booking:
start_time = DatePicker Start's value
end_time = DatePicker End's value
user = Current User

 

Optional: Automated Reminders

 

If you want reminders (email or SMS), use a backend workflow. A backend workflow lets Bubble run things later, even if the user is offline.

  • Create an API Workflow called send-reminder.
  • Add a parameter like booking\_id (Booking).
  • Inside, send an email or message.
  • When creating the booking, schedule it:
    Schedule API Workflow → time = booking’s start\_time minus 1 hour.

 

UI for Showing Available Times

 

To show available times, use a Repeating Group listing time slots, and hide or disable ones that have an overlapping booking using the same search logic. This gives users a clean, Airbnb‑style picker.

  • Repeating Group of times → Each cell checks if slot is booked.
  • If booked, make it grey or unclickable.

 

This setup is the standard, reliable way scheduling is built in Bubble: store date ranges, check overlaps, create the booking, and optionally trigger backend workflows for reminders.

Explore More Valuable No-Code Resources

How to integrate Bubble.io with Git?

Learn how to seamlessly integrate Bubble.io with Git through our comprehensive step-by-step guide. Perfect for beginners and professionals.

Explore

How to integrate Bubble.io with Reddit Ads?

Learn how to seamlessly integrate Bubble.io with Reddit Ads using our easy step-by-step guide. Boost your ad management today!

Explore

How to integrate Bubble.io with AWS S3?

Explore our step-by-step guide on integrating Bubble.io with AWS S3, making your app development process more efficient and secure.

Explore

How to integrate Bubble.io with Lucidchart?

Follow our step-by-step guide to seamlessly integrate Bubble.io with Lucidchart, enhancing your workflow & productivity.

Explore

How to integrate Bubble.io with Kentico?

Learn how to seamlessly integrate Bubble.io and Kentico with our comprehensive, easy to follow step-by-step guide.

Explore

How to integrate Bubble.io with Box?

Discover easy-to-follow steps for integrating Bubble.io with Box. Boost your workflow and secure your files seamlessly today.

Explore

Stuck in Bubble.io? We’re here to help!

Fix broken workflows | Optimize logic | Boost performance | Scale with confidence

4.9
Clutch rating 🌟
600+
Happy partners
17+
Countries served
190+
Team members

By clicking “Accept”, you agree to the storing of cookies on your device to enhance site navigation, analyze site usage, and assist in our marketing efforts. View our Privacy Policy for more information.

Cookie preferences