MOON
Server: Apache
System: Linux nserver.cafsindia.com 4.18.0-553.104.1.lve.el8.x86_64 #1 SMP Tue Feb 10 20:07:30 UTC 2026 x86_64
User: cafsindia (1002)
PHP: 8.2.30
Disabled: NONE
Upload Files
File: /home/cafsindia/allyindian_com/backend/customers/availability.php
<?php
require_once('./sbltt_lib/sblttObject.php');
$url = "http://". $_SERVER['SERVER_NAME'];
$sbltt_session =  sblttObject::newObject('sbltt_session');
$is_customer   = false;
$sbltt_session->startSession();
$libObject     = $sbltt_session->is_session_exist();
$customer_obj  =  sblttObject::newObject('sbltt_customer');
if(!$libObject){
	header("Location: ./login.php?mode=index");
	exit(0);
}
$is_customer = $libObject->is_customer();
if($is_customer){
	header( "Location: ./login.php?mode=index");
	exit(0);
}
if(isset($_GET['package_id'])){
	$package_id = $_GET['package_id'];
}
if(isset($_GET['package_date'])){
	$package_date = $_GET['package_date'];
}
//Set Session value
if(isset($_SESSION['package_id'])){		
	$sbltt_session->set_value("package_id",$package_id);
}else{
	$sbltt_session->add_value("package_id",$package_id);
}
if(isset($_SESSION['package_date'])){		
	$sbltt_session->set_value("package_date",$package_date);
}else{
	$sbltt_session->add_value("package_date",$package_date);
}
//Get values from Session
$ses_package_id   = $sbltt_session->get_value('package_id');
$ses_package_date = $sbltt_session->get_value('package_date');
$trip_id      = $sbltt_session->get_value('trip_id');
$discount     = $sbltt_session->get_value('discount');
$package_info = $customer_obj->get_package_info();
$package_info = json_decode($package_info);
$package = $package_info->result;
?>
<!DOCTYPE html>
<html>
	<head>
		<title>SBLTT Customer </title>
		<!-- META  -->
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
		<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1.0"/>
		<meta name="Description" content="Book online bus tickets in India. Find best prices and discounts on all Volvo, AC,semi Sleeper and sleeper buses in India."/>
        <meta name="Keywords" content="Bus ,Booking ,Online , Tours ,Travels ,volvo , Sleeper"/>
		<meta name="robots" content="index,follow"/>
		
		<!-- STYLE SHEET -START  -->
		<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
        <link rel="icon" href="/favicon.ico" type="image/x-icon">
		<link rel="stylesheet" href="./asset/bootstrap.min.css">
        <link rel="stylesheet" href="./asset/css/style.css">
		<link rel="stylesheet" href="./asset/bootstrap-datepicker-master/dist/css/bootstrap-datepicker.min.css">
        <link rel="stylesheet" href="../dist/toaster/toastr.css">
		<link rel="stylesheet" href="./asset/fonts/font-awesome.min.css">
		<link rel="stylesheet" type="text/css" href="../dist/select2/dist/css/select2.min.css"/>
		<style type="text/css">
			/* enable absolute positioning */			
			i #loginshow{
				float: right !important;
				margin-top: -23px !important;
    			margin-right: 6px !important;
			}	
		</style>
	<head>
	<body>
	<!-- NAVBAR -START  -->
	<nav class="navbar navbar-default navbar-fixed-top">
		<div class="container-fluid">
			<div class="navbar-header">
				<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#sbltt_nav_menu" aria-expanded="false">
					<span class="sr-only">Toggle navigation</span>
					<span class="icon-bar"></span>
					<span class="icon-bar"></span>
					<span class="icon-bar"></span>
				</button>
				<a class="navbar-brand" href="#" style="color:#FFFFFF;">
					<img src="asset/images/sbltt_batch.png" style="margin-top:-13px;" alt="SBLTT LOGO">
				</a>
			</div>
			<div class="collapse navbar-collapse" id="sbltt_nav_menu">
				<ul class="nav navbar-nav navbar-right nav-pills">
					<li><a href="http://www.sblt.co.in/#home">Home</a></li>
					<li class="active"><a href="#package_tab" role="tab" data-toggle="tab">Package</a></li>							
				</ul>
			</div>
		</div>
	</nav>
	<!-- NAVBAR -END  -->
	<!-- MAIN COINTAINER - START -->
	<div class="container-fluid" style="margin-top:58px;padding: 0px;">
		<div class="tab-content ">
			<!-- PACKAGE SEARCH CONTENT - START -->
			<div role="tabpanel" class="tab-pane active" id="package_tab" style='padding: 5px'>
				<div class='col-md-12 package_search'>
					<h3>Check Seat Availability</h3>
					<div style="text-align:center;">
						<div class="form-group">
							<select class="form-control" id="package">
								<option value="">--- Select Package --- </option>
								<?php									
									foreach ($package as $key) {
										$dep_date   = explode(",",$key->dep_date);
										$date_count = count($dep_date);
										$can_show = false;
										for($i=0;$i<$date_count;$i++){
											$check_date = $dep_date[$i];
											$date_now     = new DateTime();
											$date_now     = $date_now->format("Y-m-d");
											$date2        = new DateTime($check_date);
											$date2        = $date2->format("Y-m-d");
											if($date_now <= $date2) {
												$can_show = true;
											}
										}
										if($can_show){
											$title      = $key->package_title." ".$key->package_title2." ".$key->package_title3; 
											$package_id = $key->package_id;
											echo "<option value='$package_id'>$title</option>";
										}											
									}
								?>
							</select>
						</div>
						<div class="form-group">
							<select class="form-control" id="package_date">
								
							</select>
						</div>
						<button id="search_btn" type="button" class="btn btn-default">Search Package</button>
					</div>
				</div>
				<div class='col-md-12' id="seat_availability" style="padding:0px;">
					
				</div>
			</div>
			<!-- PACKAGE SEARCH CONTENT - END -->				
		</div>
		<div class='row mg0'>
			<div class='col-md-12 sb_center'>
				<p class='md15'>Copyright © <?php echo date("Y");?> SBLTT | Powered by .<a href="https://cafsinfotech.com/">CAFS INFOTECH</a></p>
			</div>
		</div>
	</div>
	<!-- MAIN COINTAINER - END-->	
