Reserva

add_shortcode(‘taxi_reservas’, function() {
wp_enqueue_script(‘jquery’);

ob_start(); ?>











prefix.’reservas’;
$charset_collate = $wpdb->get_charset_collate();
$sql = «CREATE TABLE IF NOT EXISTS $tabla (
id mediumint(9) NOT NULL AUTO_INCREMENT,
nombre varchar(255) NOT NULL,
telefono varchar(50) NOT NULL,
ubicacion varchar(255) NOT NULL,
destino varchar(255) NOT NULL,
fecha_hora datetime NOT NULL,
pasajeros int NOT NULL,
maletas int NOT NULL,
observaciones text,
PRIMARY KEY (id)
) $charset_collate;»;
require_once(ABSPATH . ‘wp-admin/includes/upgrade.php’);
dbDelta($sql);
});

// Ajax: cargar horas disponibles 24h
add_action(‘wp_ajax_cargar_horas’, ‘cargar_horas_disponibles’);
add_action(‘wp_ajax_nopriv_cargar_horas’, ‘cargar_horas_disponibles’);
function cargar_horas_disponibles() {
global $wpdb;
$tabla = $wpdb->prefix.’reservas’;
$fecha = sanitize_text_field($_POST[‘fecha’]);
$horas = [];
$inicio = strtotime(«$fecha 00:00»);
$fin = strtotime(«$fecha 23:45»);
while($inicio <= $fin){ $hora_str = date("H:i:s", $inicio); $reservas = $wpdb->get_var($wpdb->prepare(«SELECT COUNT(*) FROM $tabla WHERE fecha_hora=%s», «$fecha $hora_str»));
if($reservas < 50) $horas[] = date("H:i", $inicio); $inicio += 15*60; } foreach($horas as $h) echo "«;
wp_die();
}

// Ajax: guardar reserva y enviar WhatsApp
add_action(‘wp_ajax_guardar_reserva’, ‘guardar_reserva_ajax’);
add_action(‘wp_ajax_nopriv_guardar_reserva’, ‘guardar_reserva_ajax’);
function guardar_reserva_ajax() {
global $wpdb;
$tabla = $wpdb->prefix.’reservas’;

$nombre = sanitize_text_field($_POST[‘nombre’]);
$telefono = sanitize_text_field($_POST[‘telefono’]);
$ubicacion = sanitize_text_field($_POST[‘ubicacion’]);
$destino = sanitize_text_field($_POST[‘destino’]);
$fecha = sanitize_text_field($_POST[‘fecha’]);
$hora = sanitize_text_field($_POST[‘hora’]);
$pasajeros = intval($_POST[‘pasajeros’]);
$maletas = intval($_POST[‘maletas’]);
$observaciones = sanitize_textarea_field($_POST[‘observaciones’]);
$fecha_hora = $fecha.’ ‘.$hora.’:00′;

$wpdb->insert($tabla, [
‘nombre’=>$nombre,
‘telefono’=>$telefono,
‘ubicacion’=>$ubicacion,
‘destino’=>$destino,
‘fecha_hora’=>$fecha_hora,
‘pasajeros’=>$pasajeros,
‘maletas’=>$maletas,
‘observaciones’=>$observaciones
]);

// Enlace WhatsApp
$whatsapp = «+34641247741»;
$mensaje = «Nueva reserva:\nNombre: $nombre\nTel: $telefono\nRecogida: $ubicacion\nDestino: $destino\nFecha/Hora: $fecha_hora\nPasajeros: $pasajeros\nMaletas: $maletas\nObservaciones: $observaciones»;
$mensaje_url = urlencode($mensaje);
$url_whatsapp = «https://api.whatsapp.com/send?phone=$whatsapp&text=$mensaje_url»;

echo «Reserva realizada con éxito. Abrir WhatsApp«;
wp_die();
}

Scroll al inicio