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:

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:

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: .