9 Commits

Author SHA1 Message Date
myron 5e2d0da230 Switch to park_slingshot database 2026-06-08 17:28:33 +00:00
myron 072272104e Migrate to parkerslingshotrentals.com domain
- db.php: SITE_URL -> https://www.parkerslingshotrentals.com
- db.php: add ADMIN_PHONE (817) 266-2022
- index.html, contact.php, admin/index.php: fix placeholder phone 555-0199 -> 266-2022
- admin/view-doc.php: new secure doc viewer (URL-token auth, bookings table)
- upload-docs.php, view-doc.php: added from subdomain (already used db.php/bookings)
2026-06-08 17:23:40 +00:00
myron 5e639b439a Fix CyberMail payload format: flat string for from/to fields 2026-05-29 19:01:56 +00:00
myron 53b314736d Switch email to CyberMail API (orbishosting.com domain) 2026-05-29 13:59:40 +00:00
myron c3882fd23b Fix deployment target — site runs at parkerslingshot.epictravelexpeditions.com
- All files were being deployed to parkerslingshotrentals.com which has no active
  domain; actual live URL is parkerslingshot.epictravelexpeditions.com
- SITE_URL constant added to db.php
- DB credentials updated to epic_parkersling database
- CORS origin and email links use SITE_URL constant
- Schema (bookings, blocked_dates, admin_tokens) created in epic_parkersling DB
- URL token admin auth works at new location; login: admin / Parker2026!

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-22 21:37:52 +00:00
myron 10e1ffa27b Change deposit to $45, add balance-due-at-pickup calculations
- 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>
2026-05-22 18:38:04 +00:00
myron cca3129f6e Add Square deposit payment integration
- 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>
2026-05-22 18:33:16 +00:00
myron b3b831e4a0 Add per-customer booking flow checklist + fix admin login
Admin portal overhaul:
- Fix require_once path (was admin/db.php, should be ../db.php) — this was
  the root cause of the login always redirecting back to the login page
- Fix session save path to /home/parkerslingshotrentals.com/sessions so the
  web user (parke1909) can actually read sessions back (the system default
  /var/lib/php/sessions was write-only for non-root)
- Fix AJAX unauthenticated response: return 401 JSON instead of login HTML
- Fresh bcrypt hash for admin password (Parker2026!)
- Add 3 new DB columns: insurance_verified, deposit_received, license_verified
- Replace flat bookings table with expandable per-customer flow panel:
  click any row to open a 3-column detail drawer showing:
  (1) full contact info + admin notes
  (2) 6-step booking flow checklist with inline toggle buttons for steps
      that admin marks (insurance, deposit, license)
  (3) send-reminder email builder — pick which pending items to include,
      send customer a personalized nudge with waiver link + instructions
- Progress dots in table row update live when admin toggles a step
- Stats row now includes waiver, insurance, deposit counts

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-22 14:01:42 +00:00
myron 2ecf8f04c4 Add availability calendar, admin portal, and booking backend
- db.php: shared config, PDO, SendGrid, package definitions
- availability.php: GET endpoint returning booked/blocked dates by month
- contact.php: booking handler with DB record, availability check, SendGrid emails
- admin/index.php: full admin portal (login, bookings table, status/notes AJAX, block dates)
- index.html: interactive availability calendar with click-to-select, wires to /contact.php
- .htaccess: block direct access to db.php

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-22 13:39:20 +00:00