mi MENU

Minimum 80 characters required

cover Rami Saarikorpi
Avatar logo | Rami Saarikorpi | 360° 3D virtual tour photographer
  • Rami Saarikorpi
    | 360 3D photographer

  • 30
    Finland | Finland
  • I speak: English, Finnish
  • 0 Like(s)
    12962 View(s)
    Share profile
  • 0

About me
I’m Rami Saarikorpi, 360 Panorama Media’s Producer. My office is located in Eastern Finland. I travel around Finland and Europe as a photographer, instructor and lecturer. My main line of work is making 360 Presentations for businesses. Having studied and worked in 360 photography since 1996, I’ve also been teaching the subject since 2008. I am a part of a number of AR and VR projects. I wrote a book, “Näyttävä panoraamakuvaus” (Impressive Panorama Photography) with photographer Kenneth Lehtinen. I was part of the team developing a photography tower appropriate for photographers along with plastics engineering students from Exel Oyj and PKAMK. My photographs have been chosen numerous times as some of the world’s best 360 panorama images, and have been published in many global media outlets and online publications. I have taken company and event photographs from international organizations. I have also photographed the World Rally Championships for the organizers and for RedBull in France, England and Finland. In addition, I have also photographed massive light installations in a number of countries for light artist Kari Kola’s company, Valoparta. In Valoparta’s projects I have also participated in putting up the works and carried out light modelling. I have worked as a photographer for McDonald’s in Finland and Britain since 2010. My photography has taken me from +35 degree weather in Portugal all the way to -35 temperatures in Saanatunturi, Finland. I am a part of the Google Street View photographer team. The panorama images I upload on Google’s services are viewed over 12 million times per year. This is a little bit of a backstory about what I’ve done so far. Many of the projects mentioned above are still active and I have new places and ideas to photograph all the time. If you have any questions, please be in touch! I’ll be happy to tell you more.
... Show More
... Show Less
characters:minumum 80/maximum 2000
 

Please to provide a secure URL with httpS

Please enter location

Please enter language

Please to select your preference language for website and for receiving email

Please fill in the "about" field

Please select a profile picture

` } // --------- END SHARE } html +=`
${IsPro} ${IsPrivate} ${IsPublished} ${tourPrice} ${isDeleteTime} ${unarchiveStatus}
`; if (window.isEmptyValue(data[i].deleted_at) && data[i].is_restoring == 0) { html += `
${parseUnicode(data[i]['Title'])}
`; } else { html += `
${parseUnicode(data[i]['Title'])}
`; } html += `
${((parseUnicode(data[i]['Address']) !== null) ? parseUnicode(data[i]['Address']) : '-')}
${ (data[i].category_data) ? AppGlobal.trans(`tourcategory.${data[i].category_data.Slug}`): ''}
${Desciption}

${((Hash != '') ? Hash : '-')}

