# My first project, and im a little stuck:-)

Im trying to make a pre order season pass function to our little skiresort here in sweden, the thought i had was that the customers should log in into the app and make the choises and then make a row in a google drive sheet and a payment to our bank, the solution for the payment is named “swish” here in sweden and its a totally mobile solution, i can get the payments in a excel shart and will compare it with the “order” list to assure all payments have been done. I have a hidden basic table in the first page that tells the customer the amount to pay and it seems a little odd, i want it to show the actual amount, even if its the second time the customer has logged in, i lika the pin code log in solution and dont want them to be “users”. i have tried to match the sum with the ordernumber since it seems to be generated in a ranom way, but i cant get it to work. the procect can be seen here :

https://go.glideapps.com/support/33003c87-ed55-4430-88e1-91e9b7a7be8c

Only the support team can see your app with the support link, so if you can provide some screenshots it would be great.

So your main problem here is how to integrate the “Swish” payment gateway?

No the payment doesnt have to be integrated, we solve that one, but i want the “amount to pay” to show the correct amount,

Its a “basic table” funkction

I was thinking the order number as it was generated will show the correct sum but it seems not to be showing att all now, i have no problems inviting someone helpful to the project

apparently I see your table of orders, the data is unique to the user? Would it be an order (one line) per user at a time?

Yes that´s the thought.

How is the order amount calculated?

Math column not working for you?

The sum is calculated like this

You’d be better off using a Math column for that formula.

What is the purpose of the if-then-else columns?

2 Likes

Ok, ill try that then,. will that solve my mystery?
It hten function is : If choosed either children or adult the customer has ti fill in a name for the person that is going to get the season pass.

I can see that the columns where the formula points to are currently text type, try changing to number type and follow the suggestion of the mathematical column to start ruling out possible interferences

1 Like

i have changed to a math column, but the same error, i cant see the actual ordernumber sum, it seems like it takes another sum from another ordernumber.

How are you expecting it to work? It’s hard to tell from your screenshot. I don’t see any relations or lookups to retrieve any values from a previous order. I also don’t see any user specific columns (especially for the order number), so your app won’t be able to handle multiple users at once. Unless I’m completely misunderstanding the problem or the question.

I would need to see more to get a better visual of your app flow, how you have everything set up, and how you want it work. I feel like we are trying to fix the wrong problem.

3 Likes

Ok.

ill try to explain.

The customer who wants to buy a season pass goes into the app and chooses “beställ säongskort”
The app opens up a nwe window and here you can choose between children and adult and nothing.
Up to 4 season passes are able to buy every time and if they have made a selection its a mandantory fileld showing and here you have to put in the “skiers” name,

And in the end you can choose wether if you want it to be sent to you by post or not.
If “yes” you will be charged for it.

in the bottom you will fill in a checkbox that assures that you have understood when you push “ready” in the top of the window you have made an order.

