GreenScape Landscaping
— Quote Estimator & Service Manager
● Demo Storage (Local)
Get an Instant Quote
Select your service, choose any add-ons, and tell us a few details about your project.
1
Your Selections
2
Project Details
3
Review & Submit
1. Select a Service
2. Add-ons (Optional)
3. Project Details
Fast & Free
Instant estimate
No Obligation
You're not locked in
100% Secure
Your info is safe
Your Estimated Price
Subtotal$0.00
Service Fee (5%)$0.00
Estimated Total
$0.00
This is an estimate. Final price may vary after assessment.
We'll contact you within 24 hours
Dashboard
Mini quote estimator & pricing manager
AD
Admin
128
Total Quotes
+18% this month
42
Pending
+5% this month
68
Approved
+12% this month
18
Declined
-8% this month
Services
4
Service Name
Base Price
Description
Status
Actions
Add-ons
5
Add-on Name
Price
Description
Status
Actions
Quote Requests
5
Request ID
Customer
Service
Add-ons
Estimated Price
Date
Status
Actions
Add Service
Add Add-on
Submit Quote Request
#QR-0128
May 20, 2025
Supabase Database Configuration
Connect this quote manager to your live Supabase project to persist services, add-ons, and customer quote requests. If left empty, the app runs with zero-config in local storage demo mode.
-- Table 1: services
create table if not exists services (
id text primary key,
name text not null,
base_price numeric(10,2) not null check (base_price >= 0),
description text,
icon text default 'lawn',
status text not null default 'Published',
display_order integer default 0,
created_at timestamptz default now()
);
-- Table 2: addons
create table if not exists addons (
id text primary key,
name text not null,
price numeric(10,2) not null check (price >= 0),
description text,
status text not null default 'Published',
display_order integer default 0,
created_at timestamptz default now()
);
-- Table 3: quote_requests
create table if not exists quote_requests (
id text primary key,
request_number text not null,
customer_name text not null,
customer_email text not null,
customer_phone text,
service_id text references services(id) on delete set null,
service_name text not null,
service_price numeric(10,2) not null default 0,
addons jsonb default '[]'::jsonb,
property_type text default 'Residential',
yard_size text default 'Medium (1,000 - 5,000 sq ft)',
service_frequency text default 'One-time Service',
preferred_date text,
notes text,
subtotal numeric(10,2) not null,
service_fee numeric(10,2) not null default 0,
estimated_total numeric(10,2) not null,
status text not null default 'Pending',
created_at timestamptz default now()
);