<?php 
defined('BASEPATH') OR exit('No direct script access allowed');
header('Access-Control-Allow-Origin: *');
header('Content-Type: text/html; charset=UTF-8');

require "assets\dist\PHPMailer\PHPMailerAutoload.php";

class Reservas extends CI_Controller
{
    public function __construct()
    {
        parent::__construct();
    
        //cargar la base de datos
        $this->load->database();
        //parser de json y xml
        $this->load->library("parser");

        //$this->load->model('Sesion_Model');
        $this->load->library('form_validation');
        //$this->load->library("Form_validation");
        $this->load->helper("url");
        $this->load->helper('form');
        $this->load->helper('text');
        
        //Cargando los modelos para gestion de la data sistema pena
        $this->load->model('Reservas_Model');
        $this->load->model('Huespedes_Model');
        $this->load->model('Acompanantes_Model');
        $this->load->model('Habitaciones_Model');
		$this->load->model('TipoOcupacion_Model');
    }
    
    //Listar Reservas
    public function listReservas($offset = 0)
    {
        if ($this->session->userdata('iduser')=='') {
            redirect(base_url().'/admin');
        }

		//Cargar Modelos
        // $this->load->model('Reservas_Model');
        // $this->load->model('Establecimientos_Model');
		// $this->load->model('Habitaciones_Model');
        // $this->load->model('Tipos_Model');

		// //Configurando el array para consulta de Resevas
		// $dato = array('1','null','null','null','null','null','null','null','null'); 
        // $query = $this->Reservas_Model->getReservasforParameter(null,null,$dato);

		// //Configurando el array para consulta de Tipos Documentos
		// $datotd = array('null', 'null');
        // $tipodoc = $this->Tipos_Model->getTipoDoc($datotd);

		// //Configurando el array para consulta de Paises
		// $datops = array('1', 'null');
        // $paises = $this->Tipos_Model->getPaises($datops);

		// //Configurando el array para consulta de Ciudades
		// $datocd = array('1', 'null', 'null', 'null');
        // $ciudades = $this->Tipos_Model->getCiudades($datocd);

		// //Configurando el array para consulta de Establecimientos
		// $datoht = array('1','null', 'null', 'null');
        // $hoteles = $this->Establecimientos_Model->getEstablecimientosforParameter(null,null,$datoht);
		
		// //Configurando el array para consulta de habitacion
		// $datohb = array('1','null','null','null','null','null','null'); 
	   	// $habitacion = $this->Habitaciones_Model->getHabitacionforParameter(null,null,$datohb);

		//Configurando el array para consultar el Hotel
	   	// $hoteles = $this->session->userdata('hoteles');

		//envio el arreglo
		// $data['reservas']   = $query;
		// $data['tipodoc']    = $tipodoc;
		// $data['paises']     = $paises;
		// $data['ciudades']   = $ciudades;
        // $data['habitacion'] = $habitacion;
        // $data['hoteles']    = $hoteles;
        // $data['titulo']     = 'Reservas';

		//Cargar los permisos
        $this->load->model('Security_Model');
        $profile = $this->session->userdata('profile');
        $modulo  = "all";
        $datos   = array('1', $profile, $modulo); 
		$permiso = $this->Security_Model->getAllSecurityProfile($datos);
        $data['permisos'] = $permiso;
       	
		$this->load->view('admin/Reservas/list', $data);
    }

    //Buscar Reservas por parametro === OK
    public function searchReservas($offset = 0)
    {
        if ($this->session->userdata('iduser')=='') {
            redirect(base_url().'/admin');
        }

		//Cargar Modelos
        $this->load->model('Reservas_Model');

        //capturar los datos de busqueda
        $Opcion         = $this->input->post('Opcion')==''?'null':$this->input->post('Opcion');
		$IdReserva      = $this->input->post('IdReserva')==''?'null':$this->input->post('IdReserva');
        $IdEstado       = $this->input->post('IdEstado')==''?'null':$this->input->post('IdEstado');
        $FechaIni       = $this->input->post('FechaIni')==''?'null':$this->input->post('FechaIni');
		$FechaFin       = $this->input->post('FechaFin')==''?'null':$this->input->post('FechaFin');
		$Identificacion = $this->input->post('Identificacion')==''?'null':$this->input->post('Identificacion');
        $Movil          = $this->input->post('Movil')==''?'null':$this->input->post('Movil');
        $IdVehiculo     = $this->input->post('IdVehiculo')==''?'null':$this->input->post('IdVehiculo');
        $Placa          = $this->input->post('Placa')==''?'null':$this->input->post('Placa');
		$IdHabitacion   = $this->input->post('IdHabitacion')==''?'null':$this->input->post('IdHabitacion');
		
		//validar Fechas
		if($FechaIni != 'null')
		{
			$FechaIni = "'".strval($FechaIni)."'";
			$FechaFin = "'".strval($FechaFin)."'";
		}
       
		//Armando el arreglo del dato
		$dato = array($Opcion, $IdReserva, $IdEstado, $FechaIni, $FechaFin, $Identificacion, $Movil, $IdVehiculo, $Placa, $IdHabitacion);
		// print_r($dato); die();
        $query = $this->Reservas_Model->getReservasforParameter(null,null,$dato);
        
		//retornar los valores
        echo json_encode($query);
    }

	public function BuscarReservas($offset = 0)
	{
		if ($this->session->userdata('iduser')=='') {
			 redirect(base_url().'/admin');
		}
 
		$this->load->model('Reservas_Model');
		//capturar los datos de busqueda
		$reserva 	= $this->input->post('reserva')==''?'null':$this->input->post('reserva');
		$fechaini   = $this->input->post('fechaini')==''?'null':$this->input->post('fechaini');
		$fechafin   = $this->input->post('fechafin')==''?'null':$this->input->post('fechafin');
	 
			// if($fechaini != 'null'){
			// 	$fechaini = "'".strval($fechaini)."'";
			// 	$fechafin = "'".strval($fechafin)."'";
			// }

		//Armando el arreglo del dato
		$dato = array('3','null',$reserva,$fechaini,$fechafin,'null','null','null','null'); 
		$query = $this->Reservas_Model->getReservasforParameter(null,null,$dato);		
		
		//retornar los valores
		echo json_encode($query);
		
	}

