/bubble-tutorials

How to build appointment booking in Bubble

Learn how to build a seamless appointment booking system in Bubble with step-by-step guidance to streamline scheduling and enhance user experience.

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 appointment booking in Bubble

 

How to build appointment booking in Bubble

 

The simplest way to build appointment booking in Bubble is: create a Booking data type with fields for date, time, and who booked; create a Time Slot data type or generate time options; show only available slots in a repeating group; and when the user clicks a slot, run a Workflow → Create a new Booking while checking that the slot isn't already taken. This avoids double‑booking and works reliably for real apps.

 

Detailed explanation

 

Bubble doesn’t have a built‑in booking system, so you create it using the Database + Workflows + Privacy Rules.

  • Data types

Create two types:

  • Booking: fields: date (date), start_time (date), end_time (date), user (User), provider (User).
  • Provider Availability (optional but recommended): fields: day (text), start_time (number), end_time (number).

This lets you filter which hours can be booked.

  • Showing available slots

Use a Repeating Group where each cell represents one time slot. The list can come from an API (e.g., Google Calendar) or you generate it inside Bubble by creating a “list of times” using a custom state or an Option Set.

Set the RG data source to only show slots where a Booking doesn't already exist:

// RG Search Constraint
Booking's start_time != This cell's start_time

 

  • Creating the booking

When the user clicks a slot: run a Workflow → Create a new Booking. Add a condition on the workflow to avoid double‑booking:

Only when: Search for Bookings
    (start_time = This cell's start_time
     and provider = Current cell provider)'s count is 0

This guarantees two people can't book the same slot even if they click at the same time.

  • Canceling or editing

You simply run Make changes to a thing or Delete thing on the Booking record.

  • Privacy rules

In Data → Privacy, restrict Bookings so users can only see their own. Providers can see all bookings that reference them.

This setup is the same pattern used for doctor apps, coaching apps, salon scheduling, or any simple appointment system.

 

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