I have been building a booking space app using Google Sheets. My client fights over a space booking. An app cannot update in real-time, so it has a duplicate in space. How should I fix this?
Google sheets can take ~3 min or so to sync all the data back to glide, so you’re going to have to move at least that portion of your app to rely on Glide Tables rather than Google Sheets. I realize that may require a lot of work… I’ve been at that point too where this realization meant a month or more of my time rebuilding one of my early apps. Unfortunately I don’t think there’s a way you can ensure a space doesn’t get a duplicate reservation, using Google Sheets for that info. I’m sure someone else will comment if they know of another solution for you. Good luck!
This is a common issue with Glide Apps, and there is no Glide-only solution at the moment.
The only way to prevent it is to delegate your updates to a 3rd party such as Make, so that requests can be queued and handled sequentially.
So for example, you could have a flow something like the following:
- User requests a booking.
- Webhook is triggered and sent to Make with a payload containing Booking request details.
- Make scenario checks your Google Sheet to see if Booking slot is still available. If it is, it creates booking.
With the above, you would avoid duplicate bookings, but you would still have a delay whilst data syncs back to your App. To make it a bit faster, you could adjust the final step so that when a Booking is updated you do it via the Glide API rather than updating the Google Sheet.