diff --git a/admin/index.php b/admin/index.php index d8b05e4..e57df7d 100644 --- a/admin/index.php +++ b/admin/index.php @@ -195,7 +195,7 @@ textarea.notes-ta{width:100%;font-size:.8rem;border:1px solid #e5e7eb;border-rad RefCustomerPackageDate - AmountStatusAdmin NotesReceived + AmountStatusWaiverAdmin NotesReceived @@ -225,6 +225,16 @@ textarea.notes-ta{width:100%;font-size:.8rem;border:1px solid #e5e7eb;border-rad + + + ✓ Signed +
+ + Send Link ↗ +
Pending + + diff --git a/contact.php b/contact.php index fb44354..64a6b30 100644 --- a/contact.php +++ b/contact.php @@ -100,6 +100,11 @@ $confirmHtml = "
Requested Date: {$dateLabel}

Total: {$amountLabel}

+
+

Next Step: Sign Your Rental Agreement

+

Once your booking is confirmed you'll sign our digital waiver online — no printer needed. Your link:

+ Sign Rental Agreement → +

Questions? Call or text (817) 555-0199 or reply to this email.

Ride on,
The Parker County Slingshot Team

diff --git a/index.html b/index.html index cb8209b..2681644 100644 --- a/index.html +++ b/index.html @@ -132,7 +132,7 @@ "name": "What is included in the rental?", "acceptedAnswer": { "@type": "Answer", - "text": "Every rental includes the Polaris Slingshot, helmets for all riders, a safety orientation, a suggested route map, roadside assistance, and comprehensive insurance coverage." + "text": "Every rental includes the Polaris Slingshot, DOT-approved helmets for driver and passenger, a safety orientation, a suggested scenic route map, and roadside assistance. Renters must provide proof of valid personal auto insurance. We carry a comprehensive fleet policy covering the vehicle." } }, { @@ -609,7 +609,7 @@
  • DOT helmets included
  • Safety orientation
  • Route map & guide
  • -
  • Full insurance coverage
  • +
  • Proof of insurance required
  • Roadside assistance
  • Book Half Day @@ -624,7 +624,7 @@
  • DOT helmets included
  • Safety orientation
  • Route map & guide
  • -
  • Full insurance coverage
  • +
  • Proof of insurance required
  • Roadside assistance
  • Book Full Day @@ -638,7 +638,7 @@
  • DOT helmets included
  • Safety orientation
  • Route map & guide
  • -
  • Full insurance coverage
  • +
  • Proof of insurance required
  • 24/7 roadside assistance
  • Book Weekend @@ -652,7 +652,7 @@
    -

    Ready in 4 Simple Steps

    +

    Ready in 5 Simple Steps

    From booking to keys in hand — we make it effortless so you can focus on the fun.

    @@ -662,18 +662,23 @@
    2
    -

    Book & Confirm

    -

    Fill out our simple booking form or give us a call. We'll confirm your reservation within 24 hours.

    +

    Book & Submit

    +

    Fill out our simple booking form online or give us a call. We'll review your request right away.

    3
    -

    Show Up & Roll Out

    -

    Arrive at pickup, complete your safety briefing, grab your helmets and route map, and hit the road.

    +

    Get Approved

    +

    We'll confirm availability and reach out within a few hours. Once approved, you're officially on the calendar.

    4
    -

    Return & Relive

    -

    Return the Slingshot at the agreed time. Tell everyone about the best day you've had in Texas.

    +

    Sign Your Waiver

    +

    You'll receive a link to our digital rental agreement. Sign it online in minutes — no printer needed.

    +
    +
    +
    5
    +

    Hit the Road

    +

    Arrive at pickup with your license and proof of insurance. Complete your safety briefing, grab your helmets, and go.

    @@ -723,7 +728,7 @@
    What's included in every rental? -

    Every rental includes the Polaris Slingshot, DOT-approved helmets for driver and passenger, a safety orientation, a suggested scenic route map, roadside assistance, and comprehensive insurance coverage.

    +

    Every rental includes the Polaris Slingshot, DOT-approved helmets for driver and passenger, a safety orientation, a suggested scenic route map, and roadside assistance. Renters must provide proof of valid personal auto insurance. We carry a comprehensive fleet policy covering the vehicle.

    How many people can ride in a Polaris Slingshot? diff --git a/waiver.php b/waiver.php new file mode 100644 index 0000000..58ffa67 --- /dev/null +++ b/waiver.php @@ -0,0 +1,365 @@ +prepare("SELECT * FROM bookings WHERE booking_ref = ?"); + $stmt->execute([$ref]); + $booking = $stmt->fetch(); + if (!$booking) { + $error = 'Booking reference not found. Please check your confirmation email.'; + } elseif ($booking['status'] === 'cancelled') { + $error = 'This booking has been cancelled. Please contact us if you have questions.'; + } elseif ($booking['waiver_signed']) { + $signed = true; + } +} + +// Handle submission +if ($_SERVER['REQUEST_METHOD'] === 'POST' && $booking && !$signed) { + $sigName = trim(strip_tags($_POST['sig_name'] ?? '')); + $sigData = $_POST['sig_data'] ?? ''; // base64 canvas PNG + $checks = (array)($_POST['checks'] ?? []); + $required = ['age','license','insurance','rules','damage','waiver']; + + $missing = array_diff($required, $checks); + if (!$sigName) { + $error = 'Please type your full name to sign.'; + } elseif ($missing) { + $error = 'Please check all required boxes before signing.'; + } elseif (!$sigData || strpos($sigData, 'data:image/png;base64,') !== 0) { + $error = 'Please draw your signature in the box above.'; + } else { + $ip = $_SERVER['HTTP_X_FORWARDED_FOR'] ?? $_SERVER['REMOTE_ADDR'] ?? ''; + $ip = explode(',', $ip)[0]; + db()->prepare( + "UPDATE bookings SET waiver_signed=1, waiver_signed_at=NOW(), waiver_ip=?, waiver_name=?, waiver_sig=? WHERE booking_ref=?" + )->execute([trim($ip), $sigName, $sigData, $ref]); + + $pkg = PACKAGES[$booking['package']] ?? ['label'=>$booking['package']]; + $dateLabel = date('F j, Y', strtotime($booking['rental_date'])); + + $adminHtml = "
    +
    +

    Waiver Signed — {$ref}

    +
    +
    +

    " . htmlspecialchars($booking['name']) . " signed the rental waiver for booking {$ref}.

    + + + + + + +
    Package" . htmlspecialchars($pkg['label']) . "
    Date{$dateLabel}
    Signed by" . htmlspecialchars($sigName) . "
    IP" . htmlspecialchars($ip) . "
    Timestamp" . date('F j, Y g:i A') . " CT
    + Signature +
    +
    "; + + $custHtml = "
    +
    +

    Parker County Slingshot Rentals

    +
    +
    +

    Waiver Signed — You're All Set!

    +

    Hey " . htmlspecialchars($booking['name']) . ", your rental agreement for booking {$ref} is signed and on file. See you on {$dateLabel}!

    +

    Remember to bring:

    +
      +
    • Valid driver's license
    • +
    • Proof of personal auto insurance
    • +
    +

    Questions? Call or text (817) 555-0199.

    +

    Ride on,
    The Parker County Slingshot Team

    +
    +
    +

    © " . date('Y') . " Parker County Slingshot Rentals — Weatherford, TX

    +
    +
    "; + + sendEmail(ADMIN_EMAIL, 'Parker Slingshot Admin', "Waiver Signed: {$ref} — " . $booking['name'], $adminHtml); + sendEmail($booking['email'], $booking['name'], "Rental Agreement Signed — {$ref}", $custHtml); + + $signed = true; + } +} + +$pkgLabel = $booking ? (PACKAGES[$booking['package']]['label'] ?? $booking['package']) : ''; +$dateLabel = $booking ? date('F j, Y', strtotime($booking['rental_date'])) : ''; +?> + + + + + Rental Agreement — Parker County Slingshot Rentals + + + + + + + +
    + Parker County Slingshot Rentals + Rental Agreement +
    + +
    + + + +
    +

    Rental Agreement

    +

    Enter your booking reference from your confirmation email to access your rental agreement.

    +
    +
    + + + +
    +
    + + + +
    +
    +
    +

    You're All Set!

    +

    Your rental agreement for booking is signed and on file. We'll see you on !

    +

    A confirmation was sent to .

    +

    Remember to bring:

    +
      +
    • Valid driver's license
    • +
    • Proof of personal auto insurance
    • +
    +
    + +
    + + + +
    + +
    +

    Rental Agreement

    +

    Please read and sign the agreement below for your upcoming rental.

    + +
    +
    Booking Ref
    +
    Name
    +
    Package
    +
    Rental Date
    +
    + +

    Rental Terms & Conditions

    +

    This Rental Agreement ("Agreement") is entered into between Parker County Slingshot Rentals ("Company") and the renter identified above ("Renter"). By signing below, Renter agrees to all terms stated herein.

    + +

    Eligibility Requirements

    +

    Renter must be at least 25 years of age and hold a valid Class C driver's license (or equivalent) issued by a U.S. state or territory. Renter must not have any DUI/DWI convictions within the past 5 years.

    + +

    Insurance Requirement

    +

    Renter is required to carry and provide proof of valid personal auto insurance at the time of vehicle pickup. The Company maintains a fleet insurance policy covering the vehicle; however, Renter's personal insurance is primary for liability arising from Renter's operation of the vehicle. Renter accepts financial responsibility for any deductible, damages, or losses not covered by either policy.

    + +

    Vehicle Use & Rules

    +

    Renter agrees to operate the Polaris Slingshot in a safe, lawful manner and specifically agrees to:

    +
      +
    • Obey all applicable traffic laws and speed limits
    • +
    • Never operate the vehicle under the influence of alcohol, drugs, or any impairing substance
    • +
    • Never allow an unauthorized third party to operate the vehicle
    • +
    • Wear the provided DOT-approved helmet at all times while operating the vehicle
    • +
    • Not take the vehicle off paved roads or outside the approved driving area
    • +
    • Return the vehicle at the agreed-upon time and location in the same condition it was received
    • +
    + +

    Damage & Security Deposit

    +

    A refundable security deposit is required at pickup. Renter is financially responsible for any damage to the vehicle, including but not limited to collision damage, tire damage, interior damage, and any fines or citations incurred during the rental period. The Company reserves the right to apply the security deposit toward any such costs.

    + +

    Assumption of Risk & Release of Liability

    +

    Renter acknowledges that operating a Polaris Slingshot involves inherent risks including, but not limited to, physical injury or death. Renter voluntarily assumes all such risks and, to the fullest extent permitted by Texas law, releases and holds harmless Parker County Slingshot Rentals, its owners, employees, and agents from any and all claims, damages, or liability arising out of Renter's use of the vehicle.

    + +

    Cancellation Policy

    +

    Cancellations made more than 24 hours before the rental start time are fully refunded. Cancellations within 24 hours of the rental start time are subject to a 50% cancellation fee.

    +
    + +
    + +
    +

    Acknowledgments

    +

    Check each box to confirm you have read and agree to that section.

    + +
    + + +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    + +
    +

    Your Signature

    + + + + +

    Draw Your Signature

    +
    + + +
    +

    Use your mouse or finger to sign in the box above.

    + +

    + By clicking "Sign & Submit" below, you confirm that you have read this entire Rental Agreement, that all acknowledgments above are checked, and that your typed name and drawn signature constitute a legally binding electronic signature under the ESIGN Act and Texas law. Signed: . +

    + + +
    +
    + + + +
    + + + +