Product Database Schema

Example Schema Documentation | ShedPrime Platform

🏗️
Core Product Tables
Main inventory and quote management
products Main Catalog
Physical Attributes
model, length, width text, integer
roof_style enum
siding_type, condition enum
colors (roof, siding, trim) text
Business Data
inventory_id text, unique
status available|sold|pending
active, date_built boolean, date
Pricing (Calculated)
cashPrice real (base)
retail, clearance, quote, final real (calculated)
quote_products Quote Snapshots
Quote-Specific Data
original_product_id FK to products
cash_price (editable) numeric
discount_amount numeric
version, edited_by audit trail
💰
Pricing System
Dynamic pricing multipliers and RTO factors
Retail Markup
1.25x
Clearance
0.90x
Quote Factor
0.85x
Final Factor
0.804x
RTO 24mo
1.43x
RTO 60mo
2.30x
Pricing Flow
cashPrice (base) → retail → clearance/quote/final
🔗
Key Relationships
Foreign key connections and data flow
products.location_id → locations.id
quote_products.original_product_id → products.id
quote_products.lead_id → leads.id
inventory_transfers.product_id → products.id
leads.product_id → products.id
Supporting Tables
locations Warehouses & dealers
inventory_transfers Product movements
quote_line_items Additional charges
v_inventory_by_location Inventory summary view
Business Rules
Validation and workflow constraints
Pricing Hierarchy
All calculated prices must be ≥ cashPrice (base)
Product Status Flow
available → pending → sold (controlled transitions)
Quote Independence
Quote products can be edited without affecting catalog
Inventory Uniqueness
Each product has unique inventory_id across all locations
Location Tracking
Products always assigned to active location for inventory control