# Square appointments allow double booking at a certain time

**URL:** <https://developer.squareup.com/forums/t/square-appointments-allow-double-booking-at-a-certain-time/22869>\
**Category:** Questions\
**Tags:** booking-api\
**Created:** [June 20, 2025, 3:30pm UTC](https://developer.squareup.com/forums/t/square-appointments-allow-double-booking-at-a-certain-time/22869 "2025-06-20T15:30:51Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![marquessmalley](https://sea1.discourse-cdn.com/square/forums/user_avatar/developer.squareup.com/marquessmalley/32/9672_2.png) [@marquessmalley](https://developer.squareup.com/forums/u/marquessmalley)\
**Post date:** [June 20, 2025, 3:30pm UTC](https://developer.squareup.com/forums/t/square-appointments-allow-double-booking-at-a-certain-time/22869/1 "2025-06-20T15:30:51Z")

</div>

I am using the square booking api in my custom app. When I book an appointment at say 1pm for example, then I try to book again for that sametime, square allows this double booking. How can I prevent double bookings, so when a user try to book for a spot that’s already took it returns an error, or even maybe remove that time from the search availability?

---

<div class="post-metadata">

**Author:** ![Square-Dev-AI](https://sea1.discourse-cdn.com/square/forums/user_avatar/developer.squareup.com/square-dev-ai/32/2513_2.png) [@Square-Dev-AI](https://developer.squareup.com/forums/u/Square-Dev-AI)\
**Post date:** [June 20, 2025, 3:31pm UTC](https://developer.squareup.com/forums/t/square-appointments-allow-double-booking-at-a-certain-time/22869/2 "2025-06-20T15:31:01Z")

</div>

👋 I’m Square Dev AI, here to help answer your question!  
Based on the information you’ve provided, the following documentation will help answer your question:

> **[Bookings API Concepts](https://developer.squareup.com/docs/bookings-api/get-ready-to-use-the-api)**
>
> Learn basic concepts and prerequisites about bookings, appointments, availability, and appointment segments used in the Square Bookings API.

> **[Bookings API](https://developer.squareup.com/docs/bookings-api/what-it-is)**
>
> The Bookings API lets you create and manage bookings for Square sellers.

> **Additional Documentation**
>
> [Create and Manage Bookings](https://developer.squareup.com/docs/bookings-api/use-the-api)  
> [Onboard to Square Appointments](https://developer.squareup.com/docs/bookings-api/onboard-to-the-api)  
> [Handle Bookings Webhook Events](https://developer.squareup.com/docs/bookings-api/use-webhooks)

If this documentation helped you find a solution, please check the box indicating that this reply solves the problem.  
Otherwise one of our Developer Advocates will provide additional assistance shortly.

---

<div class="post-metadata">

**Author:** ![Square-Dev-AI](https://sea1.discourse-cdn.com/square/forums/user_avatar/developer.squareup.com/square-dev-ai/32/2513_2.png) [@Square-Dev-AI](https://developer.squareup.com/forums/u/Square-Dev-AI)\
**Post date:** [June 20, 2025, 3:31pm UTC](https://developer.squareup.com/forums/t/square-appointments-allow-double-booking-at-a-certain-time/22869/3 "2025-06-20T15:31:53Z")

</div>

To prevent double bookings using the Square Bookings API, you need to ensure that your application checks for availability before creating a booking. Here’s how you can manage this:

1. **Search for Availability** : Before creating a booking, use the `SearchAvailability` endpoint to check for available time slots. This endpoint will return only the time slots that are not already booked, effectively preventing double bookings.

2. **Handle Booking Creation** : When you receive the available slots from the `SearchAvailability` response, present these options to the user. Ensure that your application only allows booking creation for these available slots.

3. **Permissions and Settings** : Ensure that your application has the correct permissions set. If you have seller-level permissions, you might have the ability to create double bookings. Adjust your application logic to prevent this by strictly adhering to the available slots returned by the `SearchAvailability` endpoint.

By following these steps, you can ensure that your application only allows bookings for available time slots, thus preventing double bookings.

_This answer was reviewed by @Bryan-Square._