	//Editar Reservas
	public function editReservas($Reserva)
	{            
		if ($this->session->userdata('iduser')=='') {
			redirect(base_url().'/admin');
		} 
 
		//Cargar Modelos
		$this->load->model('Reservas_Model');
		$this->load->model('Huespedes_Model');
		$this->load->model('Acompanantes_Model');
		$this->load->model('Establecimientos_Model');
		$this->load->model('Habitaciones_Model');
        $this->load->model('Tipos_Model');
        $this->load->model('TipoOcupacion_Model');
		$this->load->model('Generales_Model');
        $this->load->model('Vehiculos_Model');
		
		//Configurando el array para consulta de Resevas
		$dato = array('2',$Reserva,'null','null','null','null','null','null','null','null'); 
        $reservas = $this->Reservas_Model->getReservasforParameter(null,null,$dato);
		foreach($reservas as $k1) 
		{
			$vehiculoId   = "'".strval($k1['IdVehiculo'])."'";
			// $IdVehiculo = "'".strval($vehiculoId)."'";
			// $ReservaId    = $k1['IdReserva'];
			// 	$habitacionId = $k1['IdHabitacion'];
			//$HuespedId    = $k1['IdHuesped'];
			// 	$UsuarioId    = $k1['IdUsuario'];
			$HotelId      = $k1['IdEstablecimiento'];
		}
		
		//Configurando el array para consulta de acompañantes
		$datoac = array('1','null','null',$Reserva,'null'); 
        $acompanantes = $this->Acompanantes_Model->getAcompanantesforParameter(null,null,$datoac);

		//Configurando el array para consulta de Tipos Documentos
		$datotd = array('1','null');
        $tipodoc = $this->Tipos_Model->getTipoDoc($datotd);

		//Configurando el array para consulta estados
		$Info = 'RESERVA';
		$Info = "'".strval($Info)."'";
		$datoes = array('1','null',$Info);
        $estadoR = $this->Tipos_Model->getEstados($datoes);

		//Configurando el array para consulta de Tipos Documentos
		$datoocu = array('2','null');
        $ocupaciones = $this->Tipos_Model->getTipoDoc($datoocu);

		//Configurando el array para consulta de motivos viaje
		$datomv = array('3','null');
        $motivo = $this->Tipos_Model->getMotivosViaje($datomv);

		//Configurando el array para consulta de medios de pago
		$datomp = array('4', 'null');
        $mediopago = $this->Tipos_Model->getMedioPago($datomp);

		//Configurando el array para consulta de medios de pago
		$datotf  = array('5', 'null');
        $tipofac = $this->Tipos_Model->getTipoFac($datotf);

		//Configurando el array para consulta de Paises
		$datops = array('1', 'null');
        $paises = $this->Tipos_Model->getPaises($datops);
		
		//Configurando el array para consulta de Departamentos
		$datodt = array('3', 'null','null');
        $departamentos = $this->Tipos_Model->getDepartamentos($datodt);
		
		//Configurando el array para consulta de Ciudades
		$datocd = array('3', 'null', 'null');
        $ciudades = $this->Tipos_Model->getDepartamentos($datocd);

		//Configurando el array para consulta de Establecimientos
		$datoht = array('1','null','null', 'null');
		$hotel = $this->Establecimientos_Model->getEstablecimientosforParameter(null,null,$datoht);

		//Configurando el array para consulta de habitacion
		$datohb = array('2',$HotelId,'null','null','null','null','null','null'); 
	   	$habitacion = $this->Habitaciones_Model->getHabitacionforParameter(null,null,$datohb);

		//Configurando el array para consulta de Tipo de ocupación
		$datoto = array('6','null'); 		
		$tipoocupacion = $this->TipoOcupacion_Model->getTipoOcupacion($datoto);

		// //Configurando el array para consulta de precios habitaciones
		// $datoph = array('1','null','null','null','null'); 		
		// $valorhabitacion = $this->Generales_Model->getPrecioHabitacion(null,null,$datoph);

		// //Configurando el array para consulta de iva
		// $datoi = array('7','null'); 		
		// $iva = $this->Tipos_Model->getIva($datoi);

		//Configurando el array para consulta los vehiculos
		$datovh = array('1',$vehiculoId,'null','null','null');
		$vehiculo = $this->Vehiculos_Model->getVehiculosId(null,null,$datovh);
	
		//Configurando el array para el tipo de vehiculo
		$datotv = array('5','null','null'); 		
	   	$tipov = $this->Vehiculos_Model->getVehiculosTipos(null,null,$datotv);

		//Configurando el array para las marcas de los vehiculos
		$datom = array('2','null','null','null','null','null','null','null','null'); 
		$marca = $this->Vehiculos_Model->getVehiculosforParameter(null,null,$datom);
		
		//Configurando el array para los colores de los vehiculos
		$datoc = array('3','null','null','null','null','null','null','null','null'); 
        $color = $this->Vehiculos_Model->getVehiculosforParameter(null,null,$datoc);

		//Configurando el array para consulta de precios habitaciones
		$datoco = array('1','null','null'); 		
	   	$claseocupacion = $this->Tipos_Model->getClaseOcupacion($datoco);

		// // //Configurando el array para consultar el Hotel
		// // $hoteles = $this->session->userdata('hoteles');
	
		//Enviar Arreglo
        $data['habitacion']      = $habitacion;
        $data['hotel']           = $hotel;
        $data['reservas']        = $reservas;
        $data['estadoR']         = $estadoR;
    	$data['motivo']          = $motivo;
        // // $data['huespedes']       = $huespedes;
        $data['acompanantes']    = $acompanantes;
		$data['tipodoc']         = $tipodoc;
		$data['ocupaciones']     = $ocupaciones;
		$data['mediopago']       = $mediopago;
		$data['tipofac']         = $tipofac;
		$data['paises']          = $paises;
		$data['departamentos']   = $departamentos;
		$data['ciudades']        = $ciudades;
		// // $data['residencia']      = $residencia;
		// // $data['procedencia']     = $procedencia;
		$data['tipoocupacion']   = $tipoocupacion;
		// // $data['valorhabitacion'] = $valorhabitacion;
		// $data['iva']             = $iva;
		$data['vehiculo']        = $vehiculo;
		$data['tipov']           = $tipov;
		$data['marca']           = $marca;
		$data['color']           = $color;
		$data['claseocupacion']  = $claseocupacion;
		// // $data['hoteles']         = $hoteles;
		$data['titulo']          = 'Editar Reservacion';
		$data['sidebar']         = 'Reservaciones';

		//Cargar los permisos
        $this->load->model('Security_Model');
        $profile = $this->session->userdata('profile');
        $modulo  = "all";
        $datos   = array('1', $profile, $modulo); 
		$permiso = $this->Security_Model->getAllSecurityProfile($datos);
        $data['permisos'] = $permiso;
		
		$this->load->view('admin/Reservas/edit', $data);
	}

