از راحتی برای برنامه ریزی یکپارچه لذت ببرید.
سهولت و کارایی برنامه ریزی یک روز عالی آبگرم خود را تجربه کنید!
ماساژ در سالن ما
از جلسه کامل خود در سالن Nakee لذت ببرید.
ماساژ در محل شما
در محل خود - خانه، هتل یا ویلا - نوازش کنید.
قیمت بسته به مسافت، روش حمل و نقل (موتور یا تاکسی) و تعداد درمانگران و ساعات درخواستی شما متفاوت خواهد بود.
مرحله 1. زمان و مکان دلخواه خود را انتخاب کنید
رزرو موجود است
از 10:00 AM تا 6:00 PM
تاریخ و زمان رزرو مورد نظر خود را در بالا انتخاب کنید، سپس پین مکان خود را روی نقشه قرار دهید.
ما از این برای محاسبه فاصله و به روز رسانی قیمت بر اساس موقعیت مکانی شما استفاده خواهیم کرد.
هنوز پین مکانی انتخاب نشده است. لطفاً برای ادامه، پین خود را روی نقشه قرار دهید.
مرحله 2. رزرو خود را تکمیل کنید
لطفا زمان و آدرس ماساژ خود را انتخاب کنید. پس از اتمام، می توانید بقیه جزئیات رزرو خود را پر کنید.
رزرو موجود است
از 10:00 AM تا 10:00 PM
خدمات خود را انتخاب کنید:
درمانگر خود را انتخاب کنید:
لطفاً درمانگر را انتخاب کنید یا خالی بگذارید و به ما اجازه دهید یک درمانگر مناسب را طبق خدمات درخواستی شما تعیین کنیم.
⚠️ هرگز پیام درخواست رزرو را به صورت دستی ویرایش نکنید. لطفاً سعی کنید با تغییر فرم درخواست آن را اصلاح کنید تا پیام به طور خودکار دوباره ایجاد شود.
درخواست رزرو خود را ارسال کنید
ارسال با یک کلیک از طریق مسنجر
مسنجر مورد نظر خود را انتخاب کنید، ما این پیام درخواست رزرو را با یک کلیک به چت شما ارسال خواهیم کرد.
هیچ کدام از مسنجرهای بالا را ندارید؟
مشاهده گزینههای جایگزین
کپی و پیست در مسنجر
پیام رزرو را کپی، پیست و از طریق هر یک از مسنجرهای زیر ارسال کنید.
2. سپس صفحه را باز کنید و آن را برای ما ارسال کنید.
';
$( window ).on( "resize", function() { on_resize(); });
on_resize();
attentionBoxShift();
setTimeout(function(){ load_therapists_list(); },2000);
$(".show-more-options").on('click',function(){
$("."+$(this).data('target')).slideDown(400);
$(this).slideUp(400);
});
$("#instagram_page_link,#facebook_page_link").on('click',function(){
window.open($(this).data('target'), '_blank', 'noopener,noreferrer');
});
$("#view_products,.choosed_products,#open_service-menu").on('click',function(){
$("#products_list_pop").show(300);
$(".choosed_products").addClass('error');
setTimeout(function(){ $("body").addClass("product_chooser"); },300);
});
$("#products_list_pop_close").on('click',function(){
$("#products_list_pop").hide(300);
setTimeout(function(){ $("body").removeClass("product_chooser"); },20);
});
$("#view_theropist,.choosed_theropist,#open_therapists,#open_therapists_br").on('click',function(){
$("#theropist_list_pop").show(300);
if (ajax_runned == 0) { ajax_runned = 1; load_therapists_list(); }
setTimeout(function(){ $("body").addClass("product_chooser"); },300);
});
$("#open_holiday,#open_holiday_br").on('click',function(){
$("#holiday_list_pop").show(300);
});
$(window).on('scroll', function () {
if (ajax_runned != 0) return;
ajax_runned = 1;
load_therapists_list();
});
$("#theropist_list_pop_close").on('click',function(){
$("#theropist_list_pop").hide(300);
setTimeout(function(){ $("body").removeClass("product_chooser"); },20);
});
$("#holiday_list_pop_close").on('click',function(){
$("#holiday_list_pop").hide(300);
});
$(".service").each(function(){
var t = $(this);
t.find("table tr").each(function(){
var tr = $(this);
tr.append("
| ");
});
});
$(".add_prod.btn").on('click',function(){
var t = $(this), p = t.parents('.service'), tr = t.parents('tr');
tr.addClass('active');
var tile = p.find(".prod-title h2").text();
if (lang != 'th')
tile += ' ( '+p.data('en')+' )';
var pr = 0;
if ( massage_type == 1 ) pr = tr.data('price'); else pr = tr.data('outside-price');
$(".choosed_products ul").append('
'+checkmark+tile+'
'+' - '+tr.find('td:eq(0)').text() + ' ['+formatPrice(pr)+' ฿]' +'');
if ($(".choosed_products ul li").length == 0 ) {
$(".choosed_products .no-prod").show();
$("#products_list_pop_close").removeClass("selected");
} else {
$(".choosed_products .no-prod").hide();
$("#products_list_pop_close").addClass("selected");
}
calculate_totals_html();
attentionBoxShift();
});
$(".remove_prod.btn").on('click',function(){
var t = $(this), p = t.parents('.service'), tr = t.parents('tr');
tr.removeClass('active');
$(".choosed_products ul ."+p.attr('id')+".pid-"+tr.data('prod_id')).remove();
if ($(".choosed_products ul li").length == 0 ) {
$(".choosed_products .no-prod").show();
$("#products_list_pop_close").removeClass("selected");
} else {
$(".choosed_products .no-prod").hide();
$("#products_list_pop_close").addClass("selected");
}
calculate_totals_html();
attentionBoxShift();
});
var ga4EventSent = false;
$("#customername,#customerphone,#visitqty,#visit-date,#visit-time").on('keyup',function(){
$(this).removeClass('error');
if (ga4EventSent) return;
ga4EventSent = true;
gtag("event", "waBookingFormStart", {
menu_item_name: "Start WhatsApp Booking Form",
menu_item_url: "https://www.nakee.spa/fa/%d8%b1%d8%b2%d8%b1%d9%88-%d8%a2%d9%86%d9%84%d8%a7%db%8c%d9%86/%d8%b1%d8%b2%d8%b1%d9%88-%d9%86%d9%88%d8%a8%d8%aa-%d8%af%d8%b1-%d8%b3%d8%a7%d8%ad%d9%84-bo-phut/",
});
});
$("#customername,#customerphone,#visitqty,#visit-date,#visit-time").on('change',function(){
attentionBoxShift();
});
$('#visit-date, #visit-time').on('keyup change', function() {
var holiday = checkBookingConflict('');
if (holiday){
$("#visit-date, #visit-time").addClass('error');
alert(holiday);
}
});
$('#visit-date-o, #visit-time-o').on('keyup change', function() {
var holiday = checkBookingConflict('-o');
if (holiday){
$("#visit-date-o, #visit-time-o").addClass('error');
alert(holiday);
}
});
$("#submit_req").on('click', function(){
var m = validate_message('whatsapp');
if (m == false) return;
$("#submit_req_action").attr('href', 'https://api.whatsapp.com/send?phone=66990655880&&text='+m);
document.getElementById("submit_req_action").click();
success_action(m);
});
$("#submit_req_line").on('click', function(){
var m = validate_message('line');
if (m == false) return;
$("#submit_req_action_line").attr('href', 'https://line.me/R/oaMessage/%40355kcqpj/?'+m);
document.getElementById("submit_req_action_line").click();
success_action(m);
});
$(".massage-type-selector .type-option").on('click', function(){
var t = $(this);
$(".massage-type-selector .type-option").removeClass("selected");
$(this).addClass("selected");
if (massage_type == $(this).data('massagetype')) return;
massage_type = $(this).data('massagetype');
if (massage_type == 2) {
$(".home-massage").slideDown(400);
$(".book_apointment .visitinfo").hide();
$(".top-booking-bar-menu,.book_apointment,.shop_massage_hours").slideUp(400);
if (map_loaded == 0) { initMap(); map_loaded = 1; setTimeout(function(){ $("#visit-date-o,#visit-time-o").addClass("attention-box"); },100); }
} else {
$(".home-massage").slideUp(400);
$(".book_apointment .visitinfo").show();
$(".top-booking-bar-menu,.book_apointment,.shop_massage_hours").slideDown(400);
}
outside_price_update();
});
$(".massage-beds label").on('click', function(){
var t = $(this);
$(".massage-beds label").removeClass('selected');
t.addClass('selected');
calculate_totals_html();
});
function success_action(m){
var params = "n=" + $("#customername").val();
if ($("#customerphone").length != 0)
params += "&p=" + $("#customerphone").val();
$(".book_apointment").empty().append("

شما با موفقیت درخواست قرار ملاقات خود را ایجاد کردید!
");
window.location.href="https://www.nakee.spa/fa/%d8%b1%d8%b2%d8%b1%d9%88-%d8%a8%d8%a7-%d8%aa%d8%b4%da%a9%d8%b1-%d8%a7%d8%b2-%d8%b4%d9%85%d8%a7/?"+params+"&msg="+m;
}
function load_therapists_list() {
if ($("#theropist_list_pop .theropists").hasClass("loaded")) return;
$.ajax({
url: 'https://www.nakee.spa/wp-admin/admin-ajax.php' ,
method: 'POST',
dataType : "html",
data: {
action: 'booking_terapist_list',
branch_id: 729,
lng: 'fa'
},
success: function(response) {
$("#theropist_list_pop .theropists").addClass("loaded").empty().append(response);
$(".theropists .theropist").on('click',function(){
var t = $(this);
if (t.hasClass('vacation')) return;
if (!t.hasClass('active')){
t.addClass('active');
$(".choosed_theropist ul").append('
'+checkmark+t.data('en')+'');
} else {
t.removeClass('active');
$('.prod-item.therop-'+t.attr('id')).remove();
}
if ($(".choosed_theropist ul li").length == 0 ) $(".choosed_theropist .no-prod").show(); else $(".choosed_theropist .no-prod").hide();
attentionBoxShift();
});
renderBookingHolidayTable('holiday_list_table');
},
error: function() {
alert('There was an error with loading the therapists list.');
}
});
}
function validate_message(t){
var geusts = parseInt($("#visitqty").val());
if ($("#customername").val() == ''){
$("#customername").addClass('error');
$('html, body').animate({ scrollTop: $('#customername').offset().top-70 }, 200);
setTimeout( () => { alert("نام الزامی است!"); },201);
return false;
}
/* if ($("#customerphone").val() == ''){
$("#customerphone").addClass('error');
$('html, body').animate({ scrollTop: $('#customerphone').offset().top-70 }, 200);
setTimeout( () => { alert("شماره تلفن الزامی است!"); },201);
return false;
} */
if ($("#visitqty").val() == '' || geusts < 1){
$("#visitqty").addClass('error');
$('html, body').animate({ scrollTop: $('#visitqty').offset().top-70 }, 200);
setTimeout( () => { alert("لطفا تعداد مهمانان را انتخاب کنید!"); },201);
return false;
}
if ($("#visit-date").val() == ''){
$("#visit-date").addClass('error');
$('html, body').animate({ scrollTop: $('#visit-date').offset().top-70 }, 200);
setTimeout( () => { alert("لطفا داده های قرار خود را انتخاب کنید!"); },201);
return false;
}
if ($("#visit-time").val() == ''){
$("#visit-time").addClass('error');
$('html, body').animate({ scrollTop: $('#visit-time').offset().top-70 }, 200);
setTimeout( () => { alert("لطفا زمان قرار ملاقات خود را انتخاب کنید!"); },201);
return false;
}
if (!timeValid) {
setTimeout( () => { alert("لطفا مطمئن شوید که زمان قرار شما معتبر است!"); },201);
return false;
}
var holiday = checkBookingConflict('');
if (holiday != false){
$("#visit-date, #visit-time").addClass('error');
$('html, body').animate({ scrollTop: $('#visit-date').offset().top-70 }, 200);
setTimeout( () => { alert(holiday); },201);
return false;
}
if ($(".choosed_products li.prod-item").length == 0){
$(".choosed_products").addClass('error');
$('html, body').animate({ scrollTop: $('.products_choice').offset().top-70 }, 200);
setTimeout( () => { alert("لطفا خدمات خود را انتخاب کنید!"); },201);
return false;
}
return generate_message(t);
}
$("#visit-address, #visit-flat").on('change click keyup', function(){
outside_service_validation();
attentionBoxShift();
});
$("#visit-date,#visit-date-o").on('change', function(){
const selectedDate = $(this).val();
const today = new Date();
const todayStr = today.toISOString().split('T')[0];
let targetTime;
if (selectedDate === todayStr) {
const nowPlus1Hr = new Date(today.getTime() + 60 * 60 * 1000);
const hh = nowPlus1Hr.getHours().toString().padStart(2, '0');
const mm = nowPlus1Hr.getMinutes().toString().padStart(2, '0');
targetTime = `${hh}:${mm}`;
} else {
targetTime = '10:00';
}
$('#'+$(this).attr('id').replace('date','time')).val(targetTime).attr('min', targetTime).attr('placeholder', targetTime);
});
['', '-o'].forEach(suffix => {
$(`#visit-date${suffix}, #visit-time${suffix}`).on('change', function () {
timeValid = 0;
const date = $(`#visit-date${suffix}`).val();
const time = $(`#visit-time${suffix}`).val();
if (!date || !time) return;
validateEnteredTime(suffix);
if (suffix == '-o') {
outside_service_validation();
attentionBoxShift();
}
});
});
// Icon click triggers focus on sibling input
$(".caln-icon, .time-icon").on('click', function () {
$(this).parent().find('input').trigger('focus');
});
// Validate entered time
function validateEnteredTime(suffix) {
timeValid = 1;
const timeField = $(`#visit-time${suffix}`);
if (!isTimeInAllowedRange(suffix)) {
timeField.addClass('error');
timeValid = 0;
alert(suffix === ''
? "زمان ملاقات باید بین 10 صبح تا 10 شب باشد."
: "زمان ملاقات باید بین 10 صبح تا 6 بعد از ظهر باشد.");
getKohSamuiBookingTime(suffix, false);
} else if (!isVisitTimeValid(suffix)) {
timeField.addClass('error');
timeValid = 0;
alert("زمان قرار ملاقات باید حداقل +30 دقیقه از هم اکنون باشد.");
}
if (timeValid) timeField.removeClass('error');
}
// Check if time is +30 min from now (in Bangkok)
function isVisitTimeValid(suffix) {
const date = $(`#visit-date${suffix}`).val();
const time = $(`#visit-time${suffix}`).val();
if (!date || !time) return false;
const selected = new Date(`${date}T${time}`);
const now = new Date();
const nowBangkok = new Date(now.toLocaleString("en-US", { timeZone: "Asia/Bangkok" }));
const nowPlus30 = new Date(nowBangkok.getTime() + 30 * 60 * 1000);
return selected >= nowPlus30;
}
// Check if time is in range (10:00 to 22:00 or 18:00)
function isTimeInAllowedRange(suffix) {
const time = $(`#visit-time${suffix}`).val();
if (!time) return false;
const [hh, mm] = time.split(':').map(Number);
if (isNaN(hh) || isNaN(mm)) return false;
const maxHour = suffix === '' ? 22 : 18;
return hh >= 10 && (hh < maxHour || (hh === maxHour && mm === 0));
}
// Set initial values
// based on Bangkok time and cutoffs
function getKohSamuiBookingTime(suffix, doDate) {
const now = new Date();
const nowBangkok = new Date(now.toLocaleString("en-US", { timeZone: "Asia/Bangkok" }));
const nowPlus30 = new Date(nowBangkok.getTime() + 30 * 60 * 1000);
const nowPlus40 = new Date(nowBangkok.getTime() + 50 * 60 * 1000);
const cutoff = new Date(nowBangkok);
cutoff.setHours(suffix === '' ? 22 : 18, 0, 0, 0);
const start = new Date(nowBangkok);
start.setHours(10, 0, 0, 0);
let dateStr, timeStr, timeStr1;
if (nowPlus30 > cutoff || nowPlus30 < start) {
const tomorrow = new Date(nowBangkok);
tomorrow.setDate(tomorrow.getDate() + 1);
dateStr = tomorrow.toISOString().split('T')[0];
timeStr = '10:00';
timeStr1 = '10:00';
} else {
dateStr = nowBangkok.toISOString().split('T')[0];
const hh = nowPlus30.getHours().toString().padStart(2, '0');
const mm = nowPlus30.getMinutes().toString().padStart(2, '0');
timeStr = `${hh}:${mm}`;
const hh1 = nowPlus40.getHours().toString().padStart(2, '0');
const mm1 = nowPlus40.getMinutes().toString().padStart(2, '0');
timeStr1 = `${hh1}:${mm1}`;
}
if (doDate) $(`#visit-date${suffix}`).val(dateStr).attr('min', dateStr);
$(`#visit-time${suffix}`).val(timeStr1).attr('min', timeStr);
timeValid = 1;
}
// Initialize both sets
getKohSamuiBookingTime('', true);
getKohSamuiBookingTime('-o', true);
setInterval(function(){ clock_nakee(); },1000);
clock_nakee();
lightbox.option({
fadeDuration: 200,
resizeDuration: 200,
wrapAround: true
});
});-->