<!-- HDDEN INPUT - START-->
<input type="hidden" id="trip_id_hid" value="" />
<!-- HDDEN INPUT - END-->
<!--PRINT TICKET MODAL START-->
		<div class="modal fade" id="printmodal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
			<div class="modal-dialog" role="document">
				<div class="modal-content">
					<div class="modal-header">
						<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
						<h4 class="modal-title" id="myModalLabel">Ticket Details</h4>
					</div>
					<div class="modal-body" >
						<div>
							<table style='width:100%;text-align:center;margin-bottom:15px;'>
								<tr>
									<td><?php echo "Date and Time : ".date("d-M-Y h:i:s"); ?></td>
									<td><button style="margin-left: 10px;" type="button" class="btn btn-danger" onclick="print()">Print</button></td>
								</tr>
							</table>
						</div>
						<div id="print">
						</div>
					</div>
				</div>
			</div>
		</div>
		<!--PRINT TICKET MODAL END -->
<!-- SCRIPT -START  -->
<script src="./asset/jquery.min.js"></script>
<script src="./asset/bootstrap.min.js"></script>
<script src="./asset/js/jquery.validate.min.js"></script>
<script src="./asset/bootstrap-datepicker-master/dist/js/bootstrap-datepicker.min.js"></script>
<script src="../dist/toaster/toastr.js"></script>
<!-- Multiselect Plugin -->		
<script src="../dist/jquery-typeahead/dist/jquery.typeahead.min.js"></script>
<script src="../dist/select2/dist/js/select2.full.min.js"></script>
<!-- Multiselect Plugin End -->		
<script src="../dist/auto_fill/auto_fill.js"></script>		