	//Nueva Reserva
	public function newReserva()
	{            
		if ($this->session->userdata('iduser')=='') {
			redirect(base_url().'/admin');
		} 

		$this->load->model('Reservas_Model');
        $this->load->model('Establecimientos_Model');
		$this->load->model('Habitaciones_Model');
        $this->load->model('Tipos_Model');
		$this->load->model('TipoOcupacion_Model');
		$this->load->model('Generales_Model');
		$this->load->model('Vehiculos_Model');

		//Configurando el array para consulta de Tipos Documentos
		$datotd = array('1','null');
        $tipodoc = $this->Tipos_Model->getTipoDoc($datotd);

		//Configurando el array para consulta de Ciudades
		$datocd = array('3','null','null');
        $ciudades = $this->Tipos_Model->getDepartamentos($datocd);

		//Configurando el array para consulta de Paises
		$datops = array('1', 'null');
        $paises = $this->Tipos_Model->getPaises($datops);

		//Configurando el array para consulta de Establecimientos
		$datoht = array('1','null','null', 'null');
		$hotel = $this->Establecimientos_Model->getEstablecimientosforParameter(null,null,$datoht);

		//Configurando el array para consulta ocupaciones
		$datoocu = array('2','null');
        $ocupaciones = $this->Tipos_Model->getTipoDoc($datoocu);

		//Configurando el array para consulta de Departamentos
		$datodt = array('3', 'null','null');
        $departamentos = $this->Tipos_Model->getDepartamentos($datodt);

		//Configurando el array para consulta de habitacion
		$IdHotel = $this->input->post('IdHotel')==''?'null':$this->input->post('IdHotel');
		$datohb = array('2',$IdHotel,'null','null','null','null','null','null'); 
	   	$habitacion = $this->Habitaciones_Model->getHabitacionforParameter(null,null,$datohb);

		//Configurando el array para consulta de motivos viaje
		$datomv = array('3','null');
        $motivo = $this->Tipos_Model->getMotivosViaje($datomv);

		//Configurando el array para consulta de medios de pago
		$datomp = array('4', 'null');
        $mediopago = $this->Tipos_Model->getMedioPago($datomp);

		//Configurando el array para consulta de medios de pago
		$datotf  = array('5', 'null');
        $tipofac = $this->Tipos_Model->getTipoFac($datotf);

		//Configurando el array para consulta de precios habitaciones
		$datoco = array('1','null','null'); 		
	   	$claseocupacion = $this->Tipos_Model->getClaseOcupacion($datoco);

		//Configurando el array para consulta de Tipo de ocupación
		$datoto = array('6','null'); 		
		$tipoocupacion = $this->TipoOcupacion_Model->getTipoOcupacion($datoto);

		//Configurando el array para consulta de iva
		$datoi = array('7','null'); 		
		$iva = $this->Tipos_Model->getIva($datoi);

		//Configurando el array para las marcas de los vehiculos
		$datom = array('2','null','null','null','null','null','null','null','null'); 
		$marca = $this->Vehiculos_Model->getVehiculosforParameter(null,null,$datom);

		//Configurando el array para los colores de los vehiculos
		$datoc = array('3','null','null','null','null','null','null','null','null'); 
		$color = $this->Vehiculos_Model->getVehiculosforParameter(null,null,$datoc);

		//Configurando el array para el tipo de vehiculo
		$datotv = array('5','null','null','null','null'); 		
	   	$tipov = $this->Vehiculos_Model->getVehiculosTipos(null,null,$datotv);

		// //Configurando el array para consulta de medios de pago
		// $datomp = array('null', 'null');
        // $mediopago = $this->Tipos_Model->getMedioPago($datomp);

		// //Configurando el array para consulta de tipo factura
		// $datotf  = array('null', 'null');
        // $tipofac = $this->Tipos_Model->getTipoFac($datotf);

		// //Configurando el array para consulta de Tipos Documentos
		// $datotd = array('null', 'null');
        // $tipodoc = $this->Tipos_Model->getTipoDoc($datotd);

		// //Configurando el array para consulta de Paises
		// $datops = array('1', 'null');
        // $paises = $this->Tipos_Model->getPaises($datops);

		// //Configurando el array para consulta de Ciudades
		// $datocd = array('1', 'null', 'null', 'null');
        // $ciudades = $this->Tipos_Model->getCiudades($datocd);

		// //Configurando el array para consulta de Departamentos
		// $datodt = array('1', 'null', 'null');
        // $departamentos = $this->Tipos_Model->getDepartamentos($datodt);

		// //Configurando el array para consulta de Establecimientos
		// $datoht = array('1','null', 'null', 'null');
        // $hotel  = $this->Establecimientos_Model->getEstablecimientosforParameter(null,null,$datoht);
		
		// //Configurando el array para consulta de habitacion
		// $datohb = array('10','null','null','null','null','null','null'); 
	   	// $habitacion = $this->Habitaciones_Model->getHabitacionforParameter(null,null,$datohb);

		// //Configurando el array para consulta de Tipo de ocupación
		// $datoto = array('1','null'); 		
	   	// $tipoocupacion = $this->TipoOcupacion_Model->getTipoOcupacion(null,null,$datoto);

		// //Configurando el array para consulta de precios habitaciones
		// $datoph = array('1','null','null','null','null'); 		
	   	// $valorhabitacion = $this->Generales_Model->getPrecioHabitacion(null,null,$datoph);


		// //Configurando el array para el tipo de vehiculo
		// $datotv = array('1','null'); 		
	   	// $tipov = $this->Vehiculos_Model->getVehiculosTipos(null,null,$datotv);
		
		// //Configurando el array para las marcas de los vehiculos
		// $datom = array('1','null','null','null'); 
		// $marca = $this->Vehiculos_Model->getVehiculosforParameter(null,null,$datom);
		
		// //Configurando el array para los colores de los vehiculos
		// $datoc = array('4','null','null','null'); 
        // $color = $this->Vehiculos_Model->getVehiculosforParameter(null,null,$datoc);

		// //Configurando el array para consulta de precios habitaciones
		// $datoco = array('1','null'); 		
	   	// $claseocupacion = $this->Generales_Model->getClaseOcupacion(null,null,$datoco);

		// //Configurando el array para consultar el Hotel
		// $hoteles = $this->session->userdata('hoteles');

		$data["hotel"]   	     = $hotel;
		// $data["habitaciones"]    = $habitacion;
		// $data["mediopago"]       = $mediopago;
		$data["tipofac"]         = $tipofac;
		$data["tipodoc"]         = $tipodoc;
		$data["ciudades"]        = $ciudades;
		$data["paises"] 	     = $paises;
		$data['ocupaciones']     = $ocupaciones;
		$data["departamentos"]   = $departamentos;
		$data["habitacion"]      = $habitacion;
		$data['motivo']          = $motivo;
		$data['mediopago']       = $mediopago;
		$data['tipoocupacion']   = $tipoocupacion;
		// $data['valorhabitacion'] = $valorhabitacion;
		$data['iva']             = $iva;
		$data['tipov']           = $tipov;
		$data['marca']           = $marca;
		$data['color']           = $color;
		$data['claseocupacion']  = $claseocupacion;
		// $data['hoteles']         = $hoteles;
		// $data['titulo']          = 'Nueva Reservacion';
		// $data['sidebar']         = 'Reservaciones';

		//Cargar los permisos
        $this->load->model('Security_Model');
        $profile = $this->session->userdata('profile');
        $modulo  = "all";
        $datos   = array('1', $profile, $modulo); 
		$permiso = $this->Security_Model->getAllSecurityProfile($datos);
        $data['permisos'] = $permiso;
		
		$this->load->view('admin/Reservas/new',$data);
	}

