Building a quote tool

Hi,

Wondering if someone can point me in the right direction. I'm trying to create a quote tool for workshops that we offer so users can come to a website (will be embedded in a webpage and on mobile), select workshops from 3 different categories, complete a contact form and submit the form. On the back end, the total price is calculated and the user receives an email with the workshops selected and the quoted total price.

Users can select as many workshops from "Communication", "DEIB", and/or "Leadership".

masterkong_3-1671228976479.png

Clicking Get Quote brings them to a summary page where they can edit their choices and provide contact information.

masterkong_2-1671228818071.png

Once submitted an email is sent with this information. Preferably nicely formatted email.

masterkong_4-1671229172612.png

 

 

 

 

0 4 540
4 REPLIES 4

Before you dive in too much with the technicals of how to setup your quote system, I suggest you play around with the embedded app functionality and its limitations.  Since there is no sign-in, every session is seen as a unique user for billing purposes, and no records can be exclusive to any individual user. 

Any table you use will have ALL its records 'public', displayed or not, which might be okay if you only need to show a form view of a single new record with the 'Filter out all existing rows' setting set to true and intend to email all 'per user' results/records. Showing the user what they have entered or having a quote consisting of parent and children records might be outside the feasibility of an embedded app. 

 

Run your app in an iFrame on a web page 

Thanks for your reply. The records don't need to be exclusive to any user and from the link you provided it suggest to wipe the data each time, which is suitable. 

What do you mean by "Since there is no sign-in, every session is seen as a unique user for billing purposes..."; what bill are you referring to?

The functionality you describe is what I was thinking. Only need to show a single record and an email is sent for each session.

I did some further research and found this shopping cart app. I figure it would work similar to this where there is also no sign-in and can show the user what they have selected along with a form to complete. 

https://www.appsheet.com/templates/Product-Categories-and-Live-Filtering?appGuidString=1d4e7700-2858...

Under the standard Appsheet pricing plans, each usage of your embedded app would be considered a user for billing purposes.  So if you viewed the webpage with your app once then refreshed your browser, that would be considered two users for billing purposes.  You can instead pay for Publisher Pro plan, which will reduce your bill if you expect more than five users a month.

Appsheet Subscription Plans 

From the looks of this app, it is not designed to be used by customers but instead used by an employee to build orders for a customer, despite to misleading terminology.  This is indicated to me by the fact that a list of all customers can be seen from the menu.  

This app uses the traditional Order/Detail table relationship setup where a main parent record serves as the order and many child detail records/ line items are related to the parent record. While there is a bit more to the setup in this app, like 'blueprint' products and custom lists of selectable products per customer, the general idea of your public-facing app would be that no customer-generated records can be displayed within the app since there is no way to filter the records down to only the viewing customer's records without sign-in functionality.

To be clear, an order/detail setup means that for every quote, an Order record and one or more Detail records are being CREATED.  This is not necessarily incompatible with an no-sign-in app, but is more complex than what is needed for a system that will not display the results of the relationship to the customer AFTER they create them, unless you are getting into quantities, which I dont think you are in your case.

Instead of an order/detail setup, I suggest having only a products (workshops) table and an order table.  The customer would see a form to enter a new order record and on that form would be a field that is a EnumList of Refs to the Workshops table which would display to the customer as a multi-select checklist dropdown.  Once they click save, they are taken to a successful submission screen that does not show them any details of their selections but does indicate to them to check their email.  The Workshops table would be a normal, read-only table (not necessarily displayed to the user other than from the EnumList dropdown) and the orders table would have the 'Filter out all existing rows' setting set to true.  This method would be substantially simpler than the demo app you found.

You could then build a second app using the same data sources for internal use only to edit the blueprint products and possibly take actions on or see a list of every order.

Hope that helps.