<script type="text/javascript">
$(document).ready(function(){
		var package_id   = "<?php echo $ses_package_id;?>";
		var package_date = "<?php echo $ses_package_date;?>";
		var sel_package_date = "<?php echo date("d-M-Y",strtotime($ses_package_date));?>";			
		$('#custdob').datepicker({
			format: 'dd-mm-yyyy',
			endDate: new Date(),
			autoclose: true,
		});
		if((package_id !== "") && (package_date !== "")){
			var frm        = "get_package_date";
			$("#package_date").html("<option><i class='fa fa-spinner fa-spin'></i> Loading...</option>");
			$.ajax({
				type: "POST",
				url: "bend/availability_callback.php",
				data:{frm:frm,package_id:package_id},
				success: function(data){
					var rslt      = JSON.parse(data);	
					var datearray = rslt.result[0].dep_date.split(',');			
					var today = new Date();	
					var option    = "<option value=''>--- Departure Date ---";
					for(i = 0; i < datearray.length; i++){
						var newdate = new Date(datearray[i]);	
						if(newdate >= today)
						option += "<option value='"+datearray[i]+"'>"+datearray[i]+"</option>";		  
					}
					$("#package_date").html(option);
					get_trip_details(package_id,sel_package_date);
				},
			});				
		}	
		//Get Trip Dates
	$("#package").change(function(e){
		var package_id = $("#package").val();
		var frm        = "get_package_date";
		$("#package_date").html("<option><i class='fa fa-spinner fa-spin'></i> Loading...</option>");
		if(package_id){
			$.ajax({
				type: "POST",
				url: "bend/availability_callback.php",
				data:{frm:frm,package_id:package_id},
				success: function(data){
					var rslt      = JSON.parse(data);	
					var datearray = rslt.result[0].dep_date.split(',');				
					var today = new Date();	
					var option    = "<option value=''>--- Departure Date ---";
					for(i = 0; i < datearray.length; i++){
						var newdate = new Date(datearray[i]);
						if(newdate >= today)
						option += "<option value='"+datearray[i]+"'>"+datearray[i]+"</option>";		  
					}
					$("#package_date").html(option);		
				},
			});
		}			
	});	
	//Search Package
	$("#search_btn").click(function(e){
		var package_id   = $("#package").val();
		var package_date = $("#package_date").val();
		if(package_id === ""){
			toastr.warning('Please Select Package');
			return false;
		}
		if(package_date === ""){
			toastr.warning('Please Select Date');
			return false;
		}
		get_trip_details(package_id,package_date);
	});			
});			
function clicked(trip_id){
	$('#formsubmit'+trip_id).tooltip({
	    position: { of: '#formsubmit'+trip_id, my: 'left center', at: 'left center' }
	});
	 $("#formsubmit"+trip_id).focus();
}
function get_trip_details(package_id,package_date){
	if(package_id){		
		$("#search_btn").html("<i class='fa fa-spinner fa-spin'></i> Processing...");
		$('#search_btn').attr('disabled','disabled');		
		var frm  = "get_package_data";
		$('#package').val(package_id);
		$('#package_date').val(package_date);
		$.ajax({
			type: "POST",
			url: "bend/availability_callback.php",
			data:{frm:frm,package_id:package_id,package_date:package_date},
			success: function(data){
				$("#seat_availability").html(data);	
				$('#search_btn').attr('disabled',false);
				$("#search_btn").html("Search Package");	
			},
		});
	}
}
function get_seat_layout(vehicle_id,trip_id){
$('.panel-collapse').removeClass('in');
//$('.panel-collapse').html('');	
//$('#seat_layout'+trip_id).addClass('loader');
$('#showtime'+trip_id).html("00:00");
$('input:checkbox').removeAttr('checked');
$('#boarding'+trip_id).val("");
$('#tariff'+trip_id).val("");
$('#seats'+trip_id).html("0");
$('#tariff_amt'+trip_id).html("0");
$('#discount'+trip_id).html("0");
$('#fares'+trip_id).html("0");			
$('#trip_id_hid').val(trip_id);	
var frm   = "get_seat_layout";
if(vehicle_id){
	$.ajax({
		type: "POST",
		url: "bend/availability_callback.php",
		data:{frm:frm,vehicle_id:vehicle_id,trip_id:trip_id},
		success: function(data){
			if(data){
				$('#seat_layout'+trip_id).html(data);					
				get_seat_data(vehicle_id,trip_id);
			}				
		},
	});
}		
}
//Get Vehicle Seats
function get_seat_data(vehicle_id,trip_id){
	var frm   = "get_vehicle_data";
	if(vehicle_id){
	$.ajax({
		type: "POST",
		url: "bend/availability_callback.php",
		data:{frm:frm,vehicle_id:vehicle_id,trip_id:trip_id},
		success: function(data){
			var rslt = JSON.parse(data);
			for(i = 0; i < rslt.seat_data.length; i++){
				var vehicle_lower = rslt.seat_data[i].vehicle_lower;
				var vehicle_upper = rslt.seat_data[i].vehicle_upper;
				var blocked       = rslt.seat_data[i].blocked;
				var booked        = rslt.seat_data[i].booked;
				// console.log(blocked);
				// console.log(booked);
				if(vehicle_lower){
				vehicle_lower   = vehicle_lower.split(",");
				$.each(vehicle_lower,function(i){
					var lower = vehicle_lower[i].split('_');
					//get number and Letters from string
					var num  = lower[1];
					var type = lower[0];	
					var seatno_lower_id = "seatnolower"+trip_id+"_"+num;
					var seatno = "seat_no"+trip_id+"_"+num;
					//Only for Place Seat no on seat 
					var seat   = "seat"+trip_id+"_"+num;
					var title_lower     = "Seat No :"+num;
					if(seatno_lower_id){
					document.getElementById('seatno_lower'+trip_id).setAttribute('id',seatno_lower_id);
					document.getElementById('seat_no'+trip_id).setAttribute('id',seatno);
					document.getElementById('seat'+trip_id).setAttribute('id',seat);
					document.getElementById(seatno_lower_id).setAttribute('title', title_lower);
					}
					
				   $("input[id="+seatno+"]").val(num);	
				   $("span[id="+seat+"]").text(num);
				   if(blocked){
						var blocked_array=blocked.split(',');
					}	
					if(booked){	
						var booked_array =booked.split(',');
					}
					//Change the seat layout like sleeper or seater
					if(type === "S"){							
						if(jQuery.inArray(num, blocked_array)!='-1'){
						$('#seat_no'+trip_id+'_'+num).prop('disabled', true);
						$('#seatnolower'+trip_id+'_'+num).prop('disabled', true);	
							$('#'+seatno_lower_id).addClass('booked').removeClass('available');
						}else
						if(jQuery.inArray(num, booked_array)!='-1'){
						$('#seat_no'+trip_id+'_'+num).prop('disabled', true);
						$('#seatnolower'+trip_id+'_'+num).prop('disabled', true);	
							$('#'+seatno_lower_id).addClass('booked').removeClass('available');
						}else{
						$('#'+seatno_lower_id).addClass('available').removeClass('blocked');
						}
					}else
					if(type === "SL"){	
						if(jQuery.inArray(num, blocked_array)!='-1') {
							$('#seat_no'+trip_id+'_'+num).prop('disabled', true);	
							$('#seatnolower'+trip_id+'_'+num).prop('disabled', true);	
							$('#'+seatno_lower_id).addClass('booked_sl').removeClass('available_sl');
						}else
						if(jQuery.inArray(num, booked_array)!='-1'){
						$('#seat_no'+trip_id+'_'+num).prop('disabled', true);
						$('#seatnolower'+trip_id+'_'+num).prop('disabled', true);	
						$('#'+seatno_lower_id).addClass('booked_sl').removeClass('available_sl');
						}else{
						$('#'+seatno_lower_id).addClass('available_sl').removeClass('booked_sl');
						}
					}			  
					});
				}
				if(vehicle_upper){
				vehicle_upper   = vehicle_upper.split(",");
				$.each(vehicle_upper,function(i){
					var upper = vehicle_upper[i].split('_');
					//get number and Letters from string
					var unum            = upper[1];
					var type            = upper[0];	
					var seatno_upper_id = "seatnoupper"+trip_id+"_"+unum;
					var seatno          = "seat_no"+trip_id+"_"+unum;
					var seat            = "seat"+trip_id+"_"+unum;
					var title_upper     = "Seat No :"+unum;
					document.getElementById('seatno_upper'+trip_id).setAttribute('id',seatno_upper_id);
					document.getElementById('seat_no'+trip_id).setAttribute('id',seatno);
					document.getElementById('seat'+trip_id).setAttribute('id',seat);
					 document.getElementById(seatno_upper_id).setAttribute('title', title_upper);
				   $("input[id="+seatno+"]").val(unum);	
				   $("span[id="+seat+"]").text(unum);		
						//Change the seat layout like sleeper or seater
						if(blocked){
							var blocked_array=blocked.split(',');
						}	
						if(booked){	
							var booked_array =booked.split(',');
						}
					if(type === "S"){										
						if (jQuery.inArray(unum, blocked_array)!='-1') {
							$('#seat_no'+trip_id+'_'+unum).prop('disabled', true);
							$('#seatnoupper'+trip_id+'_'+unum).prop('disabled', true);
							$('#seatnoupper'+trip_id+'_'+unum).addClass('booked').removeClass('available');
						}else
						if(jQuery.inArray(num, booked_array)!='-1'){
						$('#seat_no'+trip_id+'_'+num).prop('disabled', true);
						$('#seatnoupper'+trip_id+'_'+num).prop('disabled', true);	
							$('#'+seatno_upper_id).addClass('booked').removeClass('available');
						}else{
						$('#'+seatno_upper_id).addClass('available').removeClass('booked');
						}
					}else
					if(type === "SL"){		
						if (jQuery.inArray(unum, blocked_array)!='-1') {
							$('#seat_no'+trip_id+'_'+unum).prop('disabled', true);
							$('#seatnoupper'+trip_id+'_'+unum).prop('disabled', true);		
							$('#seatnoupper'+trip_id+'_'+unum).addClass('booked_sl').removeClass('available_sl');
						}else
						if(jQuery.inArray(unum, booked_array)!='-1'){
						$('#seat_no'+trip_id+'_'+unum).prop('disabled', true);
						$('#seatnoupper'+trip_id+'_'+unum).prop('disabled', true);	
							$('#'+seatno_upper_id).addClass('booked_sl').removeClass('available_sl');
						}else{
						$('#'+seatno_upper_id).addClass('available_sl').removeClass('booked_sl');
						}
					}
				});						
				}
				$('#seat_layout'+trip_id).removeClass('loader');				
			}
		},
	});
    }
}
function pack_info(){
	var package_id   = $("#package").val();
	var frm        = "get_package_details";
	if(package_id){
		$.ajax({
			type: "POST",
			url: "bend/availability_callback.php",
			data:{frm:frm,package_id:package_id},
			success: function(data){
				$('#printmodal').modal('show');	
				$('#print').html(data);
				$('.modal-title').text("Package Information");
				$('.modal-footer').hide();
			},
		});
	}
}
function formsubmit(){
	var package_id   = '<?php echo $_GET['package_id']; ?>';
	var package_date = '<?php echo $_GET['package_date']; ?>';
	var url          = '<?php echo $url; ?>';
	window.location= url+"/backend/customers/login.php?package_id="+package_id+"&package_date="+package_date;
}
</script>
<!-- SCRIPT -END  -->
	</body>
</html>