	//Insertar Nueva Reservas
	public function insertReservas()
	{
		if ($this->session->userdata('iduser')=='') {
			redirect(base_url().'/admin');
		} 

		date_default_timezone_set("America/Bogota");
        setlocale(LC_ALL,"es_CO");

        $meses = array("01","02","03","04","05","06","07","08","09","10","11","12");
        $Date = (date('Y')."-".$meses[date('n')-1]."-".date('d'));  
        $Time = (date('H').":".date('i').":".date('s'));  

		//Cargar Modal
		$this->load->model('Reservas_Model');
		$this->load->model('Huespedes_Model');
		$this->load->model('Acompanantes_Model');
		$this->load->model('Habitaciones_Model');
		$this->load->model('Bitacora_Model');
		$this->load->model('Vehiculos_Model');

		$Accion    		 = $this->input->post('Accion');
		
		//======================= HUESPEDES =================================================================
		$NombresH        = $this->input->post('NombresH')==''?null:$this->input->post('NombresH');
		$ApellidosH      = $this->input->post('ApellidosH')==''?null:$this->input->post('ApellidosH');
		$TipoDocH        = $this->input->post('TipoDocH')==''?null:$this->input->post('TipoDocH');
		$IdentificacionH = $this->input->post('IdentificacionH')==''?null:$this->input->post('IdentificacionH');
		$FechaNacH       = $this->input->post('FechaNacH')==''?null:$this->input->post('FechaNacH');
		$LugarNacH       = $this->input->post('LugarNacH')==''?null:$this->input->post('LugarNacH');
		$GeneroH         = $this->input->post('GeneroH')==''?null:$this->input->post('GeneroH');
		$TelefonoH       = $this->input->post('TelefonoH')==''?null:$this->input->post('TelefonoH');
		$MovilH          = $this->input->post('MovilH')==''?null:$this->input->post('MovilH');
		$NacionalidadH   = $this->input->post('NacionalidadH')==''?null:$this->input->post('NacionalidadH');
		$OcupacionH      = $this->input->post('OcupacionH')==''?null:$this->input->post('OcupacionH');
		$CorreoElecH     = $this->input->post('CorreoElecH')==''?null:$this->input->post('CorreoElecH');
		$ResidenciaH     = $this->input->post('ResidenciaH')==''?null:$this->input->post('ResidenciaH');
		$ProcedenciaH    = $this->input->post('ProcedenciaH')==''?null:$this->input->post('ProcedenciaH');
		$DireccionH      = $this->input->post('DireccionH')==''?null:$this->input->post('DireccionH');

		// ================================= RESERVAS ============================================
		 
		$FechaIniR     		= "'".strval($this->input->post('FechaIniR')==''?null:$this->input->post('FechaIniR'))."'";
		$HoraIniR      		= "'".strval($this->input->post('HoraIniR')==''?null:$this->input->post('HoraIniR'))."'";
		$FechaFinR     		= "'".strval($this->input->post('FechaFinR')==''?null:$this->input->post('FechaFinR'))."'";
		$HoraFinR      		= "'".strval($this->input->post('HoraFinR')==''?null:$this->input->post('HoraFinR'))."'";
		$EstadoR       		= $this->input->post('EstadoR')==''?null:$this->input->post('EstadoR');
		$HabitacionR   		= $this->input->post('HabitacionR')==''?null:$this->input->post('HabitacionR');
		$MotivoR       		= $this->input->post('MotivoR')==''?null:$this->input->post('MotivoR');
		$AcompanantesR 		= $this->input->post('AcompanantesR')==''?null:$this->input->post('AcompanantesR');
		$MedioPagoR    		= $this->input->post('MedioPagoR')==''?null:$this->input->post('MedioPagoR');
		$ValorReservaR 		= $this->input->post('ValorReservaR')==''?null:$this->input->post('ValorReservaR');
		$HuespedR      		= $this->input->post('HuespedR')==''?null:$this->input->post('HuespedR');
		$HotelR    			= $this->input->post('HotelR')==''?null:$this->input->post('HotelR');
		$TipoFacR    	    = $this->input->post('TipoFacR')==''?null:$this->input->post('TipoFacR');
		$PrecioHabitacion   = $this->input->post('PrecioHabitacion')==''?null:$this->input->post('PrecioHabitacion');
		$PrecioAdicional    = $this->input->post('PrecioAdicional')==''?null:$this->input->post('PrecioAdicional');
		$Descuento          = $this->input->post('Descuento')==''?null:$this->input->post('Descuento');
		$CargoAdicional     = $this->input->post('CargoAdicional')==''?null:$this->input->post('CargoAdicional');
		$Iva                = $this->input->post('Iva')==''?null:$this->input->post('Iva');
		$PrecioTotal		= $this->input->post('PrecioTotal')==''?null:$this->input->post('PrecioTotal');
		$IdTipoOcupacion    = $this->input->post('IdTipoOcupacion')==''?null:$this->input->post('IdTipoOcupacion');
		$IdClaseOcupacion   = $this->input->post('IdClaseOcupacion')==''?null:$this->input->post('IdClaseOcupacion');
		$Adicional          = $this->input->post('Adicional')==''?null:$this->input->post('Adicional');
		$Observacion        = "'".strval($this->input->post('Observacion')==''?null:$this->input->post('Observacion'))."'";
		$PlacaH             = $this->input->post('PlacaH')==''?null:$this->input->post('PlacaH');
		// ================================= HABITACIONES ============================================
		 
		// $IdHabitacion       = $this->input->post('IdHabitacion')==''?null:$this->input->post('IdHabitacion');
		$Disponibilidad     = $this->input->post('Disponibilidad')==''?null:$this->input->post('Disponibilidad');

		// =========================== ACOMPAÑANTES ======================================================
   
		$ListAcompanante    = $this->input->post('ListAcompanante')==''?false:$this->input->post('ListAcompanante');
		
		$IdUsuario          = $this->session->userdata('iduser');

		$IdHuesped = 0;

		//Arreglo Principal
		$data = array( 
			'FechaIni'          => $FechaIniR, 
			'HoraIni'           => $HoraIniR, 
			'FechaFin'          => $FechaFinR, 
			'HoraFin'           => $HoraFinR, 
			'IdEstado'          => $EstadoR, 
			'IdHabitacion'      => $HabitacionR, 
			'IdMotivo'          => $MotivoR, 
			'CantAcompanantes'  => $AcompanantesR, 
			'IdMedioPago'       => $MedioPagoR, 
			'ValorHabitacion'   => $ValorReservaR, 
			'IdHuesped'         => $HuespedR,
			'IdUsuario'         => $IdUsuario,
			'IdEstablecimiento' => $HotelR,
			'IdTipoFactura' 	=> $TipoFacR,
			'PrecioHabitacion'  => $PrecioHabitacion,
			'PrecioAdicional'   => $PrecioAdicional,
			'Descuento'         => $Descuento,
			'CargoAdicional'    => $CargoAdicional,
			'IdIva'			    => $Iva,
			'PrecioTotal'	    => $PrecioTotal,
			'IdTipoOcupacion'   => $IdTipoOcupacion,	         
			'IdClaseMatricula'  => $IdClaseOcupacion,	         
			'Adicional'         => $Adicional,	         
			'Observacion'       => $Observacion,
			'IdVehiculo'        => $PlacaH	         
		);

		//Arreglo Bitacora
		$datob = array( 
			'IdEvento ' => '14', 
            'Fecha'     => $Date,
            'Hora'      => $Time, 
            'IdUsuario' => $IdUsuario
		);
		
		//Arreglo Huepedes
		$dataHa = array( 
			'Opcion'         => '2',
			'IdHabitacion'    => $HabitacionR, 
			'Disponibilidad'  => $Disponibilidad 
		);

		//Guardar registro en la base de datos
        $resultado=$this->Reservas_Model->saveReservasNueva($data);
     
		//Recuperar ultimo id Guardado
		$query = $this->db->query("SELECT MAX(IdReserva) AS Max from Reserva r");
		$rta = $query->result();
		$ReservaId=($rta[0]->Max);
		
		//Arreglo Acompañantes
		$dataAc = array( 
			'Opcion'    => '3',
			'IdHuesped' => $HuespedR,
			'IdReserva' => $ReservaId
		);

		//Arreglo VehiculoHuesped
		$dataVH = array(
			'Opcion'     => '4',
			'IdHuesped'  => $HuespedR,
			'IdReserva'	 => $ReservaId,
			'IdVehiculo' => $PlacaH
		);

        if($resultado)
        {   
			$this->Habitaciones_Model->updateHabitacionesDisponibilidad($dataHa);
			//Buscar el número de habitación con la cual quedo la reserva
			$dato = array('3', 'null', $HabitacionR, 'null', 'null', 'null', 'null', 'null');
        	$habita = $this->Habitaciones_Model->getHabitacionforParameter(null,null,$dato);
			foreach ($habita as $k1 ){
				$NumHabita = $k1['NumeroHabitacion'];
			}
			
			if($AcompanantesR > 0)
			{
				$this->Acompanantes_Model->updateAcompanantesHuesped($dataAc);
			}
			$this->Vehiculos_Model->updateVehiculoReserva($dataVH);
            $this->Bitacora_Model->saveBitacora($datob);

            print_r(json_encode(array("res"=>"ok","msg"=>"Reserva creada satisfactoriamente","id"=>$ReservaId)));
             
        }else{
            
            print_r(json_encode(array("res"=>"bad","msg"=>"Reserva no se puede crear")));
             
        }
	}	
    	
