db->prepare($sql); $stmt->execute(['id' => $id]); return $stmt->fetch(); } public function reserve($carId, $userId, $minutes = 15) { $expiresAt = date('Y-m-d H:i:s', strtotime("+$minutes minutes")); $sql = "UPDATE cars SET reserved_by = :user_id, reserved_at = NOW(), reservation_expires_at = :expires_at WHERE id = :id"; $stmt = $this->db->prepare($sql); return $stmt->execute([ 'user_id' => $userId, 'expires_at' => $expiresAt, 'id' => $carId ]); } public function markAsSold($id) { $stmt = $this->db->prepare("UPDATE cars SET status = 'sold' WHERE id = :id"); return $stmt->execute(['id' => $id]); } public function isAvailable($id) { $sql = "SELECT * FROM cars WHERE id = :id AND status = 'approved' AND (reserved_by IS NULL OR reservation_expires_at < NOW())"; $stmt = $this->db->prepare($sql); $stmt->execute(['id' => $id]); return $stmt->fetch(); } }