/
home
/
desid573
/
public_html
/
angel
/
/home/desid573/public_html/angel
mkdir
upload
Name
Size
Mode
Actions
assets/
-
0755
rm
drivers/
-
0755
rm
font/
-
0755
rm
lib/
-
0755
rm
payment/
-
0755
rm
stripe/
-
0755
rm
twilio-php-master/
-
0755
rm
vendor/
-
0755
rm
after_booking_page.php
2595
0644
edit
dl
rm
angeldrivers.png
132095
0644
edit
dl
rm
a_name_address.php
1289
0644
edit
dl
rm
booking.php
9621
0644
edit
dl
rm
booking_28-04-2017.php
947
0644
edit
dl
rm
booking_29-04-2017.php
3717
0644
edit
dl
rm
cancel.php
2430
0644
edit
dl
rm
cancel_booking.php
5367
0644
edit
dl
rm
composer.json
65
0644
edit
dl
rm
composer.lock
2355
0644
edit
dl
rm
confirmsend.php
2582
0644
edit
dl
rm
contact_us_mail.php
903
0644
edit
dl
rm
dispatch.php
864
0644
edit
dl
rm
error_log
436257456
0644
edit
dl
rm
generate_credit.php
3187
0644
edit
dl
rm
generate_referall.php
2779
0644
edit
dl
rm
getPrice.php
738
0644
edit
dl
rm
getuser_byid.php
2341
0644
edit
dl
rm
getuser_bymail.php
1968
0644
edit
dl
rm
get_all_booking.php
779
0644
edit
dl
rm
get_booking_bybooking_id.php
813
0644
edit
dl
rm
get_booking_byuser.php
1057
0644
edit
dl
rm
get_booking_status.php
2219
0644
edit
dl
rm
get_completed_bookings.php
727
0644
edit
dl
rm
get_directions.php
813
0644
edit
dl
rm
get_lead_message.php
673
0644
edit
dl
rm
get_open_bookings.php
1465
0644
edit
dl
rm
get_payment_byuser.php
1064
0644
edit
dl
rm
home.php
1660
0644
edit
dl
rm
homekey_img.png
14037
0644
edit
dl
rm
hook.php
21267
0644
edit
dl
rm
hook_set_up.php
654
0644
edit
dl
rm
index.php
12007
0644
edit
dl
rm
index_backup.php
4791
0644
edit
dl
rm
jobdetails.php
12197
0644
edit
dl
rm
lib_tr.zip
105047
0644
edit
dl
rm
login_api.php
7798
0644
edit
dl
rm
login_api_old.php
5653
0644
edit
dl
rm
noteconfirm.php
9259
0644
edit
dl
rm
online_booking.php
28283
0644
edit
dl
rm
passwordResetLink.php
5195
0644
edit
dl
rm
pay_file.php
7302
0644
edit
dl
rm
pay_file_back.php
5326
0644
edit
dl
rm
placehold.html
2184
0644
edit
dl
rm
priceCheck.php
0
0644
edit
dl
rm
reset_email.php
1755
0644
edit
dl
rm
search.php
830
0644
edit
dl
rm
send_bulk_notif.php
1692
0644
edit
dl
rm
setprice.php
4429
0644
edit
dl
rm
setprice_database.php
585
0644
edit
dl
rm
smsconfirm.php
9830
0644
edit
dl
rm
smssend.php
2354
0644
edit
dl
rm
stripe-php-master.zip
254366
0644
edit
dl
rm
test1.php
159
0644
edit
dl
rm
test_222.php
845
0644
edit
dl
rm
thankyou.php
17470
0644
edit
dl
rm
update_api.php
6290
0644
edit
dl
rm
update_api_on_mail.php
4677
0644
edit
dl
rm
validatecode.php
1094
0644
edit
dl
rm
validatephone.php
1034
0644
edit
dl
rm
Edit:
/home/desid573/public_html/angel/online_booking.php
(28283B)
<?php $invoice_ref = time().rand(10,5000); ?> <!DOCTYPE html> <html lang="en"> <head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags --> <title>Bookings - Credit Card</title> <link rel="stylesheet" href="assets/intlTelInput.css"> <!-- Bootstrap --> <link href="../assets/css/bootstrap.min.css" rel="stylesheet"> <?php if($_GET['account']==1){echo "<link rel='stylesheet' href='../assets/css/jquery-ui.min.css' type='text/css' /> <link rel='stylesheet' href='https://ajax.googleapis.com/ajax/libs/jquerymobile/1.4.5/jquery.mobile.min.css'>";}?> <script src="https://js.stripe.com/v3/"></script> <!--<link rel="stylesheet" href="https://desidrivers.com.au/assets/picker/default.css" crossorigin="anonymous">--> <!--<link rel="stylesheet" href="https://desidrivers.com.au/assets/picker/date.theme.css" crossorigin="anonymous">--> <!--<link rel="stylesheet" href="https://desidrivers.com.au/assets/picker/default.time.css" crossorigin="anonymous">--> <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries --> <!-- WARNING: Respond.js doesn't work if you view the page via file:// --> <!--[if lt IE 9]> <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script> <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> <![endif]--> <style> @font-face { font-family: caviarDreams; src: url(font/CaviarDreams_BoldItalic.ttf); font-weight: bold; font-style: italic; } @font-face { font-family: caviarDreams; src: url(font/CaviarDreams_Italic.ttf); font-style: italic; } @font-face { font-family: caviarDreams; src: url(font/CaviarDreams_Bold.ttf); font-weight: bold; } @font-face { font-family: caviarDreams; src: url(font/CaviarDreams.ttf); } * { font-size: 14px; } #map { height:300px; } body{ background-color: #000000; } body, input, textarea, select { font-family: caviarDreams; -webkit-font-smoothing: antialiased; } label, h4 { color: #19ecff; font-weight:bold; text-transform: uppercase; } .iti-flag {background-image: url("../family/assets/flags.png");} @media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2 / 1), only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx) { .iti-flag {background-image: url("assets/flags@2x.png");} } .intl-tel-input { display: table-cell; width: 100%; } .intl-tel-input .flag-container { z-index: 4; } .input-group .intl-tel-input .form-control { border-top-left-radius: 4px; border-top-right-radius: 0; border-bottom-left-radius: 4px; border-bottom-right-radius: 0; } .lat_error_pickup, .lat2_error_pickup { display:none; color:#a94442; margin-bottom: 10px; margin-top: 5px; } .btn, .btn-primary { background-color: #39efe5; color: #333; border-radius: 15px; font-size: 14px; font-family: caviarDreams; font-weight:bold; } .label { color: #39efe5; } .phone_error { display:none; color:#a94442; margin-bottom: 2px; margin-top: 5px; } .bgloader { display: none; position: fixed; width: 100%; height: 100%; background-color:#f3f3f3; opacity : 0.4; z-index: 100; } .loader { display: none; position: fixed; left: 50%; top: 50%; z-index: 101; margin: -60px 0 0 -60px; border: 16px solid #f3f3f3; /* Light grey */ border-top: 16px solid #000080; /* Blue */ border-radius: 50%; width: 120px; height: 120px; animation: spin 2s linear infinite; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .error-class { color:red; z-index:0; position:relative; display:block; text-align: left; } .StripeElement { box-sizing: border-box; height: 40px; padding: 10px 12px; border: 1px solid transparent; border-radius: 4px; background-color: white; box-shadow: 0 1px 3px 0 #e6ebf1; -webkit-transition: box-shadow 150ms ease; transition: box-shadow 150ms ease; } .StripeElement--focus { box-shadow: 0 1px 3px 0 #cfd7df; } .StripeElement--invalid { border-color: #fa755a; } .StripeElement--webkit-autofill { background-color: #fefde5 !important; } .form-group { margin-bottom: 0px; } </style> </head> <body> <div class="container"> <div class="row"> <div class="col-xs-12 "> <h3></h3> </div> </div> </div> <div class="container"> <form role="search" id="form1" method="POST" action="thankyou.php"> <input type="hidden" name="hidden_ref" value="<?=$invoice_ref?>"> <input type="hidden" id="lat1_value" name="lat1_value" value=""> <input type="hidden" id="lat2_value" name="lat2_value" value=""> <input type="hidden" id="lng1_value" name="lng1_value" value=""> <input type="hidden" id="lng2_value" name="lng2_value" value=""> <input type="hidden" id="km_est" name="km_est" value=""> <input type="hidden" id="time_est" name="time_est" value=""> <input type="hidden" id="onewayPrice" name="onewayPrice" value=""> <input type="hidden" id="account" name="account" value="<?=$_GET['account']?>"> <input type="hidden" id="intphone" name="intphone" required value=""> <input type="hidden" id="cid" name="cid" value=""> <input type="hidden" id="admin" name="admin" value="<?=$_GET['admin']?>"> <div class="row newName"> <div class="col-xs-6 col-md-3 no-padding"> <label for="First_Name">First Name</label> <input type="text" required data-validation="required" class="form-control" placeholder="First Name" name="First_Name" id="First_Name" autocomplete="off"> </div> <div class="col-xs-6 col-md-3 no-padding"> <label for="Last_Name">Last Name</label> <input type="text" required data-validation="required" class="form-control" placeholder="Last Name" name="Last_Name" id="Last_Name" autocomplete="off"> </div> </div> <div class="row accountName"> <div class="col-xs-12 col-md-6 no-padding "> <label for="name">Account Name</label> <div class="form-group"> <div class="input-group"> <input type="text" data-validation="required" class="form-control" placeholder="Name" name="name" id="name"> <span class="input-group-addon"><i class="glyphicon glyphicon-user"></i></span> </div> </div> </div> </div> <div class="row" style="margin-top: 10px"> <div class="col-xs-12 col-md-6 no-padding"> <label for="phone">Mobile Number</label> <div class="input-group"> <input type="tel" required class="form-control" placeholder="Select Country First" name="phone" id="phone"> <span class="input-group-addon"><i class="glyphicon glyphicon-phone"></i></span> </div> <div class="phone_error">Invalid phone number format</div> </div> </div> <div class="row" style="margin-top: 10px"> <div class="col-xs-12 col-md-6"> <label for="email">Email Address (Optional)</label> <div class="input-group"> <input type="email" class="form-control" name="email" id="email" placeholder="Email"> <span class="input-group-addon"><i class="glyphicon glyphicon-envelope"></i></span> </div> </div></div> <div class="row" style="margin-top: 10px"> <div class="col-xs-6 col-md-3"> <label for="date">Date</label> <div class='input-group date'><input type="text" required class="form-control" autocomplete="off" name="date" id="date" placeholder="Date"><span class="input-group-addon"> <i class="glyphicon glyphicon-calendar"></i></span></div> </div> <div class="col-xs-6 col-md-3"> <label for="time">Time</label> <div class="input-group bootstrap-timepicker timepicker"> <input id="time" type="text" name="time" autocomplete="off" required class="form-control input-small"> <span class="input-group-addon"><i class="glyphicon glyphicon-time"></i></span> </div> </div></div> <div class="row" style="margin-top: 10px"> <div class="col-xs-12 col-md-6"> <label for="pickup">Pick Up Location</label> <input type="text" id="pickup" name="pickup" autocomplete="off" data-validation="required" required class="form-control" placeholder="Pickup Address" ><div class="lat_error_pickup" >Please use a Google suggestion</div> </div></div> <div class="row" style="margin-top: 10px"> <div class="col-xs-12 col-md-6"> <label for="dropoff">Drop Off Location</label> <input type="text" id="dropoff" name="dropoff" autocomplete="off" data-validation="required" required class="form-control" placeholder="Drop Off Address" ><div class="lat2_error_pickup" >Please use a Google suggestion</div> </div> </div> <div class="row" style="margin-top: 10px"> <div class="col-xs-12 col-md-6"> <label for="promoCodeList">Promo Code</label> <br> <select id="promoCodeList" name="promo_code"> <option value="" > Select promo code</option> <option value="2000/WindsorCastleVICPromo" > WindsorCastleVICPromo</option> <option value="10%/BUCKETLISTBONDI" > BUCKETLISTBONDI</option> <option value="2000/IKNOWZOE_M" > IKNOWZOE_M</option> <option value="10%/ESTEEMCOSMETIC" > ESTEEMCOSMETIC</option> <option value="10%/LEVANTINEHILL" > LEVANTINEHILL</option> <option value="1000/IKNOWJAMES" > IKNOWJAMES</option> </select> </div> </div> <div class="row" style="margin-top: 10px"> <div class="col-xs-12 col-md-6"> <label for="information">Vehicle Details and Special Instructions</label> <textarea style="width:100%;height:50px;" name="information" id="information"></textarea> </div> </div> <div class="row newName" style="margin-top: 10px"> <div class="col-md-6"> <div class="form-row"> <label for="card-element"> Credit or debit card </label> <div id="card-element"> <!-- A Stripe Element will be inserted here. --> </div> <!-- Used to display form errors. --> <div id="card-errors" role="alert"></div> </div> </div> </div> <div class="row" style="margin-top: 10px"> <div class="col-xs-12 col-md-6 accountName"> <label for="token">Card Token</label> <input type="text" id="token" name="token" autocomplete="off" class="form-control" placeholder="Token"> </div> </div> <div class="row" style="margin-top: 10px"> <div class="col-xs-12 col-md-6"> <h4 >Quote : $<span id="totalPrice"><strong>0</strong></span></h4> <input type="hidden" class="form-control" name="new_price" id="new_price" placeholder="Amount" value="1" style="width: 100px; display: inline-block; margin-left: 10px;"> </div> </div> <div class="row" style="margin-top: 10px"> <div class="col-xs-12 col-md-6 "> <input type="hidden" name="totalPrice2" class="totalPrice2"> <button type="button" name="myButton" class="btn btn-primary btn-block" id="testLatLng"><span id="buttontext">Submit</span></button> </div> </div> <div class="row" style="margin-top: 10px"> <div class="col-xs-12 col-md-6"> <div id="map"></div> </div> </div> </form> </div> <!-- jQuery (necessary for Bootstrap's JavaScript plugins) --> <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script> <!-- Include all compiled plugins (below), or include individual files as needed --> <? if($_GET['account']==1){echo "<script type='text/javascript' src='assets/jquery-ui.js'></script>";}?> <script type="text/javascript" src="../assets/js/bootstrap.min.js"></script> <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.4.1/js/bootstrap-datepicker.min.js"></script> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.4.1/css/bootstrap-datepicker3.css"/> <link type="text/css" href="assets/css/bootstrap-timepicker.min.css" /> <script type="text/javascript" src="assets/js/bootstrap-timepicker.min.js"></script> <script type="text/javascript" src="assets/intlTelInput.js"></script> <script type="text/javascript" src="https://cdn.jsdelivr.net/jquery.validation/1.16.0/jquery.validate.min.js"></script> <!--<script src="https://cdn.jsdelivr.net/jquery.validation/1.16.0/additional-methods.min.js"></script>--> <script type="text/javascript"> if($('#account').val() == 1){ $('.newName').hide(); $('.accountName').show(); $("#First_Name, #Last_Name").removeAttr('required'); $("#name").attr('required', 'required'); $(function() { $("#name").autocomplete({ source: 'search.php', minLength: 1 }); }); } else { $('.accountName').hide(); } var stripe = Stripe('pk_test_hBHkHOESZvk9rVp6DvzFR0H100ZE25fTZt'); var elements = stripe.elements(); var style = { base: { color: '#32325d', fontFamily: 'caviarDreams', fontSize: '16px', '::placeholder': { color: '#aab7c4' } }, invalid: { color: '#fa755a', iconColor: '#fa755a' } }; // Create an instance of the card Element. var card = elements.create('card', {style: style}); // Add an instance of the card Element into the `card-element` <div>. card.mount('#card-element'); // Handle real-time validation errors from the card Element. card.addEventListener('change', function(event) { var displayError = document.getElementById('card-errors'); if (event.error) { displayError.textContent = event.error.message; } else { displayError.textContent = ''; } }); // Handle form submission. // Submit the form with the token ID. function stripeTokenHandler(token) { // Insert the token ID into the form so it gets submitted to the server var form = document.getElementById('form1'); var hiddenInput = document.createElement('input'); hiddenInput.setAttribute('type', 'hidden'); hiddenInput.setAttribute('name', 'stripeToken'); hiddenInput.setAttribute('value', token.id); form.appendChild(hiddenInput); // Submit the form form.submit(); } $("#phone").intlTelInput({ // allowDropdown: false, autoHideDialCode: true, // autoPlaceholder: "off", // dropdownContainer: "body", // excludeCountries: ["us"], formatOnDisplay: true, geoIpLookup: function(callback) { $.get("http://ipinfo.io", function() {}, "jsonp").always(function(resp) { var countryCode = (resp && resp.country) ? resp.country : ""; callback(countryCode); }); }, initialCountry: "au", nationalMode: false, // onlyCountries: ['us', 'gb', 'ch', 'ca', 'do'], placeholderNumberType: "Mobile", preferredCountries: ['au', 'nz', 'cn', 'id', 'my'], separateDialCode: true, utilsScript: "assets/utils.js" }); $("#name").on("blur", function(){ var id = $("#name").val(); var data = 'name=' + id; $.ajax({ type: "POST", url: "a_name_address.php", data: data, dataType: 'json', success: function (data) { console.log(data); $("#phone").val(data.mobile); $("#dropoff").val(data.home); $("#email").val(data.email); $("#token").val(data.token); $('#cid').val(data.cid); if($("#phone").intlTelInput("isValidNumber") == true) { var intlNumber = $("#phone").intlTelInput("getNumber"); $('#intphone').val( intlNumber ); } else { $('#intphone').val( data.mobile ); } } }) }) $(document).ready(function(){ //$("#pickup").on("keyup", function(){ // var id = $("#name").val(); // var data = 'name=' + id; // $.ajax({ // type: "POST", // url: "a_name_address.php", // data: data, // dataType: 'json', // success: function (data) { // $("#phone").val(data.mobile); // $("#dropoff").val(data.pickup); // $("#email").val(data.email); // } // success // }); // ajax //}); $("#testLatLng").on("click", function(){ var phoneCheck = $("#phone").val(); if(phoneCheck == "") { $(".phone_error").show(); var offset = $("#phone").offset(); $('html, body').animate({ scrollTop: offset.top - 20, scrollLeft: offset.left }); } else { $("#form1").validate({ highlight: function(element) { $(element).closest('.form-group').addClass('has-error'); }, unhighlight: function(element) { $(element).closest('.form-group').removeClass('has-error'); }, errorElement: 'span', errorClass: 'help-block', errorPlacement: function(error, element) { if(element.parent('.input-group').length) { error.insertAfter(element.parent()); } else { error.insertAfter(element); } }, submitHandler: function(form) { $(".loader, .bgloader").show(); if($("#account").val() != 1) { stripe.createToken(card).then(function(result) { if (result.error) { // Inform the user if there was an error. var errorElement = document.getElementById('card-errors'); errorElement.textContent = result.error.message; $(".loader, .bgloader").hide(); } else { // Send the token to your server. stripeTokenHandler(result.token); } }); } else { form.submit(); } }, invalidHandler: function(event, validator) { this.onsubmit = null; } }); if($("#form1").valid()) { var latlngVal = /^-?([0-8]?[0-9]|90)\.[0-9]{1,6},-?((1?[0-7]?|[0-9]?)[0-9]|180)\.[0-9]{1,6}$/; var latlng1 = $("input#lat1_value").val(); var latlng2 = $("input#lat2_value").val(); var invalid_latlng = 'Latitude and Longitude are not correct'; // Validate Latitude and Longitude if (latlng1 != '' && latlng1 <= 200 && latlng1 >= -200) { if (latlng2 != '' && latlng2 <= 200 && latlng2 >= -200) { $(".loader, .bgloader").show(); $("#form1").submit(); console.log("submit"); } else { $('.lat2_error_pickup').show(); } } else { $('.lat_error_pickup').show(); //alert(invalid_latlng+''+latlng1); return false;; } } else { return false;; } } }); var date_input=$("#date"); //our date input has the name "date" var container=$('.bootstrap-iso form').length>0 ? $('.bootstrap-iso form').parent() : "body"; date_input.datepicker({ startDate: new Date(), format: 'd M, yyyy', container: container, todayHighlight: true, autoclose: true, datesDisabled: '25/12/2019', }) $('#time').timepicker(); }); $('#phone').on('change', function () { if($("#phone").intlTelInput("isValidNumber") == true) { var intlNumber = $("#phone").intlTelInput("getNumber"); $('#intphone').val( intlNumber ); $('.phone_error').hide(); return true;; } else { $("#phone").val(""); $("#intphone").val(""); $('.phone_error').show(); return false;; } }) $('#lat1_value, #lat2_value').on('change', function () { console.log("change called"); }) map = null ; pickUp = null ; dropOff = null; directionsDisplay = null ; directionsService = null ; function initMap() { if(map == null) { map = new google.maps.Map(document.getElementById('map'), { zoom: 12, center: {lat: -31.9535959, lng: 115.8570118} }); } var geocoder = new google.maps.Geocoder(); if($('#pickup').val() != "") geocodeAddress(geocoder, map); if($('#dropoff').val() != "") geocodeAddress2(geocoder, map); if(directionsDisplay != null) directionsDisplay.setDirections({routes: []}); directionsService = new google.maps.DirectionsService; directionsDisplay = new google.maps.DirectionsRenderer; directionsDisplay.setOptions({ suppressMarkers: true }); directionsDisplay.setMap(map); calculateAndDisplayRoute(directionsService, directionsDisplay); } function geocodeAddress(geocoder, resultsMap) { var address = document.getElementById('pickup').value; geocoder.geocode({'address': address}, function(results, status) { if (status === google.maps.GeocoderStatus.OK) {resultsMap.setCenter(results[0].geometry.location); var marker = new google.maps.Marker({map: resultsMap,position: results[0].geometry.location}); $('#lat1_value').val(results[0].geometry.location.lat()); $('#lng1_value').val(results[0].geometry.location.lng()); } }); } function geocodeAddress2(geocoder, resultsMap) { var address = document.getElementById('dropoff').value; geocoder.geocode({'address': address}, function(results, status) { if (status === google.maps.GeocoderStatus.OK) {resultsMap.setCenter(results[0].geometry.location); var marker = new google.maps.Marker({map: resultsMap,position: results[0].geometry.location}); $('#lat2_value').val(results[0].geometry.location.lat()); $('#lng2_value').val(results[0].geometry.location.lng()); } }); } function calculateAndDisplayRoute(directionsService, directionsDisplay) { directionsService.route({ origin: document.getElementById('pickup').value, destination: document.getElementById('dropoff').value, travelMode: google.maps.TravelMode.DRIVING }, function(response, status) { if (status === google.maps.DirectionsStatus.OK) { var dist = response.routes[0].legs[0].distance.value /1000; $('#km_est').val(parseFloat(dist).toFixed(0)); var dur = response.routes[0].legs[0].duration.value /60; $('#time_est').val(parseFloat(dur).toFixed(0)); checkPrice(dist, dur); directionsDisplay.setDirections(response); } else { // window.alert('Directions request failed due to ' + status); } }); } // This example displays an address form, using the autocomplete feature // of the Google Places API to help users fill in the information. var placeSearch, dropoff , pickup ; function checkPrice(dist, dur) { console.log(dist + " " + dur); $(".loader, .bgloader").show(); $.ajax({ type: "POST", url: "getPrice.php", data: {km:dist, time:dur}, dataType: 'json', success: function (data) { $(".loader, .bgloader").hide(); console.log(data); if(data.status == "ok"){ var result = parseFloat( data.price ).toFixed(2); $('#totalPrice').text( result ); $('#totalPrice2').val( result ); $('#onewayPrice').val( result ); } else { } } }) } function initAutocomplete() { pickup = new google.maps.places.Autocomplete((document.getElementById('pickup')),{types: ['geocode','establishment'], componentRestrictions:{country:"au"}}); pickup.addListener(); pickup.addListener('place_changed', function() { initMap(); }); dropoff = new google.maps.places.Autocomplete((document.getElementById('dropoff')),{types: ['geocode', 'establishment'], componentRestrictions:{country:"au"}}); dropoff.addListener(); dropoff.addListener('place_changed', function() { initMap(); }); initMap(); } function isNumber(obj) { return !isNaN(parseFloat(obj)) } </script> <script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyCmVfJqsA5tW1ZckILcxa865tWBblxxnzA&libraries=places,geometry&callback=initAutocomplete" async defer></script> <script> </script> </body> </html>
Save
Bookings - Credit Card
";}?>
First Name
Last Name
Account Name
Mobile Number
Invalid phone number format
Email Address (Optional)
Date
Time
Pick Up Location
Please use a Google suggestion
Drop Off Location
Please use a Google suggestion
Promo Code
Select promo code
WindsorCastleVICPromo
BUCKETLISTBONDI
IKNOWZOE_M
ESTEEMCOSMETIC
LEVANTINEHILL
IKNOWJAMES
Vehicle Details and Special Instructions
Credit or debit card
Card Token
Quote : $
0
Submit
if($_GET['account']==1){echo "";}?>