	//Actualizar Reservas === OK
	public function updateReservas() 
	{
		if ($this->session->userdata('iduser')=='') {
			redirect(base_url().'/admin');
		} 

		//Cargar Modal
		$this->load->model('Reservas_Model');
		$this->load->model('Huespedes_Model');
		$this->load->model('Acompanantes_Model');
		$this->load->model('Habitaciones_Model');
		$this->load->model('Bitacora_Model');
		$this->load->model('Vehiculos_Model');
        $this->load->model('RecibosCaja_Model');

		date_default_timezone_set("America/Bogota");
        setlocale(LC_ALL,"es_CO");

        $meses = array("01","02","03","04","05","06","07","08","09","10","11","12");
        $Date = (date('Y')."-".$meses[date('n')-1]."-".date('d'));  
        $Time = (date('H').":".date('i').":".date('s'));  


		$Accion    		= $this->input->post('Accion');
		$Opcion            = '1';
		//======================= HUESPEDES =================================================================
		$NombresH        = $this->input->post('NombresH')==''?null:$this->input->post('NombresH');
		$ApellidosH      = $this->input->post('ApellidosH')==''?null:$this->input->post('ApellidosH');
		$TipoDocH        = $this->input->post('TipoDocH')==''?null:$this->input->post('TipoDocH');
		$IdentificacionH = $this->input->post('IdentificacionH')==''?null:$this->input->post('IdentificacionH');
		$FechaNacH       = $this->input->post('FechaNacH')==''?null:$this->input->post('FechaNacH');
		$LugarNacH       = $this->input->post('LugarNacH')==''?null:$this->input->post('LugarNacH');
		$GeneroH         = $this->input->post('GeneroH')==''?null:$this->input->post('GeneroH');
		$TelefonoH       = $this->input->post('TelefonoH')==''?null:$this->input->post('TelefonoH');
		$MovilH          = $this->input->post('MovilH')==''?null:$this->input->post('MovilH');
		$NacionalidadH   = $this->input->post('NacionalidadH')==''?null:$this->input->post('NacionalidadH');
		$OcupacionH      = $this->input->post('OcupacionH')==''?null:$this->input->post('OcupacionH');
		$CorreoElecH     = $this->input->post('CorreoElecH')==''?null:$this->input->post('CorreoElecH');
		$ResidenciaH     = $this->input->post('ResidenciaH')==''?null:$this->input->post('ResidenciaH');
		$ProcedenciaH    = $this->input->post('ProcedenciaH')==''?null:$this->input->post('ProcedenciaH');
		$PlacaH          = $this->input->post('PlacaH')==''?null:$this->input->post('PlacaH');
		$IdVehiculo      = $this->input->post('IdVehiculo')==''?null:$this->input->post('IdVehiculo');

		// ================================= RESERVAS ============================================
		 
		$IdReserva     		= $this->input->post('IdReserva')==''?null:$this->input->post('IdReserva');
		$FechaIniR     		= "'".strval($this->input->post('FechaIniR')==''?null:$this->input->post('FechaIniR'))."'";
		$HoraIniR      		= "'".strval($this->input->post('HoraIniR')==''?null:$this->input->post('HoraIniR'))."'";
		$FechaFinR     		= "'".strval($this->input->post('FechaFinR')==''?null:$this->input->post('FechaFinR'))."'";
		$HoraFinR      		= "'".strval($this->input->post('HoraFinR')==''?null:$this->input->post('HoraFinR'))."'";
		$EstadoR       		= $this->input->post('EstadoR')==''?null:$this->input->post('EstadoR');
		$HabitacionR   		= $this->input->post('HabitacionR')==''?null:$this->input->post('HabitacionR');
		$MotivoR       		= $this->input->post('MotivoR')==''?null:$this->input->post('MotivoR');
		$AcompanantesR 		= $this->input->post('AcompanantesR')==''?null:$this->input->post('AcompanantesR');
		$MedioPagoR    		= $this->input->post('MedioPagoR')==''?null:$this->input->post('MedioPagoR');
		$ValorReservaR 		= $this->input->post('ValorReservaR')==''?null:$this->input->post('ValorReservaR');
		$HuespedR      		= $this->input->post('HuespedR')==''?null:$this->input->post('HuespedR');
		$HotelR    			= $this->input->post('HotelR')==''?null:$this->input->post('HotelR');
		$TipoFacR    	    = $this->input->post('TipoFacR')==''?null:$this->input->post('TipoFacR');
		$PrecioHabitacion   = $this->input->post('PrecioHabitacion')==''?null:$this->input->post('PrecioHabitacion');
		$PrecioAdicional    = $this->input->post('PrecioAdicional')==''?null:$this->input->post('PrecioAdicional');
		$Descuento          = $this->input->post('Descuento')==''?null:$this->input->post('Descuento');
		$CargoAdicional     = $this->input->post('CargoAdicional')==''?null:$this->input->post('CargoAdicional');
		$Iva                = $this->input->post('Iva')==''?null:$this->input->post('Iva');
		$PrecioTotal		= $this->input->post('PrecioTotal')==''?null:$this->input->post('PrecioTotal');
		$IdTipoOcupacion    = $this->input->post('IdTipoOcupacion')==''?null:$this->input->post('IdTipoOcupacion');
		$IdClaseOcupacion   = $this->input->post('IdClaseOcupacion')==''?null:$this->input->post('IdClaseOcupacion');
		$Adicional          = $this->input->post('Adicional')==''?null:$this->input->post('Adicional');
		$Observacion        = "'".strval($this->input->post('Observacion')==''?null:$this->input->post('Observacion'))."'";

		// ================================= HABITACIONES ============================================
		 
		$IdEstablecimiento  = $this->input->post('Hotel')==''?null:$this->input->post('Hotel');
		$Disponibilidad     = $this->input->post('Disponibilidad')==''?null:$this->input->post('Disponibilidad');

		// =========================== ACOMPAÑANTES ======================================================
  
		$ListAcompanante = $this->input->post('ListAcompanante')==''?false:$this->input->post('ListAcompanante');
		
		$IdUsuario       = $this->session->userdata('iduser');
		$IdHuesped = 0;

		//Arreglo Principal
		$data = array(
			'Opcion'            => $Opcion,
			'IdReserva'		    => $IdReserva, 
			'FechaIni'          => $FechaIniR, 
			'HoraIni'           => $HoraIniR, 
			'FechaFin'          => $FechaFinR, 
			'HoraFin'           => $HoraFinR, 
			'IdEstado'          => $EstadoR, 
			'IdHabitacion'      => $HabitacionR, 
			'IdMotivo'          => $MotivoR, 
			'CantAcompanantes'  => $AcompanantesR, 
			'IdMedioPago'       => $MedioPagoR, 
			'ValorHabitacion'   => $ValorReservaR, 
			'IdHuesped'         => $HuespedR,
			'IdUsuario'         => $IdUsuario,
			'IdEstablecimiento' => $HotelR,
			'IdTipoFactura' 	=> $TipoFacR,
			'PrecioHabitacion'  => $PrecioHabitacion,
			'PrecioAdicional'   => $PrecioAdicional,
			'Descuento'         => $Descuento,
			'CargoAdicional'    => $CargoAdicional,
			'IdIva'			    => $Iva,
			'PrecioTotal'	    => $PrecioTotal,
			'IdTipoOcupacion'   => $IdTipoOcupacion,	         
			'Adicional'         => $Adicional,	         
			'IdClaseMatricula'  => $IdClaseOcupacion,	         
			'Observacion'       => $Observacion,
			'IdVehiculo'        => $IdVehiculo
		);

		//array bitacora
		$datob = array( 
			'IdEvento ' => '15', 
            'Fecha'     => $Date,
            'Hora'      => $Time, 
            'IdUsuario' => $IdUsuario
		);
		
		//Arreglo Habitacion
		$dataHa = array( 
			'Opcion'         => '2',
			'IdHabitacion'   => $HabitacionR, 
			'Disponibilidad' => $Disponibilidad 
		);

        // array para actualizar VehiculoHuesped
        $dataVH = array( 
			'Opcion'     => '3',
			'IdVehiculo' => $IdVehiculo, 
			'IdReserva'  => $IdReserva,
            'IdHuesped'  => $HuespedR 
		);

         // array para actualizar RecibosCaja
         $dataRC = array( 
			'Opcion'            => '1',
			'IdReserva'         => $IdReserva,
            'IdHuesped'         => $HuespedR,
            'CargoAdicional'    => $CargoAdicional,
            'Descuento'         => $Descuento,
            'ValorTotalReserva' => $ValorReservaR 
		);

        // print_r($dataVH);
        // die();

		//validar si existe el registro en la base de datos
        $resultado=$this->Reservas_Model->updateReservas($data);
        
        if($resultado)
        {   
			$this->Habitaciones_Model->updateHabitacionesDisponibilidad($dataHa);
			$this->Vehiculos_Model->updateVehiculoReserva($dataVH);
            $this->RecibosCaja_Model->updateRecibosCaja($dataRC);

			//Buscar el número de habitación con la cual quedo la reserva
			$dato = array('3', 'null', $HabitacionR, 'null', 'null', 'null', 'null', 'null');
        	$habita = $this->Habitaciones_Model->getHabitacionforParameter(null,null,$dato);
			foreach ($habita as $k1 ){
				$NumHabita = $k1['NumeroHabitacion'];
			}

			//Buscar el Id del huesped principal de la reserva
			$datoHue = array('2', 'null', $IdentificacionH, 'null', 'null', 'null');
			$huesped = $this->Huespedes_Model->getHuespedesforParameter(null,null,$datoHue);
			foreach ($huesped as $k1 ){
				$IdHuespedP = $k1['IdHuesped'];
			}


			
            $this->Bitacora_Model->saveBitacora($datob);
            print_r(json_encode(array("res"=>"ok","msg"=>"Reserva actualizada satisfactoriamente" , "id" => $NumHabita, "idh" => $IdHuespedP)));
             
        }else{
            
            print_r(json_encode(array("res"=>"bad","msg"=>"Reserva no se puede actualizar")));
             
        }
	}