The payment is made separately from the app and we will compare the payments with the order list to make sure all the payments have been done. (thats why i ask what telephone number the “swish” payment is done from.

The issue here is that i get a sum in the bottom but its not “user unique” .

The sheet calculates all the costs and make a summary

Sorry, I should have been more specific. Explain to me as if I’m a new glide user and trying to build the same app. A general description does help me much. I need to know specifics about how you have your screens configured. How your data is configured. What does your data look like? How do you add order rows? How do you link all of your data together. How is the main table and the order table related to each other?

The screenshots above don’t really tell me much of the story, so at best I can only make wild assumptions about how your have everything set up. What I’m envisioning may be completely different from how you have your app set up, so any advice from me may not make sense. Screenshots are extremely helpful. Videos are better.

What we do know is that your total sum is wrong, but it’s not clear how you come up with that sum and where the numbers ultimately come from.

1 Like

Isnt it easier if i invite you in some way to my project? If possible we can have a short teams meeting, and i can show you.,

Sorry I don’t have a lot of free time to dig deep into a project, but I’m sure someone else here would be willing to take a look.

Look here… i tried to explain!

OK, I understand now. It becomes a little more complicated since you do not require users to sign in, but that’s not a problem.

First, I must let you know that since you do not require users to sign in, you will not be able to use Row Owners to protect data. A person with the right skills could actually see the data for all form data that was submitted, including names, addresses, and emails. Normally we would require users to sign in and utilize Row Owners, so a user would only have access to their own data. This would also make it a lot easier to show the correct total on the main screen because Row Owners would automatically filter that screen to the user’s own rows, and you could also filter the screen to always show the last row.

However, we will have to do things differently since users will not be signing in.

• First I would go through and mark any columns with personal information as protected. You shouldn’t need to do this on any IF columns or math columns, but I would advice doing it on the Name, Address, Email, and any other columns that contain personal information. This will still write the data to the google sheet, but it will not be visible in the app and if someone snoops the data, they will see prices, but not personal information.
• Next, I would advise creating a new single row table. Make sure it has one row. This can be a glide table instead of a google sheet table. This new table should be the source of your tab. (This step isn’t necessary, but things will not work correctly if your Sasongskort table is ever empty. If you choose to skip this step, just make sure that you have at least one existing row in your Sasongskort table. The steps below will apply to either the new glide table, or the Sasongskort table, depending on which one you decide to use.)
• Next, create a new user specific column and name it TempTransactionID or something similar. I will explain what it’s used for below.
• Next, create another column in your Sasongskort table that is NOT user specific. I would name this column TransactionID or something similar.
• In the table that contains the TempTransactionID, also create a single Relation column that links the user specific TempTransactionID to the TransactionID in the Sasongskort table.
• After creating the relation column, also create a Lookup column to retrieve the final Price/Amount from the Sasongskort table.
• Next make a duplicate of your form button. You can do this by clicking on the small duplicate button next to the component in the lower left panel in the builder. We want this duplicate so you don’t lose your form and can copy the components from it later.
• Next, change your button action to a custom action. This is why we duplicate the button first, because you will lose your form components when changing the action on the button.
• In the custom action, you will need two actions. The first action should be a ‘Set Column’ action that will write a Unique ID special value to the TempTransactionID column you created above. The second action will be a ‘Show Form Screen’ action. This action will open your new form. Save and close the action editor.
• Next open your duplicate form button, right click on the components list in the lower left panel, and select ‘Copy All’.
• Go back and click on the form button with the custom action. This should open the form. Here you can delete any existing components, make sure your form is writing the the Sasongskort table, and then right click and paste the copied components into the lower left panel. This should hopefully restore all form components as you had already set them up.
• In your form, add a new Value component. This component should be named TempTransactionID, which is the user specific column you created above, and will actually retrieve the uniqueID that was set in the custom action. Set this component to write to the TransactionID column in the Sasongskort table.
• Finally change the basic table component in your main tab screen to retrieve the Lookup column value.

So essentially what this does, is when you click on the form button, it will generate a temporary Transaction ID and write it to your main screen table. Then when the form is submitted, it will take that Transaction ID and transfer it to a permanent column in your Sasongkort table. Finally the Relation/Lookup will find the newly added row and retrieve the correct amount from the row that the user just added. Since we use a user specific column to hold the temporary Transaction ID, it will be unique to the user, and multiple users can use the app at the same time without everyone overwriting each other. Just be mindful that if a user does click on the form button a second time, the user specific Transaction ID will change and the user will no longer see the amount they previously entered.

Hopefully I made it clear enough for you to understand. It might be a good idea to duplicate your entire app before making these changes, so you have something to go back to if things don’t work out. If you get stuck at any point, just let us know.

(Apologies for not using correct Swedish letters in your table name)

2 Likes

Jeee. Thanks, this was a lot to process

I see that if i need to do the colummns protected i have to upgrade the account, and we will use this for a month or two only, can you go back to a non premium plan after two months?

Not to be cheep but the costs are high as they are with electrcal prices and so on

If í turn the other way and make the users to sign in, is it still required to be a premium? And is it a lot of work for me or the user to handle? I tried a while ago and it seemed to be granted by me every time a new user was registerd, well i can live with that if needed…

Yes, you can cancel a glide subscription at any time, and any unused amount will remain as a credit in your account to use later. I believe you can pay monthly or yearly.

Row Owners should work with any glide plan, including the free plan, however you will be limited to the number of public users that your plan allows per month. When users are signed in, they are considered Public or Private users depending on settings. When users are not signed in, then they are considered Visitors, which are unlimited.

I’m not sure I follow. Signing in shouldn’t be complicated. Users enter their email address, then they receive an email with a pin number and a magic link. They can either enter the pin number, or just click on the magic link, which should open the app and sign them in automatically.

1 Like