Limits in Food Pickup App

Hey everyone,

I’m working on a restaurant ordering app with pickup service only. Therefore customers should be able to pick a certain time frame where they can pick up their orders. I couldn’t find a proper solution so I worked this issue around with a new database called “pick up times” (with only text data like “12pm”, “12.15pm”,…). So I made several buttons where customers can schedule their pickup time/choose their time slots. One big issue I couldn’t solve so far:

I need to limit the available lots: maybe only 5 people can pick up their food at the 12pm slot. Working with visibilities will only allow me to count the number of orders in total, not for each pick up time.

Anyone has any ideas on how to fix this? Would appreciate any help A LOT!

Thank you,

Liz

HI Liz,
I made also a restaurant ordering app around pickup/delivery using the food app template. I made the same approach as you, to limit the slots, you will need to re-engineer a bit your app like this:

1 In the hour collection, add the time slots with capacity (12:00 - 5, 12:15 - 5 and so on)
1.1 Create a collection that registers the confirmed pickups with day, time and number of people, in your case always 1 per pickup, but whenever you have a pickup you need to update this collection and sum it
2. In next order request you will need to check how many slots were already occupied for that day/time
3. If still available, you will need to update then the correct occupied slots to the new pickup, if not available the condition can make that it will not appear in the list/select.

You can also use external collection like Airtable to make calculations for this.

1 Like

Thanks so much for your help! I’m a total newbie so I’m not 100% sure if you mean I could work this around by creating a a collection for every time slot (like one for 12pm, one for 12.15pm…) and sum up each collection?

Hi Liz
You would have a collection with the registry as such that will then be compared with current user selection:

Booking ID | Hour Slot | booking
2021-01-0817:00 | 17:00 | 1

So when next user comes to make a request for also 2020-01-08 at 17:00 using 2 dropdowns for example, you can make a field that compares the booking ID against each other.

This slot disappears from the list since it is already = 1

Something in the List like filter: User selection booking ID not equal to registry booking ID. This will make that you only shoe available slots.

Let me know if it is more clear now, I will try to explain when I have more time.

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.