	//Buscar Reservas por parametro
    public function verReservas($codigo)
    {
        if ($this->session->userdata('iduser')=='') {
			redirect(base_url().'/admin');
		} 

		//Cargar Modelos
		$this->load->model('Reservas_Model');
		$this->load->model('Acompanantes_Model');

		//Armando el arreglo del array para consulta de Reserva
		$dato = array('2',$codigo,'null','null','null','null','null','null','null','null'); 
		$reservas = $this->Reservas_Model->getReservasforParameter(false,false,$dato);

		foreach ($reservas as $k1 ) {
			$ReservaId = $k1['IdReserva'];
			$HuespedId = $k1['IdHuesped'];
		}

		//Armando el arreglo del array para consulta de RAcompañantes
		$dato = array('1','null',$HuespedId,$ReservaId,'null'); 
		$acompanante = $this->Acompanantes_Model->getAcompanantesforParameter(null,null,$dato);

		//Enviar Arreglo
		$data['reserva']     = $reservas;
		$data['acompanante'] = $acompanante;
		$data['titulo']      = 'Ver reserva';
		$data['sidebar']     = 'reservas';

		//Cargar los permisos
        $this->load->model('Security_Model');
        $profile = $this->session->userdata('profile');
        $modulo  = "all";
        $datos   = array('1', $profile, $modulo); 
		$permiso = $this->Security_Model->getAllSecurityProfile($datos);
        $data['permisos'] = $permiso;

		$this->load->view('admin/Reservas/listVer', $data);  
    }

