Background: This is a customer-facing quoting system for potential customers get quotes for glass window installations on Sydney’s Northern Beaches. (Sorry This detailed but I thought it would help with Clarity)
A homeowner needs new glass windows. They scan a QR code or click an email link. They land on my Welcome Page. They fill in their details. Then they use cascading dropdown menus to select from over 5,500 different window configurations and sizes.
Residential or Commercial. Window or Door. Product Name. Panel Type. Height. Width.
Each choice narrows down the next. Like a funnel. Simple. Clean. Professional
The Data Architecture
Here’s how it’s supposed to flow…
● Product Listing Table - Houses all 5,500+ variations with cascading logic built in…
● Customer Quotes System - Main storage for client details and window selections…
● Temporary Quote Entry - Was meant for temporary storage before the AI destroyed it…
● TRB Customer Table - Holds personal information like First Name, Last Name, Phone…
● TRB Window Quotes - Child table for multiple window quotes per customer…
● Glass Table - Pulls costing data for glass per square meter…
Reveals & Architrave Table - Handles installation costing calculations
STEP 1: The Welcome Screen (Where It All Begins)
● Screen Name: The Right Builder Welcome Screen
● Purpose: Landing page for customers arriving via email or QR code
STEP 2: Customer Details Collection
Screen Name: TRB-1 Customer Quoting
Purpose: Capture customer personal information
What Happens When They Click “Go”:
● Button Action: Go
● Action Type: Workflow
● Workflow Name: Add row CQS opentab
The Workflow Does:
- Add row to Customer Quotes System (captures all their details)
- Go to tab 01-TRB Quote Requests-live
- Add row to Customer Table (stores customer info separately)
Current Status: Still working correctly. Customer details are saved properly.
The breakdown happens in the next step.
STEP 3: Window Selection (Where The Magic Used to Happen)
● Screen Name: 01-TRB Quote Requests-live
● Purpose: Customer selects their window specifications through cascading dropdowns
The Cascading Dropdown Flow:
1: - Window or Door (First choice)
● Customer selects “Window” or “Door”
● This filters everything that follows
2: - Product Name (Second choice)
● If Window selected → Shows only window product options
● If Door is selected → Shows only Door product options
● List dynamically filters based on the first choice
3: - Panel Type (Third choice)
● Shows panel types available for the selected Product Name
● Each product has different panel configurations
● List filters based on Product Name selection
4: - Height (Fourth choice)
● Shows heights available for the selected Panel Type
● Each panel type has specific height options
● List filters based on Panel Type selection
5: - Width (Fifth choice)
● Shows the widths available for the selected Height
● Final narrowing of options
● List filters based on Height selection
The Technical Setup:
Each dropdown is built from the Product Listing Table with conditional filters:
● Column: Window or Door
● Column: Product Name (filtered by Window/Door)
● Column: Panel Type (filtered by Product Name)
● Column: Height (filtered by Panel Type)
● Column: Width (filtered by Height)
This cascading logic took weeks to build correctly.
And it worked. Flawlessly. Until the first break.
STEP 4: Adding Multiple Windows (Where Everything Breaks)
The Use Case:
Most customers need quotes for multiple windows. Not just one.
So after they configure Window #1, they need to add Window #2, Window #3, and so on.
The Setup:
At the bottom of 01-TRB Quote Requests-live, there are two buttons:
Button 1: Add Another Window/Door
STEP 5: The Breakdown (Visual Evidence)
THIS IS WHERE EVERYTHING FALLS APART.
What Should Happen:
● Customer clicks “Add Another Window/Door”
● System should:
Keep Window #1 data in its own row
●
Create Window #2 in a new row
●
Link both as children to the same parent customer
●
Display summary showing both windows
● Action Type: Workflow
● Workflow Name: Add another Window
● What It Should Do: 1. Save current window selection
-
Create a new row in TRB Window Quotes (child table)
-
Link it to the parent in the Customer Quotes System
-
Reload 01-TRB Quote Requests-live with blank fields
-
Show a summary of all windows selected so far
Look at the Customer Quotes System table:
New window quote overwrites the top row
AND adds a row at the bottom
So you get duplicate data and lost data simultaneously
Look at the TRB Customer Table:
Look at TRB Window Quotes (child table):
New quotes don’t create separate child records
They just keep appending to one giant quote
No parent-child relationship maintained
Visual Result:
Instead of this structure:
Customer: John Smith
├── Window Quote 1: Sliding Door, 2400mm x 1800mm
└── Window Quote 2: Awning Window, 600mm x 900mm
I get this chaos:
Customer: John Smith
└── Window Quote: [Sliding Door 2400x1800 + Awning Window 600x900 all mashed together]
This makes the system completely unusable for multi-window quotes.
And multi-window quotes are 90% of the business.




