⚠️ Demo Mode: Replace https://hjteywapdngzospmqsxq.supabase.co and sb_publishable_noyniN62fAxriQGHJQGhHA_gYeWy4sU in this file's script with your real Supabase credentials to connect live data.
Bookings This Month
—
Excludes cancelled
Revenue This Month
—
Confirmed + completed
Pending Bookings
—
Needs action
Total Customers
—
All time
Abandoned Carts
—
Needs follow-up
📈 Orders — Last 7 Days
Recent Bookings
Upcoming Events
Event Date
Entered
Customer
Address
Items
Total
Balance Due
Status
Actions
Date
Customer
Address
Driver
Status
Notes
Actions
Waiting for location data…
🗺️
Map loading…
Leaflet map initializes when drivers share location
🚚 Driver🏠 Delivery stop📦 Pickup stop● Scheduled● En route / on site● Complete
Current Driver Positions
Driver
Time
Coordinates
Speed
Accuracy
Live Updates On
↕️ Drag a stop's ⠿ handle to reorder it within its driver's list (or within Unassigned) — the order is saved immediately and is what Manual Route in Optimize & Send Routes starts from.
🗺️ Route Map
🧠 Optimize & Send Routes
🔒 A delivery route has already been sent for this date — shown below as sent by whoever ran it. To make changes, Unlock a driver's route, adjust it, then Send again. To route a driver who was never assigned, use Assign Driver from the Dispatch board.
📱 Drivers are texted automatically 60 min before their route's start time — but only once that route has been sent to them (Send Route to Drivers below). No setup needed here.
🚚 Delivery Route
📦 Pickup Route
🕐 Leave Pickup Start Time on "Auto" for the earliest zero-wait departure per driver (in mileage-minimizing order) — or pick a specific time above to manually set when pickups leave the warehouse. Either way, pickups still won't be scheduled before that driver's own delivery route finishes on the same day.
🔒 A pickup route has already been sent for this date — shown below as sent by whoever ran it. To make changes, Unlock a driver's route, adjust it, then Send again. To route a driver who was never assigned, use Assign Driver from the Dispatch board.
📦 Optimized Pickup Route
🧠 Suggested Reach-Outs
Loading suggestions…
Name
Phone
Email
Loyalty
Bookings
Last Event
Total Spent
Actions
Photo
Item
Category
Price/Day
Available
Actions
Drag items within each category to reorder. Click Save Order when done.
Photos uploaded here appear on the public Gallery page of the website. Product photos from Inventory are never shown there — only what you upload here.
JPG or PNG — you can select multiple files at once
No gallery photos yet. Upload some above to get started.
Invoice #
Customer
Amount
Due Date
Status
Actions
Quote #
Customer
Event Date
Total
Status
Actions
Financial year overview
YTD Revenue
$0
YTD Expenses
$0
Net Profit
$0
Profit Margin
0%
Unpaid Invoices
$0
Avg / Booking
$0
Revenue vs Expenses — Monthly
Top Revenue Months
Outstanding Receivables
Expense Breakdown by Category
Revenue
$0
Expenses
$0
Net Profit
$0
This period
Revenue Breakdown
Date
Description
Category
Amount
Paid By
Actions
Sales Tax by Month
Month
Revenue
Tax Rate
Tax Due
Vendor
Description
Category
Amount
Due Date
Status
Actions
Date
Memo
Account
Debit
Credit
Ref
Actions
Total Debits: $0Total Credits: $0
#
Account Name
Type
Subtype
Balance
Actions
Statement Info
Reconciliation Summary
Enter statement info to begin.
Transactions — check off items that appear on statement
✓
Date
Description
Debit
Credit
Cleared
Import Bank Statement (CSV)
Upload a CSV export from your bank. Map the columns, then import as journal entries or expense records.
💳 Stripe
Time
Customer
Amount
Booking Match
🧾 Square
Time
Card
Amount
Booking Match
By Month
Month
Monthly Revenue
Received in Event Month
Deposits Received
Balance Payments Received
Total Received
Source
Name
Phone
Email
Source
Event Date
Status
Actions
Customer
Rating
Platform
Review
Date
Actions
—
Avg Rating
—
Total Surveys
—
Would Recommend
—
5-Star Responses
Customer
Date
Rating
Comments
Booking
Response
Code
Description
Discount
Audience
Channels
Uses
Expires
Status
Actions
📧 Email Templates — Quick Send
Opens your email client with template pre-filled. Logged automatically.
Date
Customer
Type
Notes
Staff
Actions
Priority
Task
Customer/Link
Due Date
Assigned
Status
Actions
Pay Period
Employee
Hours
Rate
Gross
Fed Tax
FICA
Mileage
Tips
Net Pay
Actions
Tax Form Generator
Name
Role
Phone
Email
Status
Actions
00:00:00
Employee
Clock In
Clock Out
Hours
Date
Mileage
GPS
Status
Actions
Name/Unit
Type
Make/Model
Year
License Plate
Status
Book Value
Actions
Date
Vehicle
Type
Description
Cost
Next Due
Actions
💡 Email & SMS sending requires a server-side integration (SendGrid, Twilio). Track campaigns here and mark status manually.
🛒 Incomplete Orders Customers who entered their info at checkout but didn't finish paying
Customer
Contact
Event Date
Items
Est. Total
When
Status
Actions
Campaign
Type
Date
Recipients
Conversions
Status
Actions
Revenue — Last 12 Months
Monthly Breakdown
Orders by Month
Month
Orders
Revenue
Daily Revenue Heatmap
Orders This Month
Date
Customer
Total
Status
Calendar
Legend:None<$500$500-$1K$1K-$2K$2K+
Showing bookings for
Sales by City
City
Orders
Revenue
% of Total
Year-over-Year Monthly Comparison
Month Comparison
Month
Change
Open Receivables
Customer
Event Date
Total
Paid
Balance Due
Cancelled Orders
Date
Customer
Event Date
Total
Monthly Tax Breakdown
Month
Orders
Gross Revenue
Tax Rate
Tax Collected
Payment List
Date
Customer
Amount Paid
Balance
Status
Top Customers by Revenue
Rank
Customer
Orders
Total Revenue
Last Order
Lapsed Customers
Customer
Email
Phone
Last Order
Days Lapsed
✓ Copied!
Customer Email List
Name
Email
Phone
Birthday List
Name
Birthday
Days Until
Phone
Email
Company Spend Report
Company
Contacts
Orders
Revenue
Balance Due
Last Order
Most Booked Items
Rank
Item
Times Booked
Units
Revenue
Sales by Category
Category
Items Booked
Revenue
% of Total
Inventory ROI
Item
Times Booked
Total Revenue
Avg Rev/Booking
Driver Deliveries
Driver
Deliveries
Hours Logged
Employee Time Cards
Employee
Date
Clock In
Clock Out
Hours
Driver Pay Summary
Driver
Deliveries
Hours
Est. Pay
Driver Order List
Driver
Date
Customer
Address
Status
Orders in Range
Date
Customer
Items
Total
Status
Orders Created (by booking date)
Created
Event Date
Customer
Total
Status
Daily Sales Totals
Day
Orders
Revenue
Avg Order
Month-to-Date vs Prior Month
Month
Orders
Revenue
vs Prior
All Payments Received
Date
Customer
Amount
Method
Invoice #
Status
Tips
Date
Customer
Base Amount
%
Tip
Source
Driver(s)
Payout
Customer Payments Filtered
Customer
Date
Amount
Method
Invoice
Customer List Report
#
Name
Phone
Email
City
Orders
Total Spent
Last Order
Customer Info List
Name
Phone
Email
Address
City
Notes
Sales by Item by Customer
Item
Customer
Date
Qty
Revenue
Inventory Usage Totals
Item
Category
Times Rented
Total Revenue
Avg per Rental
Inventory Usage List
Date
Item
Customer
Revenue
All Items Catalog
Name
Category
Price/Day
Available
Description
Popular Items — Last 30 Days
Rank
Item
Category
Rentals (30d)
Revenue (30d)
Detailed Time Card List
Employee
Role
Date
Clock In
Clock Out
Hours
Pay
Totals by Employee
Employee
Total Hours
Rate
Est. Pay
Driver Pay Detail
Driver
Date
Customer
Address
Status
Pay
Pay Summary
Driver
Deliveries
Total Pay
Mileage by Delivery
Driver
Date
To Address
Est. Miles
Reimbursement
Driver Mileage Totals
Driver
Deliveries
Est. Miles
Total Reimbursement
Actual mileage comes from driver clock-in/out odometer readings. Expected mileage comes from that driver's optimized route(s) for the day (Dispatch → Route Planner). Shifts with no odometer data or marked "Not driving" are excluded.
Mileage Payout Review
Driver
Date
Actual Mi
Expected Mi
Variance
Payout
Status
Action
Approved Payout Totals (this period)
Driver
Shifts
Total Mi
Total Payout
Average Delivery Time by Driver
Driver
Deliveries
Avg Hours/Stop
Total Hours
📥 Import Data
Step 1 — Download Template
Download the CSV template, fill it in, then upload below. Column headers must match exactly.
Step 2 — Upload CSV
Step 3 — Preview & Confirm
Review the rows below. Rows with a matching name will be updated; new names will be inserted.
All rows will be inserted as new bookings. Duplicate detection by event_date + customer_email.
#
Customer
Email
Event Date
Total
Status
🔔 Customer Notifications
Master switch for all automatic customer/owner SMS (booking confirmations, payment received, daily reminders) and booking confirmation emails.
Turn this off while importing historical orders or testing the site so real customers don't get texted or emailed. Turn it back on when you're ready to go live.
Manual sends from the admin portal are not affected.
Loading…
Business Information
Pricing Defaults
Service Area
📍 Delivery Distance Fees
Set your HQ address to auto-calculate a distance-based delivery surcharge. Geocoding uses free OpenStreetMap — no API key needed.
🔒 Strict Clock-In/Out GPS Radius
Uses the same HQ Address above. When an employee has "Require GPS within HQ radius" turned on (Employees tab), driver.html blocks their clock-in and clock-out unless they're physically within this distance of HQ.
🌙 Overnight & Multi-Day Fees
Applied automatically when a rental spans multiple days.
Overnight rules: If customer keeps equipment overnight and picks up by 11 AM → flat overnight fee. Pick up after 11 AM → full extra day rate is charged instead. Intermediate nights (equipment kept an extra day) always charge a full day rate.
📧 Email — SendGrid
Email sends through a Supabase Edge Function that calls SendGrid — your API key is stored as a Supabase secret and never exposed in the browser.
Get your SendGrid API key ↗
One-time setup: In Supabase → Edge Functions → Secrets, add SENDGRID_API_KEY = your key.
The send-email function is already deployed in supabase/functions/send-email/.
Run: supabase functions deploy send-email
📱 SMS — Twilio
SMS sends through a Supabase Edge Function that calls Twilio — credentials stored as secrets.
Twilio console ↗
Find this in Google Business Profile → Get more reviews → Copy link
✉️ Automatic Message Templates Customized
Edit the wording of every automatic email/SMS this app sends — order confirmation, deposit/payment receipts, 5-day & day-before reminders, delivery/pickup ETA texts sent from the Driver App, employee Driver App login invites, and the post-event review request. Changes take effect immediately, no deploy needed. Leave a message type untouched and it keeps sending the default wording.
Placeholders you can use: {firstName} {eventDate} {bizName} {bizPhone} {address} {items} {itemsNoPrice} {total} {financialSummary} {balanceDue} {balanceDueLine} {portalLink} {reviewUrl} {surveyUrl} {financialSummary} (email) inserts a full total/paid/balance block with a pay-online link when money is owed. {balanceDueLine} (SMS) is a short " Balance due: $X." sentence, blank when nothing's owed. {portalLink} is the customer portal URL. Delivery/Pickup ETA types only: {etaClause} — a pre-built fragment like ", estimated arrival 2:15 PM (about 12 min away)" or blank if no live ETA could be computed. Employee Login types only: {actionLink} — the employee's one-time set-password link. Email-only (no SMS). Note: "Driver En Route"/"Driver Arrived"/"Delivery Complete" above are reserved types nothing currently sends automatically — the real driver-triggered "on the way" messages customers actually receive are the Delivery/Pickup ETA types in the next group.
Live Preview (sample data — not a real customer)
Type
Customer
Event Date
Scheduled
Status
Actions
New Booking
Auto-calculated from the address on Save unless you edit it directly here.
Line Items
💵 Payment at Delivery
Selecting this will mark booking as Confirmed and note payment method on the order.
Book on behalf of
💳 Apply Payment
Read the card number, expiration, and CVC back to the customer over the phone and enter them here. This charges the card immediately via Stripe.
Can't collect payment right now?
Add New Customer
Change Password
My Profile & W-9
No employee record is linked to your login. This is expected for the account owner — add an Employees record first if you'd like to track this info here too.
📄 W-9 / Tax Info
PDF or photo of your signed form, max 10MB. Private — only you and admins can view it.
🏦 Direct Deposit (optional)
Assign Delivery
Changing these schedules the truck for a different day without touching the customer's original requested date/time or the order's price — the original stays on record and still shows on the Calendar in blue; a moved delivery shows in green, pickups always show in red. If the customer is actually keeping equipment longer, use Change Date/Time on the booking instead — that's where an overnight charge can be added.
New Customer
🧾 Tax Exemption
PDF or photo, up to 10MB. Stored privately — only visible to admin logins.
New Item
For Water Slides & Obstacle Courses, this amount is discounted when the customer chooses Dry. For all other categories, it's added when the customer chooses Wet.
Photos
or
Addons
The first this many units the customer picks from the list below are included at no charge (in any combination). Anything beyond that is charged at that addon's price.
Emails the employee a link to set their own Driver App password — no password to generate or hand off yourself.
📄 Tax / W-9 Information
🏦 Banking & Direct Deposit
New Vehicle
Book value depreciates straight-line from Purchase Price to $0 over the depreciation life — standard 5-year schedule for vehicles/trailers unless changed. Leave Purchase Price blank to exclude this unit from the Balance Sheet's Equipment total.
Log Maintenance
New Campaign
🔑 This audience skips the message below — each recipient instead gets Supabase's real account-invite email (creates their login + lets them set a password). Subject is only used to log/dedup the send here, not what they'll see.
Details
Communication
🚫 Cancel Order
What should happen to the amount paid?
🕐 Update ETA
📅 Change Date/Time
🎉 Party Start — what the customer entered
🚚 Delivery Date/Time — when the driver arrives, independent of party start above
🎉 Party End — what the customer entered/agreed to, protected like Party Start above
📦 Pickup Date/Time — when the driver plans to arrive for pickup, independent of party end above
New Deal
New Task
New Bill
New Journal Entry
Line Items
Account
Debit
Credit
Debits: $0Credits: $0
New Account
Run Payroll
Employee
Hours
Rate
Gross
Fed Tax
FICA (7.65%)
Mileage Reimb.
Tip Payout
Net Pay
Include
Edit Payroll Record
Change this to move the whole record — including its tip payout — to a different driver.
Net auto-computes as Gross − Fed Tax − FICA + Mileage + Tip.
New Coupon
Controls who sees this coupon on the website widget.