	//Anular Reserva
	public function CancelReserva()
	{
		if ($this->session->userdata('iduser')=='') {
			redirect(base_url().'/admin');
		} 

		//Cargar Modal
		$this->load->model('Reservas_Model');
		$this->load->model('Bitacora_Model');

		date_default_timezone_set("America/Bogota");
        setlocale(LC_ALL,"es_CO");

        $meses = array("01","02","03","04","05","06","07","08","09","10","11","12");
        $Date = (date('Y')."-".$meses[date('n')-1]."-".date('d'));  
        $Time = (date('H').":".date('i').":".date('s'));  

		//Solo los datos validos   
		$Opcion         = '2';
		$IdReserva      = $this->input->post('IdReserva')==''?null:$this->input->post('IdReserva');
		$EstadoR        = $this->input->post('EstadoR')==''?null:$this->input->post('EstadoR');
		$HabitacionR    = $this->input->post('HabitacionR')==''?null:$this->input->post('HabitacionR');
		$Disponibilidad = $this->input->post('Disponibilidad')==''?null:$this->input->post('Disponibilidad');
		$ObservaAnular  = "'".strval($this->input->post('ObservaAnular')==''?null:$this->input->post('ObservaAnular'))."'";

		$IdUsuario      = $this->session->userdata('iduser');
		
		//Arreglo Principal
		$data = array(
			'Opcion'            => $Opcion,
			'IdReserva'		    => $IdReserva, 
			'IdHabitacion'      => $HabitacionR,
			'IdEstado'          => $EstadoR, 
			'ObservacionAnular' => $ObservaAnular 
		);


		//Arreglo Habitacion
		$dataHa = array( 
            'Opcion'          => '2',  
			'IdHabitacion'    => $HabitacionR, 
			'Disponibilidad'  => $Disponibilidad 
		);

		//array bitacora
		$datob = array( 'IdEvento ' => '16', 
                        'Fecha'     => $Date,
                        'Hora'      => $Time, 
                        'IdUsuario' => $IdUsuario);
		
		//validar si existe el registro en la base de datos
        $resultado=$this->Reservas_Model->updateReservasAnular($data);
        
        if($resultado)
        {   
			$this->Habitaciones_Model->updateHabitacionesDisponibilidad($dataHa);
            $this->Bitacora_Model->saveBitacora($datob);
            print_r(json_encode(array("res"=>"ok","msg"=>"Reserva anulada satisfactoriamente")));
             
        }else{
            
            print_r(json_encode(array("res"=>"bad","msg"=>"Reserva no se puede anular")));
             
        }
		
	}

