# 🗓️ Simple Booking App Tutorial (No Double Bookings)

**URL:** https://community.glideapps.com/t/simple-booking-app-tutorial-no-double-bookings/62534
**Category:** Community Resources
**Tags:** tutorial
**Created:** [June 7, 2023, 7:42am UTC](https://community.glideapps.com/t/simple-booking-app-tutorial-no-double-bookings/62534 "2023-06-07T07:42:42Z")
**Posts on this page:** 16
**Page:** 2

<div class="post-metadata">

### Author: ![Darren\_Murphy](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/darren_murphy/32/47326_2.png) [@Darren\_Murphy](https://community.glideapps.com/u/Darren_Murphy)
#### Post date: [June 8, 2023, 1:45am UTC](https://community.glideapps.com/t/simple-booking-app-tutorial-no-double-bookings/62534/21 "2023-06-08T01:45:39Z")

</div>

> [@Eric\_Penn](#):
>
> What about making the slot unavailable because someone is simply looking at it…”reserved” if you will… same process? That could be a lot of rows?

Same situation still applies, yes. Reserving the spot still happens locally, and has to sync back to Glide and then to all other users. So there will always be a small window of time where collisions can occur.  
The busier the App, the more likely it is to happen.

---

<div class="post-metadata">

### Author: ![Loqode](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/loqode/32/50217_2.png) [@Loqode](https://community.glideapps.com/u/Loqode)
#### Post date: [June 8, 2023, 1:57am UTC](https://community.glideapps.com/t/simple-booking-app-tutorial-no-double-bookings/62534/22 "2023-06-08T01:57:30Z")

</div>

> [@Darren\_Murphy](#):
>
> So every user could perform that check, and because they all haven’t synced up yet, they all pass…

Yep had a feeling that was the case, hence my comment at the end…

> [@Loqode](#):
>
> Not sure how quickly the Lookup column would be updated with the newly added booking…

Interesting Idea delegating the the booking submission to Make though 🧐

And @Eric_Penn thanks for clarifying. In that case, I’m not really sure how you’d block/reserve a spot someone has selected/claimed before submission… Seems like a bit of a tall order 😅

---

<div class="post-metadata">

### Author: ![Bhavana](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/bhavana/32/63672_2.png) [@Bhavana](https://community.glideapps.com/u/Bhavana)
#### Post date: [October 4, 2023, 5:22am UTC](https://community.glideapps.com/t/simple-booking-app-tutorial-no-double-bookings/62534/25 "2023-10-04T05:22:10Z")

</div>

![image (1)](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/7/5/75ce9893c3028636156347c3bd8e011990a9cdcd.png)  
 ![image](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/4/d/4d73d08810eb5177c20921cc198dcc2b8017e84a.png)

Hi, tried the Simple Booking App please reffer to the screenshots though the array contains the date and time same as full selection the taken checkbox is not checked because of that I am  
able to Book the same slot many times what can I do to correct this

---

<div class="post-metadata">

### Author: ![madhu](https://avatars.discourse-cdn.com/v4/letter/m/a8b319/32.png) [@madhu](https://community.glideapps.com/u/madhu)
#### Post date: [October 5, 2023, 4:46am UTC](https://community.glideapps.com/t/simple-booking-app-tutorial-no-double-bookings/62534/26 "2023-10-05T04:46:39Z")

</div>

@Loqode  
Hi Marco I tried this simple booking app, but I am not able hide the already booked time, in the backend the taken column is not affecting, please refer to the below screenshots, Please help correcting this.

 ![image](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/4/d/4d73d08810eb5177c20921cc198dcc2b8017e84a.png)  
 ![image (1)](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/7/5/75ce9893c3028636156347c3bd8e011990a9cdcd.png)

---

<div class="post-metadata">

### Author: ![Loqode](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/loqode/32/50217_2.png) [@Loqode](https://community.glideapps.com/u/Loqode)
#### Post date: [October 5, 2023, 5:10am UTC](https://community.glideapps.com/t/simple-booking-app-tutorial-no-double-bookings/62534/27 "2023-10-05T05:10:32Z")

</div>

@Bhavana @madhu Your `Full Selection` doesn’t contain a comma, but the items in your `All Bookings` array do.

---

<div class="post-metadata">

### Author: ![madhu](https://avatars.discourse-cdn.com/v4/letter/m/a8b319/32.png) [@madhu](https://community.glideapps.com/u/madhu)
#### Post date: [October 5, 2023, 5:17am UTC](https://community.glideapps.com/t/simple-booking-app-tutorial-no-double-bookings/62534/28 "2023-10-05T05:17:41Z")

</div>

@Loqode , Thank you , that was silly mistake, didn’t notice it properly.

---

<div class="post-metadata">

### Author: ![Bhavana](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/bhavana/32/63672_2.png) [@Bhavana](https://community.glideapps.com/u/Bhavana)
#### Post date: [November 2, 2023, 10:45am UTC](https://community.glideapps.com/t/simple-booking-app-tutorial-no-double-bookings/62534/29 "2023-11-02T10:45:50Z")

</div>

Hi, I have a column in a table in that I have lookup column but I have to show coachnames column its not showing while displaying the name

 ![Screenshort 1copy](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/b/f/bfb9699e71b3532a540c39861b05c52282dfadba.png)

---

<div class="post-metadata">

### Author: ![Eric\_Penn](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/eric_penn/32/73888_2.png) [@Eric\_Penn](https://community.glideapps.com/u/Eric_Penn)
#### Post date: [November 2, 2023, 11:32am UTC](https://community.glideapps.com/t/simple-booking-app-tutorial-no-double-bookings/62534/30 "2023-11-02T11:32:44Z")

</div>

Is your lookup via the “UserRelation”? Check your “UserRelation” column… it needs to be a SINGLE relation for your lookups to display on screen properly.

---

<div class="post-metadata">

### Author: ![Bhavana](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/bhavana/32/63672_2.png) [@Bhavana](https://community.glideapps.com/u/Bhavana)
#### Post date: [November 2, 2023, 12:45pm UTC](https://community.glideapps.com/t/simple-booking-app-tutorial-no-double-bookings/62534/31 "2023-11-02T12:45:38Z")

</div>

Thank you ,Its Working

---

<div class="post-metadata">

### Author: ![nathanaelb](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/nathanaelb/32/43079_2.png) [@nathanaelb](https://community.glideapps.com/u/nathanaelb)
#### Post date: [November 2, 2023, 4:32pm UTC](https://community.glideapps.com/t/simple-booking-app-tutorial-no-double-bookings/62534/32 "2023-11-02T16:32:16Z")

</div>

@Darren_Murphy , @Loqode

I had missed your exchange. Thanks for this, it was very valuable. The repetition of these explanations in different use cases really helps grasp the topics.

---

<div class="post-metadata">

### Author: ![nathanaelb](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/nathanaelb/32/43079_2.png) [@nathanaelb](https://community.glideapps.com/u/nathanaelb)
#### Post date: [November 2, 2023, 4:38pm UTC](https://community.glideapps.com/t/simple-booking-app-tutorial-no-double-bookings/62534/33 "2023-11-02T16:38:25Z")

</div>

> [@Darren\_Murphy](#):
>
> When you open the form, you use a Show New Screen action. Whilst that is fine, it does limit you to only being able to create bookings whilst in the context of that screen. What I like to do is create a Single Value → First → Helper Table → Whole Row in the User Profile table, and then use a Show Details (not Show New) screen via that column. Doing it that way essentially gives you a reusable Custom Form that you can call from anywhere in the App.

Would you agree that the same is achieved when using a Global Settings table instead of the Users table, where this Global Settings table is the data source of every tab (and therefore every custom action)?

In effect, in your method you use the Users table as a Global Settings table. In Paris a few weeks ago, Oscar encouraged me to set up a Global Settings table instead of what I was doing, which was to create a dedicated single-row table per tab just as the data source.

---

<div class="post-metadata">

### Author: ![ThinhDinh](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/thinhdinh/32/49_2.png) [@ThinhDinh](https://community.glideapps.com/u/ThinhDinh)
#### Post date: [November 3, 2023, 1:32am UTC](https://community.glideapps.com/t/simple-booking-app-tutorial-no-double-bookings/62534/34 "2023-11-03T01:32:41Z")

</div>

> [@nathanaelb](#):
>
> In effect, in your method you use the Users table as a Global Settings table. In Paris a few weeks ago, Oscar encouraged me to set up a Global Settings table instead of what I was doing, which was to create a dedicated single-row table per tab just as the data source.

Is there any plus of doing this though? I always build my tab level screens on top of the Users table, and helper screens on top of single row tables like Darren suggested.

---

<div class="post-metadata">

### Author: ![Darren\_Murphy](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/darren_murphy/32/47326_2.png) [@Darren\_Murphy](https://community.glideapps.com/u/Darren_Murphy)
#### Post date: [November 3, 2023, 2:47am UTC](https://community.glideapps.com/t/simple-booking-app-tutorial-no-double-bookings/62534/35 "2023-11-03T02:47:35Z")

</div>

> [@nathanaelb](#):
>
> In effect, in your method you use the Users table as a Global Settings table. In Paris a few weeks ago, Oscar encouraged me to set up a Global Settings table instead of what I was doing, which was to create a dedicated single-row table per tab just as the data source.

Yeah, I remember Mark telling me about this a couple of years ago. I can see how it might keep things nicely organised, but I still prefer to keep this sort of stuff in the User Profile row as you can access it directly from anywhere in the App without doing anything extra.

---

<div class="post-metadata">

### Author: ![jia](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/jia/32/83173_2.png) [@jia](https://community.glideapps.com/u/jia)
#### Post date: [March 24, 2025, 2:44pm UTC](https://community.glideapps.com/t/simple-booking-app-tutorial-no-double-bookings/62534/36 "2025-03-24T14:44:09Z")

</div>

hii thanks for the amazing vid & tips!!  
im currently facing this issue where the Taken column is not ticked when the first slot has already been booked:

 ![image](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/f/b/fb04ddd043157b3d0fd77cf07cad75aa0654e760.png)  
 ![image](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/d/e/de46e47ae5bf361b621e56e9ccb3eca33fce07d1.png)

 ![image](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/9/1/91d070abf133ef8d70906d9ee060e67727c85a35.png)  
 ![image](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/b/a/ba76839b1cb8e34a724ecacb08762a0edb4231cd.png)

do you have any advice on how i can mitigate this issue? Thank you!

---

<div class="post-metadata">

### Author: ![ThinhDinh](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/thinhdinh/32/49_2.png) [@ThinhDinh](https://community.glideapps.com/u/ThinhDinh)
#### Post date: [March 25, 2025, 12:33am UTC](https://community.glideapps.com/t/simple-booking-app-tutorial-no-double-bookings/62534/37 "2025-03-25T00:33:14Z")

</div>

I think there’s potential for something to go wrong if you approach date/time that way.

I would use a math column to convert the date/time into numerical values:

```auto
YEAR(D)*10^8+MONTH(D)*10^6+DAY(D)*10^4+HOUR(D)*10^2+MINUTE(D)

```

That would give you 202503251000 for March 25, 2025 10.00 am.

Then, proceed with the Array Contains Element approach to see if it makes a difference.

---

<div class="post-metadata">

### Author: ![SageCat](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/sagecat/32/85273_2.png) [@SageCat](https://community.glideapps.com/u/SageCat)
#### Post date: [September 13, 2025, 9:50am UTC](https://community.glideapps.com/t/simple-booking-app-tutorial-no-double-bookings/62534/39 "2025-09-13T09:50:35Z")

</div>

Hi. So would I use this concept if I’m making a booking app but for rooms across days and I want to prevent the same room being booked for the same days (so no double booking)? So not timeslots as the booking would be for the day. And to throw a potential spanner in the works, what I’m keen to do is only allow the room to be booked again on either the first or last day (because the room could become vacant in morning allowing it to be used starting in the afternoon). Curious before I delve down that rabbit hole 🙂

[Previous page](https://community.glideapps.com/t/simple-booking-app-tutorial-no-double-bookings/62534.md?page=1)
