Help - Products with multiple options to be selected before check out

Hello Gliders !

I am trying to build a public app for a pizza restaurant. Should not be too hard but still i am finding some issues especially with the selection of options, shopping cart and check out.

Here is the situation, the restaurant sells:

  • 3 product types (pizza, drinks, dessert)
  • Each product types has multiple products (example: a pizza product type includes 4 seasons pizza, 4 cheeses pizza, and so on)
  • Each product has several options to choose from (for instance for a specific pizza you could select from a list of extra cheese, extra vegetables, etc.)

My google sheet is set-up this way:

  • one sheet with product types
  • one sheet with products with link to the product types sheet through relation
  • one sheet with the options for each product link to the product through relation

To be clear, with one specific example:

  • Product Type = Pizza
  • Product = 4 seasons [Product Type = Pizza] [Option available = Extra cheese]
  • Option Extra Cheese = Mozza or goat

The UX flow is as follows:

  • User enter the app and see a tab using a detail list of product types
  • User select the product types he wants and then through inline list get the list of products that are linked to specific product type
  • When product is selected, through choice components it requires the user to select the options linked to his product. These options update the product sheet in specific columns (that are not user specific as it is a public app)
  • The user needs to decide if he will do pick or delivery

My issues:

  • If 2 public users are looking at the same product at the same time and one make some selection of the different options, then the other user will see the list of options affected as the choice component is pointing to the same sheet column. How can i solve that in a public app?
  • as it is a public app, on check out, how and when can i ask the user to decide if he wants delivery?
  • I can force the user to fill in the shipment information on check out but it is useless for someone willing pick up. What kind of solutions is available?
  • Phone number if not required (yet) on check out. How can i get the user phone number and not his email?

I hope it is not too long topic to read and someone would be able to help me…



The most critical question I have is if you will be using the Stripe integration or building your own cart. I’m going to assume you are.

  • User Specific columns will work for a public app, but once the app is closed, the selections will be lost. I think in your case this will not be a problem.
  • If you are using stripe, then you will most likely be using the cart functionality. You can either display the delivery option as an item to add to the cart, or add it as an option along with the other toppings. Also there’s another option as part of your next question.
  • I would maybe consider 2 buy buttons. One for delivery and one for pickup. Then you can turn off the option on the pickup button to require address.
  • You might be stuck with email as it’s a required field, although you can probably type in anything in the field. Haven’t tried it. If you want to ensure that the user enters a phone number, maybe add that as a user specific column as well and only display the buy buttons once a phone number is entered.

Once you have all your user specific columns on the products sheet, create a template column to join all of the information together along with the product name. This is the column you will use to fill the Description of the buy button.

Hope this helps to get you going.

1 Like


Thank you very much. I did not know / understand that we can use user specific columns in public app.

I managed to create all i need but failed to create my own shopping cart connected to glide payment afterwards… Not sure if feasible in a simple way. I already feel that creating an e-shop in public app is not really convenient but i don’t think the current sign in process is good in term of UX (need to wait for a code via email, get out of the app and come back to enter the code.)


You’ll either need to use Glide’s but in cart or create a single order record that links the order to your cart items. If you want your own cart instead of the built in one, then you can only submit payment for one record that contains enough information for you to know which items to relate to in your custom cart.