	//Enviar Correo de ReporteMincit
    public function enviarCorreo()
	{
		//Create a new PHPMailer instance
		$mail = new PHPMailer();
		$mail->IsSMTP();
		
        //capturar los datos de busqueda
        $Subject    = $this->input->post('Subject')==''?'null':$this->input->post('Subject');
        $Email      = $this->input->post('Email')==''?'null':$this->input->post('Email');
        $Message    = $this->input->post('Message')==''?'null':$this->input->post('Message');
		$IdVehiculo = $this->input->post('IdVehiculo')==''?'null':$this->input->post('IdVehiculo');
		$NumOrder   = $this->input->post('NumOrder')==''?'null':$this->input->post('NumOrder');
		
		//Cargando los modelos
		$this->load->model('ReporteMincit_Model'); 
		$this->load->model('Reservas_Model'); 
		$this->load->model('Generales_Model'); 

		//convertir en Array el correo
		$EmailArray = explode(';',$Email);

		//Configurando el array de Orden de Cargue
		$dato = array('4','null',$NumOrder,'null','null',$IdVehiculo,'null','null','null'); 
        $orden = $this->Reservas_Model->getReservasforParameter(null,null,$dato);
			foreach($orden as $k6) {
				$origen   = $k6['IdLocOrigen'];
				$destino  = $k6['IdLocDestino'];
				$remolque = $k6['nRemolque'];
				$cliente  = $k6['RazonSocial'];
			}
       
		$LocOrigen  = "'".strval($origen)."'";
		$LocDestino = "'".strval($destino)."'";
		
			//Configurando el array de ciudad Origen
		$datoori = array('2',$LocOrigen); 
		$locorigen=$this->Generales_Model->getCiudadesforParameter(null,null,$datoori);
			foreach($locorigen as $k7) {
				$Norigen   = $k7['Localidad'];
			}

		//Configurando el array de ciudad Destino
		$datodtn = array('2',$LocDestino); 
		$locdestino=$this->Generales_Model->getCiudadesforParameter(null,null,$datodtn);
			foreach($locdestino as $k8) {
				$Ndestino   = $k8['Localidad'];
			}

		//Configurando el array de seguimiento
		$datover = array('8','null',$NumOrder,'null','null','null','null','null','null','null','null','null','null',$IdVehiculo,'null','null');
		$query = $this->ReporteMincit_Model->getReporteMincitforParameter(null,null,$datover);
		
		//Construir el Correo
		$body="";
		$tabla="";
		$mensaje=$Message;
		$tabla=$tabla."<html>
						<table>
							<tr>
								<th>Fecha Seguimiento</th>
								<th>|</th>
								<th>Hora Seguimiento</th>
								<th>|</th>
								<th>Origen</th>
								<th>|</th>
								<th>Destino</th>
								<th>|</th>
								<th>Punto Control</th>
								<th>|</th>
								<th>Novedad</th>
								<th>|</th>
								<th>Vehiculo</th>
								<th>|</th>
								<th>Cliente</th>
								<th>|</th>
								<th>Detalle</th>
							</tr>";
		
		foreach($query as $k6) {
            
            $fecha_seg  = $k6['FechaSeguimiento'];
            $hora_seg   = $k6['HoraSeguimiento'];
			$detalle    = $k6['DetalleSeguimiento'];
			$usuario    = $k6['IdUsuario'];
			$ptocontrol = $k6['PtoControl'];
			$novedad    = $k6['Novedad'];
            $vehiculos  = $k6['IdVehiculo'];  
			
			$tabla=$tabla. "<tr> 
								<td>".$fecha_seg."</td> 
								<td>|</td> 
								<td>".$hora_seg."</td> 
								<td>|</td> 
								<td>".$Norigen."</td> 
								<td>|</td> 
								<td>".$Ndestino."</td> 
								<td>|</td> 
								<td>".$ptocontrol."</td> 
								<td>|</td> 
								<td>".$novedad."</td> 
								<td>|</td> 
								<td>".$vehiculos."</td> 
								<td>|</td> 
								<td>".$cliente."</td> 
								<td>|</td> 
								<td>".$detalle."</td>
							</tr>";
			
        }

		$tabla=$tabla."</table></html>";
        $body=$body.$mensaje."\n";
		$body=$body."\n";
		$body=$body.$tabla;

		//Configuracion servidor mail
		$mail->From = "contacto@globallogistica.com.co"; //remitente
		$mail->FromName = "Syscom Seguimiento";
		$mail->SMTPAuth = true;
		$mail->SMTPSecure = 'tls'; //seguridad
		$mail->Host = "smtp.gmail.com"; // servidor smtp
		$mail->Port = 587; //puerto
		$mail->Username ="contacto@globallogistica.com.co"; //nombre usuario
		$mail->Password = "Trafico2022+"; //contraseña

		
		//Agregar destinatario
		for($i=0; $i< count($EmailArray); $i++)
		{
			$mail->Subject = $Subject;//asunto
			$mail->AddAddress($EmailArray[$i]);//email recibe
			$mail->Body = $body;//mensaje
			$mail->isHTML();
		};
		
		//Avisar si fue enviado o no 
		if ($mail->Send()) {
			print_r(json_encode(array("res"=>"ok","msg"=>"Envio de correo ok")));
		} else {
			print_r(json_encode(array("res"=>"bad","msg"=>"No se envio correo")));
						
		}
		
	}

	//Actualizar Reservas === OK
	public function updateReservasCheckOut() 
	{
		if ($this->session->userdata('iduser')=='') {
			redirect(base_url().'/admin');
		} 

		//Cargar Modal
		$this->load->model('Reservas_Model');
		$this->load->model('Huespedes_Model');
		$this->load->model('Acompanantes_Model');
		$this->load->model('Habitaciones_Model');
		$this->load->model('Bitacora_Model');

		date_default_timezone_set("America/Bogota");
        setlocale(LC_ALL,"es_CO");

        $meses = array("01","02","03","04","05","06","07","08","09","10","11","12");
        $Date = (date('Y')."-".$meses[date('n')-1]."-".date('d'));  
        $Time = (date('H').":".date('i').":".date('s'));  


		$Accion    		= $this->input->post('Accion');
		
		// ================================= RESERVAS ============================================
		 
		$Opcion     		= $this->input->post('Opcion')==''?null:$this->input->post('Opcion');
		$IdReserva     		= $this->input->post('IdReserva')==''?null:$this->input->post('IdReserva');
		$FechaFin     		= "'".strval($this->input->post('FechaFin')==''?null:$this->input->post('FechaFin'))."'";
		$PrecioHabitacion   = $this->input->post('PrecioHabitacion')==''?null:$this->input->post('PrecioHabitacion');
		$PrecioTotal		= $this->input->post('PrecioTotal')==''?null:$this->input->post('PrecioTotal');

		$IdUsuario       = $this->session->userdata('iduser');

		//Arreglo Principal
		$data = array(
			'Opcion'            => $Opcion,
			'IdReserva'		    => $IdReserva, 
			'FechaFin'          => $FechaFin, 
			'PrecioHabitacion'  => $PrecioHabitacion,
			'PrecioTotal'	    => $PrecioTotal,
		);

		//array bitacora
		$datob = array( 
			'IdEvento ' => '15', 
            'Fecha'     => $Date,
            'Hora'      => $Time, 
            'IdUsuario' => $IdUsuario
		);
		

		//validar si existe el registro en la base de datos
        $resultado=$this->Reservas_Model->updateReservasCheckOut($data);
        
        if($resultado)
        {   
            $this->Bitacora_Model->saveBitacora($datob);
            print_r(json_encode(array("res"=>"ok","msg"=>"Reserva actualizada satisfactoriamente")));
             
        }else{
            
            print_r(json_encode(array("res"=>"bad","msg"=>"Reserva no se puede actualizar")));
             
        }
	}

}
