Help

Quota in form

Solved
Jump to Solution
248 3
cancel
Showing results for 
Search instead for 
Did you mean: 
JeremiBen
5 - Automation Enthusiast
5 - Automation Enthusiast

Hi, 

I created a form where people can choose if they want 1 or 2 tickets. I have 40 tickets only available. I have no idea how to setup the form and the table so the form close when the 40 are reached.... 

Any ideas ? 

 

Thank you !

1 Solution

Accepted Solutions
kuovonne
18 - Pluto
18 - Pluto

Create a table of [tickets], with one row per ticket (40 rows). Have a single select that states if a ticket is available or not.

Link the table of [Tickets] to another table of [Ticket Choices]. This [Ticket Choices] has two rows: a row for "1 ticket" and another row for "2 tickets". Link both ticket choices to all the 40 rows in the [Tickets] table. Use a numeric field to state if row is for 1 ticket or 2. Use conditional rollups to see if there are enough tickets available. Use a filtered view to show only the rows where where there are enough tickets available.

Have a third table for [Ticket Requests] with the actual form. One of the fields is a link to the [Ticket Choices] table that is limited to the filtered view. Make this field a required field in the form. The form will not technically close, but if there are no ticket choices available in the view, users will not be able to pick a choice, and thus will not be able to fill out the form.

Finally, have an automation that runs when the form is submitted. Have the automation link the triggering [Ticket Request] to specific [Tickets] and set the single select to mark those tickets as taken. There will require some additional fields in the [Ticket Choices] to identify the first and second available tickets. I would use conditional rollup fields with regex to identify the first and second available tickets, but there are other methods. Another option is to use a script.

Note that this system does have some issues. If people submit their requests around the same time, with not enough time for the automation to run, two people could end up linked to the same tickets. Also, if someone leaves the form open for a long time, and you run out of tickets while the form is open, that person may still be able to submit the form. So this system is not a good fit for high-volume situations, or situations where a bunch of people will want to submit requests at the same time, such as right when the form opens. However, if you know that there won't be many requests and the requests will be spaced out in time, this will work without any third party services.

See Solution in Thread

3 Replies 3
TheTimeSavingCo
18 - Pluto
18 - Pluto

Hmm, if you trust the people filling in the form you can set up a new table called "Tickets" with 40 records in it and link it to your form submission table.  In your form, you set it so that users can only add records from the "Tickets" table when they're not linked to any records from the form submissions table

You can then ask your users to select tickets by adding them from the linked field, and once all of them are selected the form's technically closed

---
Alternatively you can use a form software like Fillout.com that allows you to limit the total number of form submissions.  You can then set your form so that one submission = one ticket, and so once there have been 40 submissions all 40 tickets are allocated and Fillout will close the form.  Fillout has a free plan that allows for 1000 submissions a month so that covers your usecase just fine I think

If that's not feasible then we can go into a more in depth solution!

kuovonne
18 - Pluto
18 - Pluto

Create a table of [tickets], with one row per ticket (40 rows). Have a single select that states if a ticket is available or not.

Link the table of [Tickets] to another table of [Ticket Choices]. This [Ticket Choices] has two rows: a row for "1 ticket" and another row for "2 tickets". Link both ticket choices to all the 40 rows in the [Tickets] table. Use a numeric field to state if row is for 1 ticket or 2. Use conditional rollups to see if there are enough tickets available. Use a filtered view to show only the rows where where there are enough tickets available.

Have a third table for [Ticket Requests] with the actual form. One of the fields is a link to the [Ticket Choices] table that is limited to the filtered view. Make this field a required field in the form. The form will not technically close, but if there are no ticket choices available in the view, users will not be able to pick a choice, and thus will not be able to fill out the form.

Finally, have an automation that runs when the form is submitted. Have the automation link the triggering [Ticket Request] to specific [Tickets] and set the single select to mark those tickets as taken. There will require some additional fields in the [Ticket Choices] to identify the first and second available tickets. I would use conditional rollup fields with regex to identify the first and second available tickets, but there are other methods. Another option is to use a script.

Note that this system does have some issues. If people submit their requests around the same time, with not enough time for the automation to run, two people could end up linked to the same tickets. Also, if someone leaves the form open for a long time, and you run out of tickets while the form is open, that person may still be able to submit the form. So this system is not a good fit for high-volume situations, or situations where a bunch of people will want to submit requests at the same time, such as right when the form opens. However, if you know that there won't be many requests and the requests will be spaced out in time, this will work without any third party services.

JeremiBen
5 - Automation Enthusiast
5 - Automation Enthusiast

Hi, thank you !

I know there is a small chance that there will be some issue but it's not that important so i'll try anyway. 

Your explication is impressive anyway and that work great. Thank you for taking the time.