`; if (data[i].user_data['UserId'] == userId) { html += `
`; html +=`
`; } if ('' == ProfileId && !$('#trash').hasClass('active')) { $(".tour-add-box-container").remove(); html += `
add-img
${window.isFrench ? 'Créer / Publier ' : 'Create / Post '}
`; } else { if (window.isEmptyValue(html) && localStorage.getItem('Offset-Portfolio') == 0) { html = `
Oops! There are no public virtual tour in this portfolio for now
`; } } return html; } function cloneYVTour(res,YVtour_id){ $('#temp_yv_id').val(YVtour_id); $('#YVTourId').val('') $('.loadingOverlay-YV').hide(); $('#CreateTourYV #YVTourImage').show(); var TourImage = ''; $('.YVTourDetails').show(); // $('#popupWrapper').hide(); $('#popupWrapper').html(''); if(res.image_data){ var pattern = /^((http|https):\/\/)/; if(pattern.test(res.image_data['ThumbImage'])) { var TourImage = res.image_data['ThumbImage']; } else { var TourImage = APP_URL + res.image_data['ThumbImage']; } } $('#CreateTourYV .modal-title').text("Edit Tour"); // $('#CreateTourYV #save-tour-btn').text("Save"); $('.YVNextBtn').attr('onclick','YVeditTour('+ YVtour_id +')'); $('#CreateTourYV #YVTourId').val(''); $('#CreateTourYV #YVTourAction').val('add'); // $('#CreateTourYV #YVTourUrl').val(res['TourUrl']); $('#CreateTourYV #YVTourCategoryId option').removeAttr('selected') if(res['CategoryId'] != null && res['CategoryId'] != 0) { $("#CreateTourYV #YVTourCategoryId option[value='"+res['CategoryId']+"']").attr("selected","true"); setTimeout(function(){ $('#YVTourCategoryId').val(res['CategoryId']); },50); } else { $("#CreateTourYV #YVTourCategoryId option[value='']").attr('selected', 'true'); $('#YVTourCategoryId').val(''); } if(res['IsCommentAllow'] == 1){ $('#YVIsCommentAllow').prop('checked',true); } else { $('#YVIsCommentAllow').prop('checked',false); } $('#CreateTourYV #YVEnergyConsumption').val(res['EnergyConsumption']); $('#CreateTourYV #YVGreenhouseGasEmissions').val(res['GreenhouseGasEmissions']); if(res['Energy_version']==2){ $('#option'+res['Energy_class']).prop('checked','true'); $('#radio-one').prop('checked','true'); $('#CreateTourYV #YVEnergyConsumption_url').val(res['EnergyConsumption']); $('#CreateTourYV #YVGreenhouseGasEmissions_url').val(res['GreenhouseGasEmissions']); $('.energy-rule-v2').show(); $('.energy-rule-v1').hide(); }else{ $('#radio-two').prop('checked','true'); } $('#CreateTourYV #YVTitle').val(parseUnicode(res['Title'])); $('#CreateTourYV #YVAddress').val(parseUnicode(res['Address'])); $('#CreateTourYV #YVPrice').val(res['Price']); if(res['Currency'] != null){ $('#CreateTourYV #YVtourCurrency').val(res['Currency']); }else{ $('#CreateTourYV #YVtourCurrency').val('CHF'); } $('#CreateTourYV #YVDesciption').val(parseUnicode(res['Desciption'])); $('#CreateTourYV #YVOtherInformation').val(parseUnicode(res['OtherInformation'])); if(TourImage == ''){ $('#CreateTourYV #YVTourImage').hide(); } else{ $('#CreateTourYV #YVTourImage').attr('src',TourImage); } $('.hashtags').tagsinput('removeAll'); if (res['HashTags']) { //var hashtags = data[i].HashTags.split(","); var hashtags = res['HashTags'].split(/[ ,-]+/); var hashlen = hashtags.length; for (var k = 0; k < hashlen; k++) { var hasvalue = parseUnicode(hashtags[k]).replace(/\//g, "-"); var hasvalued = parseUnicode(hashtags[k]); if (hasvalued.indexOf("#") > -1) { $('.hashtags').tagsinput('add', parseUnicode(hasvalued)); } else { $('.hashtags').tagsinput('add', parseUnicode(hasvalued)); } } } var IsPremium = ``; if(res.category_data){ var Category = res.category_data.Slug; } else { var Category = ''; } // var Locations = res.country_data.CountryName; var Locations = parseUnicode(res.Country); if( InCountries(Locations) && Category.indexOf("real-estate") >= 0){ $('.YV_energy_gas_otherinfo').show(); } else { $('.YV_energy_gas_otherinfo').hide(); } var minimum = 80; var characterCount = $('#YVDesciption').val().replace(/\s\s+/g, ' ').length, current = $('#YVcurrent'), maximum = $('#YVmaximum'), theCount = $('#YVthe-count'); characterCount = minimum - characterCount; if(characterCount < 0) { current.text(0); } else{ current.text(characterCount); } $('.YVNextBtn').attr('onclick','createTourYV()'); setTimeout(()=>{ $('.YVTourDetails').show(); $('.YVTourDetailsWrapper').show(); $('#CreateTourYV').modal(); $('#popupWrapper').html(''); },300); localStorage.setItem("modalTourID", TourId); localStorage.setItem("YVtour_id", YVtour_id); localStorage.setItem("TourFunction", 'createTourYV'); } function cloneUrlTour(res){ $('#CreateTour #TourImage').show(); var TourImage = ''; if(res.image_data){ var pattern = /^((http|https):\/\/)/; if(pattern.test(res.image_data['ThumbImage'])) { TourImage = res.image_data['ThumbImage']; } else { TourImage = APP_URL + res.image_data['ThumbImage']; } } $('#CreateTour #TourUrl').val(res['TourUrl']); $('#CreateTour #Title').val(parseUnicode(res['Title'])); $('#CreateTour #Address').val(parseUnicode(res['Address'])); $('#CreateTour #Price').val(res['Price']); if(res['IsCommentAllow'] == 1){ $('#IsCommentAllow').prop('checked',true); } else{ $('#IsCommentAllow').prop('checked',false); } $('#CreateTour #tourCategoryId option').removeAttr('selected') if(res['CategoryId'] != null) { $("#CreateTour #tourCategoryId option[value='"+res['CategoryId']+"']").attr("selected","true"); } else { $("#CreateTour #tourCategoryId option[value='']").attr('selected', 'true'); } if(res['Currency'] != ''){ $('#CreateTour #tourCurrency').val(res['Currency']); }else{ } $('#CreateTour #Desciption').val(parseUnicode(res['Desciption'])); $('#CreateTour #TourImage').attr('src',TourImage); $('.hashtags').tagsinput('removeAll'); if (res['HashTags']) { //var hashtags = data[i].HashTags.split(","); var hashtags = res['HashTags'].split(/[ ,-]+/); var hashlen = hashtags.length; for (var k = 0; k < hashlen; k++) { var hasvalue = parseUnicode(hashtags[k]).replace(/\//g, "-"); var hasvalued = parseUnicode(hashtags[k]); if (hasvalued.indexOf("#") > -1) { $('.hashtags').tagsinput('add', parseUnicode(hasvalued)); } else { $('.hashtags').tagsinput('add', parseUnicode(hasvalued)); } } } $('#CreateTour #EnergyConsumption').val(res['EnergyConsumption']); $('#CreateTour #GreenhouseGasEmissions').val(res['GreenhouseGasEmissions']); $('#CreateTour #OtherInformation').val(parseUnicode(res['OtherInformation'])); var IsPremium = ``; if(res.category_data){ var Category = res.category_data.Slug; } else { var Category = ''; } // var Locations = res.country_data.CountryName; var Locations = parseUnicode(res.Country); // InCountries if(InCountries(Locations) && Category.indexOf("real-estate") >= 0){ $('.energy_gas_otherinfo').show(); } else { $('.energy_gas_otherinfo').hide(); } var minimum = 80; var characterCount = $('#Desciption').val().replace(/\s\s+/g, ' ').length, current = $('#current'), maximum = $('#maximum'), theCount = $('#the-count'); characterCount = minimum - characterCount; if(characterCount < 0) { current.text(0); } else{ current.text(characterCount); } $('#CreateTour').modal('show'); postTourUrl($('.CreateTourModal #TourUrl').val()); localStorage.setItem("IsDuplicateTour", 1); localStorage.setItem("modalTourID", TourId); localStorage.setItem("TourFunction", 'duplicateTour'); } function editTour(TourId){ swal(`You can delete this visit, or you can modify it if you are on a Pro or Gold subscription.`,'','warning'); return false; var url = route('tour.get-tour-by-id'); $.ajax({ type: "POST", url: url, headers: {'X-CSRF-TOKEN': "c1KBPssTdSSjjGhMn4fcSlIeoierevCiIdYnkRIg" }, data: { 'TourId' : TourId, }, success: function (res) { $('#CreateTour #TourImage').show(); var TourImage = ''; if(res.image_data){ var pattern = /^((http|https):\/\/)/; if(pattern.test(res.image_data['ThumbImage'])) { TourImage = res.image_data['ThumbImage']; } else { TourImage = APP_URL + res.image_data['ThumbImage']; } } if(TourImage=='' || (!TourImage)){ $('.custom-files .btn-default').removeAttr("onclick"); $('.custom-files .btn-default').attr('onclick',"$('.tourimage').trigger('click')"); }else if("1"){ $('.custom-files .btn-default').attr('onclick','showSubscriptionAlert()'); } // var TourImage = APP_URL+res.image_data['ThumbImage']; $('#CreateTour .modal-title').text("Edit Tour"); $('#CreateTour #save-tour-btn').text("Save"); $('#CreateTour #TourId').val(TourId); $('#CreateTour #TourAction').val('edit'); $('#CreateTour #TourUrl').val(res['TourUrl']); $('#CreateTour #Title').val(parseUnicode(res['Title'])); $('#CreateTour #Address').val(parseUnicode(res['Address'])); $('#CreateTour #Price').val(res['Price']); $('#url-radio-two').prop('checked','true'); if(res['IsCommentAllow'] == 1){ $('#IsCommentAllow').prop('checked',true); } else{ $('#IsCommentAllow').prop('checked',false); } $('#CreateTour #tourCategoryId option').removeAttr('selected') if(res['CategoryId'] != null) { $("#CreateTour #tourCategoryId option[value='"+res['CategoryId']+"']").attr("selected","true"); } else { $("#CreateTour #tourCategoryId option[value='']").attr('selected', 'true'); } if(res['Currency'] != ''){ $('#CreateTour #tourCurrency').val(res['Currency']); }else{ } $('#CreateTour #Desciption').val(parseUnicode(res['Desciption'])); $('#CreateTour #TourImage').attr('src',TourImage); $('.hashtags').tagsinput('removeAll'); if (res['HashTags']) { //var hashtags = data[i].HashTags.split(","); var hashtags = res['HashTags'].split(/[ ,-]+/); var hashlen = hashtags.length; for (var k = 0; k < hashlen; k++) { var hasvalue = parseUnicode(hashtags[k]).replace(/\//g, "-"); var hasvalued = parseUnicode(hashtags[k]); if (hasvalued.indexOf("#") > -1) { $('.hashtags').tagsinput('add', parseUnicode(hasvalued)); } else { $('.hashtags').tagsinput('add', parseUnicode(hasvalued)); } } } $('#CreateTour #EnergyConsumption').val(res['EnergyConsumption']); $('#CreateTour #GreenhouseGasEmissions').val(res['GreenhouseGasEmissions']); $('#CreateTour #OtherInformation').val(parseUnicode(res['OtherInformation'])); if(res['Energy_version']==2){ $('#url-radio-one').prop('checked','true'); $('#urlOption'+res['Energy_class']).prop('checked','true'); $('#CreateTour #EnergyConsumption_url').val(res['EnergyConsumption']); $('#CreateTour #GreenhouseGasEmissions_url').val(res['GreenhouseGasEmissions']); $('.url-energy-rule-v2').show(); $('.url-energy-rule-v1').hide(); } var IsPremium = ``; if(res.category_data){ var Category = res.category_data.Slug; } else { var Category = ''; } // var Locations = res.country_data.CountryName; var Locations = parseUnicode(res.Country); // InCountries if(InCountries(Locations) && Category.indexOf("real-estate") >= 0){ $('.energy_gas_otherinfo').show(); } else { $('.energy_gas_otherinfo').hide(); } var minimum = 80; var characterCount = $('#Desciption').val().replace(/\s\s+/g, ' ').length, current = $('#current'), maximum = $('#maximum'), theCount = $('#the-count'); characterCount = minimum - characterCount; if(characterCount < 0) { current.text(0); } else{ current.text(characterCount); } $('#CreateTour').modal('show'); localStorage.setItem("modalTourID", TourId); localStorage.setItem("TourFunction", 'editTour'); } }); } function cloneTour(TourId){ swal({ title: "Please enter the name of the clone tour", content: "input", inputPlaceholder: unescape(`Email`), buttons: [unescape(`Cancel`),unescape(`Ok`)], dangerMode: true }).then(name => { if (name) { setTimeout(function(){ $('.loadingOverlay').show(); },50); setTimeout(function(){ let url = route('tour.CloneTour',[TourId,name]) ; $.ajax({ type: "GET", url: url, success: function (res) { if(res.success){ location.reload(); return false; $('.loadingOverlay').hide(); // $('#tour-'+TourId).slideUp('slow'); swal("Your tour has been deleted", { icon: "success", confirmButtonText: "Ok", }); } else { $('.loadingOverlay').hide(); $.each(res.error, function(key, value) { swal(value, ``, `error`); return false; }); } } }); },200); } }); } $(document).on('click','#hire-me-btn',function(){ pricing(); $('html, body').animate({ 'scrollTop' : $(".dashbord-pricing-container").position().top }); }); // Pricing Section function pricing(){ $('.dashbord-portfolio-container, .dashbord-reviews-container, .dashbord-favourite-container , .dashbord-booking-container,.dashbord-payment-container, .dashbord-calendar-container').hide(); $('.dashbord-pricing-container').show(); $('.dashbord-menu-item').removeClass('text-orange activate'); $('.dashbord-pricing-menu').addClass('text-orange activate'); if (history.pushState) { var newurl = window.location.protocol + "//" + window.location.host + window.location.pathname + '#'+'pricing'; var canurl = window.location.protocol + "//" + window.location.host + window.location.pathname ; window.history.pushState({path:newurl},'',newurl); deletetags(); setAlternateUrl("pricing"); replaceRobotTag(); $('head').append(``); } if(WURFL.form_factor != "Smartphone" && WURFL.form_factor!="Tablet"){ setTimeout(()=>{ $(function () { $("#plan_pricing").sortable({ tolerance: 'pointer', revert: 'invalid', placeholder: 'grid placeholder tile', forceHelperSize: true, helper : 'clone', items: "> div:not(.pricing-add-box)", update: function() { var tour = $("#plan_pricing").sortable("toArray", {attribute:'id'}); let url = route('profile-pricing-update'); let data = {}; data['order'] = tour; let res = PostRequest(url,data); } }); }); },100); } } $('.mileage-charges').keyup(function(event){ $(this).val( $(this) .val() .replace(/[^0-9\.,]/g, "") ); if (event.which != 46 && event.which != 44 && (event.which < 48 || event.which > 57)) { event.preventDefault(); } }); $('.price').keyup(function(event){ $(this).val( $(this) .val() .replace(/[^0-9\.,]/g, "") ); if (event.which != 46 && event.which != 44 && (event.which < 48 || event.which > 57)) { event.preventDefault(); } if($(this).val() < 1 || $(this).val() == ''){ $('.website-price').html(0); } else{ var price = AddPlatformFee($(this).val().replace(',','.')); price=price.replaceAll(',',"'"); $('.website-price').html(price); } }); $('.modal-close-icon').on('click', function(e){ $('#AddNewPlan').modal('hide'); }); function editPlan(id){ $('#pricing-action').val('edit'); getpricingplan(id); $('#AddNewPlan').modal('show'); } function DeletePlan(id){ deleteplan(id); } $(document).on("click",".delete-plan-btn",function(event) { deleteplan($(this).attr('data-val')); // return false; }); function deleteplan(PlanId){ swal({ title: "Are you sure?", text: "Once deleted, you will not be able to recover this pack.", icon: "warning", buttons: [unescape(`Cancel`),unescape(`Ok`)], // confirmButtonText: "Ok", // cancelButtonText: "Cancel", // buttons: true, dangerMode: true, }) .then((willDelete) => { if (willDelete) { var url = route('profile.deletepricingplan'); $.ajax({ type: "POST", url: url, headers: {'X-CSRF-TOKEN': "c1KBPssTdSSjjGhMn4fcSlIeoierevCiIdYnkRIg" }, data: { 'PlanId' : PlanId, }, success: function (res) { $('#plan-'+PlanId).slideUp('slow'); $('#plan-'+PlanId).remove(); swal("Your pack plan has been deleted!", { icon: "success", confirmButtonText: "Ok", }); } }); } }); } function getpricingplan(PlanId){ var Action = $('.action').val(); var url = route('profile.getpricingplan'); $.ajax({ type: "POST", url: url, headers: {'X-CSRF-TOKEN': "c1KBPssTdSSjjGhMn4fcSlIeoierevCiIdYnkRIg" }, data: { 'Action' : Action, 'PlanId' : PlanId, }, success: function (res) { $('.package').val(parseUnicode(res.PlanName)); // $('.searchtag').tagsinput('add', res.PlanSearchTag); $('.price').val(res.PlanPrice); var price = AddPlatformFee(res.PlanPrice); $('.website-price').html(price); $('.mileage-charges').val(res.MileageCharges); $('.plan-image').attr('src',res.Thumbnail).show(); // $(".currency-selector option[value='"+res.Currency+"']").attr("selected","selected"); $('#PriceCategoryId option').removeAttr('selected') $("#PriceCategoryId option[value='"+res.CategoryId+"']").attr("selected","selected"); $('#AddNewPlan #PlanId').val(PlanId); $('#packprice_textarea').val(parseUnicode(res.PlanDetails)); // CKEDITOR.instances.packprice_textarea.setData( ); $('#pricing-action').val('edit'); var EditPlanText= "Edit price plan package"; $('#AddNewPlan .modal-title').html(EditPlanText); } }); } $('#AddNewPlan').on('hidden.bs.modal', function () { $('#packprice_textarea').val(''); // CKEDITOR.instances["packprice_textarea"].setData(''); $('.website-price').text('0'); $('.plan-image').attr('src','').hide(); $(this) .find("input,textarea,select") .val('') .end() .find("input[type=checkbox], input[type=radio]") .prop("checked", "") .end(); }); // $('#add-plan-btn').click(function(){ var AddPlanText= "Add a new price plan package"; $('#AddNewPlan .modal-title').html(AddPlanText); $('#AddNewPlan input[type=text]').val(''); $('#AddNewPlan .searchtag').tagsinput('removeAll'); $('#AddNewPlan #PriceCategoryId option').removeAttr('selected') $("#AddNewPlan #PriceCategoryId option[value='']").attr("selected","selected"); }) function savepricing(){ $('.loadingOverlay').show(); var fd = new FormData(); var files = $('#plan-image')[0].files[0]; if(files){ fd.append('plan-image',files); } var PlanId = $('#PlanId').val(); var Action = $('#pricing-action').val(); var PlanName = $('.package').val(); var PlanSearchTag = '';//$('.searchtag').val(); var PlanPrice = $('.price').val().replace(',','.'); var MileageCharges = '';//$('.mileage-charges').val().replace(',','.'); // var Currency = $('.currency-selector').val(); var PlanDetails = $('#packprice_textarea').val();//CKEDITOR.instances["packprice_textarea"].getData(); var CategoryId = $('#PriceCategoryId option:selected').val(); fd.append('Action',Action); fd.append('PlanId',PlanId); fd.append('PlanTitle',PlanName); fd.append('PlanSearchTag',PlanSearchTag); fd.append('PlanPrice',PlanPrice); fd.append('PlanDetails',PlanDetails); fd.append('MileageCharges',MileageCharges); fd.append('PriceCategory',CategoryId); var url = route('profile.savepricingplan'); $.ajax({ type: "POST", url: url, headers: {'X-CSRF-TOKEN': "c1KBPssTdSSjjGhMn4fcSlIeoierevCiIdYnkRIg" }, data: fd, contentType: false, processData: false, // data: { // 'Action' : Action, // 'PlanId' : PlanId, // 'PlanTitle' : PlanName, // 'PlanSearchTag' : PlanSearchTag, // 'PlanPrice' : PlanPrice, // // 'Currency' : Currency, // 'PlanDetails' : PlanDetails, // 'MileageCharges': MileageCharges // }, success: function (res) { if(res.error){ $.each(res.error, function(key, value){ $('.loadingOverlay').hide(); swal("Klapty",value,'warning'); return false; }); return false; } $('#pricing-action').val('add'); $('#AddNewPlan input[type=text]').val(''); $('#AddNewPlan .searchtag').tagsinput('removeAll'); $('#AddNewPlan').modal('hide'); html = ''; var planData = res.data; var price = AddPlatformFee(PlanPrice); if(Action == 'edit'){ $('.plan-'+planData.PlanId+' .plantitle').html(parseUnicode(planData.PlanName)); $('.plan-'+planData.PlanId+' .plan-price-degite').html(price); $('.plan-'+planData.PlanId+' .plan-feature-container').html(''); $.each( JSON.parse(planData.PlanDetails), function( key, value ) { html += '

'+parseUnicode(value)+'

'; }); $('.plan-'+planData.PlanId+' .plan-feature-container').append(html); $('.loadingOverlay').hide(); window.location.reload(); }else{ $('.loadingOverlay').hide(); var SessionUserId = ""; var UserType = ""; price=price.replaceAll(',',"'"); html +=`
Price and cost Rami Saarikorpi ${planData.PlanName}
`; if(planData.UserId == SessionUserId && UserType == "2"){ html +=`
`; } else { UserSlug = res.UserArr.Slug; PlanSlug = planData.Slug; html +=`
`; } html +=`
${price} ${planData.Currency}
`; html +=`
${parseUnicode(planData.PlanName)}
`; if(planData.CategoryId != null){ html += `${planData.Category}` } featureArr = JSON.parse(planData.PlanDetails); if(featureArr){ separator = ','; implodedArray = featureArr.join(separator); html += '

'+parseUnicode(implodedArray)+'

'; } html +=`
`; $( html ).insertBefore( $( ".pricing-detail-box-add-container" ) ); } $('#AddNewPlan').modal('hide'); pricing(); } }); } function isEmpty(obj) { for(var key in obj) { if(obj.hasOwnProperty(key)) return false; } return true; } function OpenDetails(PlanId){ $('.loadingOverlay').show(); setTimeout(function(){ var data = getRequest(route('get-pricing-plan-details',[PlanId])); var image= APP_URL + 'public/assets/img/user-sm.png'; if(data.userdata.ProfileImage){ image = data.userdata.ProfileImage; } else if(data.userdata.SocialProfileImage){ image = data.userdata.SocialProfileImage; } var Thumbnail = APP_URL +'public/assets/img/rsz_1pack-price-default.jpg'; if(data.Thumbnail){ Thumbnail = data.Thumbnail; } var rating = 0; if(!isEmpty(data.userdata.rating_data)){ var rating_count = 0; for (var i = 0; i < data.userdata.rating_data.length; i++) { rating = data.userdata.rating_data[i].Rating; rating_count++; } rating = rating/rating_count; rating = parseFloat(rating.toFixed(1)); } var feature = ''; var featureArr = JSON.parse(data.PlanDetails); if(featureArr){ separator = ','; implodedArray = featureArr.join(separator); feature += '

'+parseUnicode(implodedArray)+'

'; } var onclick = `addbooking('${data.PlanId}','${data.userdata.Slug}','${parseUnicode(data.PlanName)}','${AddPlatformFee(data.PlanPrice)}','${data.Currency}','${data.userdata.UserId}','${data.userdata.country_data?.CountryName}')`; var html = ``; $('.pricingplanDetails').html(html); $('#PricingPlanDetailModal').modal(); $('.loadingOverlay').hide(); },50); } // Review Section function reviews(){ setTimeout(function(){ $('html, body').animate({ 'scrollTop' : $(".dashbord-reviews-container").position().top }); },500); $('.dashbord-portfolio-container, .dashbord-pricing-container, .dashbord-favourite-container , .dashbord-booking-container, .dashbord-payment-container, .dashbord-calendar-container').hide(); $('.dashbord-reviews-container').show(); $('.dashbord-menu-item').removeClass('text-orange activate'); $('.dashbord-reviews-menu').addClass('text-orange activate'); if (history.pushState) { var newurl = window.location.protocol + "//" + window.location.host + window.location.pathname + '#'+'reviews'; var canurl = window.location.protocol + "//" + window.location.host + window.location.pathname + '#'+'reviews'; window.history.pushState({path:newurl},'',newurl); deletetags(); replaceRobotTag(); setAlternateUrl("reviews"); $('head').append(``); } } function add(ths,sno){ for (var i=1;i<=5;i++){ var cur=document.getElementById("star"+i) cur.className="fa fa-star fa-2x" } for (var i=1;i<=sno;i++){ var cur=document.getElementById("star"+i) if(cur.className=="fa fa-star fa-2x"){ cur.className="fa fa-star fa-2x checked" } } $('.booking-rating').val(sno); } function AddReview(BookingId,ParentReviewId=0){ var Review = $('.review-textarea').val(); var UserId = $('.booking-review-UserId').val(); var rating = $('.booking-rating').val(); var url = route('profile.addreview'); $.ajax({ type: "POST", url: url, headers: {'X-CSRF-TOKEN': "c1KBPssTdSSjjGhMn4fcSlIeoierevCiIdYnkRIg" }, data: { 'UserId' : UserId, 'Review' : Review, 'BookingId' : BookingId, 'ParentReviewId' : ParentReviewId, 'Rating': rating, }, success: function (res) { if(ParentReviewId == 0 ){ GetMyBookingById(BookingId) } else { GetBookingById(BookingId) } // GetBookingById(BookingId); $('.booking-review-box').hide(); swal("Klapty","Congratulations, review successfully added","success"); } }); } function deliverBooking(BookingId){ $(this).removeClass('booking-pending'); var url = route('profile.deliverbooking'); $('.booking-status').html("Pending   " ); $('.go-back-btn').attr("onclick","GetBooking(0,'Tab')"); $.ajax({ type: "POST", url: url, headers: {'X-CSRF-TOKEN': "c1KBPssTdSSjjGhMn4fcSlIeoierevCiIdYnkRIg" }, data: { 'BookingId' : BookingId, }, success: function (res) { GetBookingById(BookingId); $('.booking-pending-count').html(res['Pending']); $('.booking-completed-count').html(res['Completed']); $('.go-back-btn').attr("onclick","GetBooking(0,'Tab')"); } }); } function completeBooking(BookingId){ $(this).removeClass('booking-pending'); var url = route('profile.completebooking'); $('.booking-status').html("Pending   " ); $('.go-back-btn').attr("onclick","GetBooking(0,'Tab')"); $.ajax({ type: "POST", url: url, headers: {'X-CSRF-TOKEN': "c1KBPssTdSSjjGhMn4fcSlIeoierevCiIdYnkRIg" }, data: { 'BookingId' : BookingId, }, success: function (res) { GetBookingById(BookingId); $('.booking-pending-count').html(res['Pending']); $('.booking-completed-count').html(res['Completed']); $('.go-back-btn').attr("onclick","GetBooking(0,'Tab')"); } }); } function canceldeliverBooking(BookingId){ $(this).removeClass('booking-pending'); var url = route('profile.canceldeliveredbooking'); $('.booking-status').html("Delivered   " ); $('.go-back-btn').attr("onclick","GetBooking(0,'Tab')"); $('.booking-delivered-box').hide(); $.ajax({ type: "POST", url: url, headers: {'X-CSRF-TOKEN': "c1KBPssTdSSjjGhMn4fcSlIeoierevCiIdYnkRIg" }, data: { 'BookingId' : BookingId, }, success: function (res) { GetMyBookingById(BookingId); $('.booking-pending-count').html(res['Pending']); $('.booking-completed-count').html(res['Completed']); $('.go-back-btn').attr("onclick","GetMyBooking(0,'Tab')"); } }); } async function ToggleProfileView() { $('#hide-on-show-map').hide(); $('#profile-page-map').show(function() { google.maps.event.trigger(map, 'resize'); if (typeof latlngbounds !== 'undefined' && !latlngbounds.isEmpty()) { map.fitBounds(latlngbounds); } }); $('#share-map-button').show(); $("#remove-close-btn").removeClass("d-none"); $('#show-profile-map').addClass('bg-orange-outline-btn'); } function ToggleProfileMap(){ $('#hide-on-show-map').show(); $('#share-map-button').hide(); $('#profile-page-map').hide(); $("#remove-close-btn").addClass("d-none"); $('#show-profile-map').removeClass('bg-orange-outline-btn'); } var map, infowindow, markers = []; var geocoder; var map; var markerCluster; var photographers = []; var tourload = 0; var mapPageNo = 0; var maplastPage = null; var avglat = 0; var avglong=0; var zoom=1; async function TourPin(filter=''){ locations = [] var filter_one={}; filter_one['Slug']='rami-saarikorpi'; if(filter!=''){ filter_one=filter; } let data = []; await window.request( route('get-profile-tour-pin'), 'post', filter_one, (success) => { data = success; }, (error) => { console.log(error); } ); zoom = data['zoom'] ?? 2; avglat = data['avglat'] ?? 0; avglong=(data['avglong']) ?? 0; for(let item of data.data){ locations.push({ Address: item?.Address ?? '', Latitude: item?.Latitude ?? 0.0, Longitude: item?.Longitude ?? 0.0, TourId: item?.TourId ?? 0 }); } } function initMap() { const locationRio = { lat: 47.559601, lng: 7.588576 }; const lat = parseFloat(avglat); const lng = parseFloat(avglong); $('#profile-page-map').css('height', '533px'); map = new google.maps.Map(document.getElementById('profile-page-map'), { zoom: (zoom + 1), minZoom: 2, center: { lat: isNaN(lat) ? locationRio.lat : lat, lng: isNaN(lng) ? locationRio.lng : lng }, gestureHandling: 'greedy', streetViewControl: false, zoomControl: true, zoomControlOptions: { position: google.maps.ControlPosition.LEFT_TOP }, mapTypeControl: false, fullscreenControl: false }); } async function addMarkers() { if (!locations || locations.length === 0) return; const latlngbounds = new google.maps.LatLngBounds(); const markers = []; for (let item of locations) { const infowindow = new google.maps.InfoWindow(); const myLatLng = new google.maps.LatLng(item.Latitude, item.Longitude); const marker = new google.maps.Marker({ position: myLatLng, map: map, title: parseUnicode(item.Address), icon: "https://www.klapty.com/public/images/place_pin.png" }); latlngbounds.extend(marker.position); marker.addListener('click', async () => { clicklocations = {}; $('.gm-ui-hover-effect').trigger('click'); const html = GetTourById(item.TourId); await window.request( route("tour.get-tour-by-id",{tour:item.TourId}), 'post', {}, (success) =>{ infowindow.setContent(TourByIdHtml(success)); infowindow.set("pixelOffset", new google.maps.Size(220, 200)); infowindow.open(map, marker); }, (error) =>{ console.log(error) }, (status) =>{ if (status) { $('.tour-loadingOverlay').show(); } else { $('.tour-loadingOverlay').hide(); } } ); $('.tour-loadingOverlay').show(); let k = 0; locations.forEach((loc, idx) => { if (parseFloat(loc.Latitude).toFixed(9) === marker.position.lat().toFixed(9) && parseFloat(loc.Longitude).toFixed(9) === marker.position.lng().toFixed(9)) { clicklocations[idx] = loc.TourId; k++; } }); if (k > 1) { const data = { Tours: clicklocations }; const url = route("tour.get-map-data", data); const res = await PostRequest(url, data); const htmlTours = TourHtml(res.tours); $('#TourList').html(htmlTours); $('#TourListmodal').modal(); } $('.tour-loadingOverlay').hide(); }); markers.push(marker); } map.fitBounds(latlngbounds); map.setCenter(latlngbounds.getCenter()); markerCluster = new MarkerClusterer(map, markers, { maxZoom: 12, imagePath: 'https://developers.google.com/maps/documentation/javascript/examples/markerclusterer/m' }); } -->