- DEPOSIT_AMOUNT changed from $100 to $45
- Balance (package price minus $45) shown dynamically in booking form when package selected
- Customer confirmation email shows breakdown: deposit hold + balance at pickup
- Admin email table includes deposit hold and balance columns
- Admin booking flow step 5 shows deposit held + balance at pickup
- Reminder email deposit detail updated to reflect held deposit and balance
- Live status field shows $45 during card authorization flow
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Square Web Payments SDK card element in booking form
- Delayed-capture hold ($100) on booking submit — not charged until confirmed
- Live payment status field: Verifying card → Authorizing → Confirmed w/ hold ID
- Admin: Capture / Void / Refund actions for each booking
- square_payment_id returned in API response for frontend confirmation display
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- waiver.php: full rental agreement with canvas e-signature pad, 6 required
checkboxes, typed name field; stores sig image + IP + timestamp in DB;
emails signed confirmation to customer and admin
- bookings table: add waiver_signed, waiver_signed_at, waiver_ip, waiver_name,
waiver_sig columns
- contact.php: confirmation email now includes Sign Rental Agreement button/link
- admin/index.php: Waiver column shows Signed (date) or Pending + Send Link
- index.html: How It Works expanded to 5 steps (added Get Approved + Sign Waiver
before Hit the Road); insurance updated to Proof of insurance required; FAQ
and JSON-LD updated to match
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Hamburger button appears on screens ≤768px. Tapping opens a full-screen
drawer with all nav links + Book Now CTA. Closes on link tap, Escape key,
or toggling the button. Body scroll locks while drawer is open.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>