استمتع بالراحة في جدولة المواعيد بسلاسة.
اختبر سهولة وكفاءة التخطيط ليومك المثالي في المنتجع الصحي!
التدليك في صالوننا
استمتع بجلسة كاملة في صالون ناكيه.
التدليك في موقعك
دلل نفسك في منزلك - في المنزل أو الفندق أو الفيلا.
سيختلف السعر حسب المسافة، وطريقة النقل (دراجة نارية أو تاكسي)، وعدد المعالجين والساعات التي تطلبها.
الخطوة 1. اختر الوقت والمكان المفضل لديك
الحجز متاح
من 10:00 صباحاً إلى 6:00 رئيس الوزراء
حدد تاريخ ووقت الحجز الذي تريده أعلاه، ثم ضع دبوس الموقع على الخريطة.
سنستخدم ذلك لحساب المسافة وتحديث الأسعار بناءً على موقعك.
لم يتم تحديد دبوس الموقع بعد. يرجى وضع الدبوس على الخريطة للمتابعة.
الخطوة 2. أكمل حجزك
يُرجى تحديد وقت وعنوان التدليك الخاص بك. بمجرد الانتهاء من ذلك، ستتمكن من ملء باقي تفاصيل حجزك.
الحجز متاح
من 10:00 صباحاً إلى 10:00 رئيس الوزراء
اختر خدمتك:
اختر معالجك النفسي:
يُرجى اختيار المعالج النفسي أو اتركه فارغاً ودعنا نعيّن لك المعالج المناسب حسب الخدمة المطلوبة.
⚠️ يرجى التأكد من إرسال طلب الحجز إلينا عبر التطبيق الذي اخترته. سنقوم بتأكيد حجزك عبر واتساب أو لاين فقط.
ℹ️ سيتم إنشاء رسالة مُنسقة استنادًا إلى اختيارك للموعد. يمكنك إرسالها عبر تطبيق المراسلة المفضل لديك المذكور أعلاه.
';
$( window ).on( "resize", function() { on_resize(); });
on_resize();
attentionBoxShift();
$("#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);
});
$(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);
});
$(".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/ar/%d8%a7%d9%84%d8%ad%d8%ac%d8%b2-%d8%b9%d8%a8%d8%b1-%d8%a7%d9%84%d8%a5%d9%86%d8%aa%d8%b1%d9%86%d8%aa/%d8%a7%d8%ad%d8%ac%d8%b2-%d9%85%d9%88%d8%b9%d8%af%d9%83-%d9%81%d9%8a-%d8%b4%d8%a7%d8%b7%d8%a6-%d8%a8%d9%88-%d9%81%d9%88%d8%aa/",
});
});
$("#customername,#customerphone,#visitqty,#visit-date,#visit-time").on('change',function(){
attentionBoxShift();
});
$("#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/ar/%d8%b4%d9%83%d8%b1%d9%8b%d8%a7-%d9%84%d9%83-%d8%b9%d9%84%d9%89-%d8%a7%d9%84%d8%ad%d8%ac%d8%b2/?"+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 },
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();
});
},
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;
}
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;
}
var u = '',brek = '%0A';
switch (t){
case 'whatsapp': brek = '%0A'; break;
case 'line': brek = '%0D%0A'; break;
}
u += encodeURIComponent('Booking Information:')+brek;
u += encodeURIComponent('Massage '+(massage_type == 1 ? "AT OUR SHOP ("+$(".branch_indicator").data('name')+")" : "OUTSIDE AT YOUR LOCATION"))+brek;
if (massage_type == 2)
u += encodeURIComponent(($('input[name="massage-bed"]:checked').val() == '1' ? "Portable Massage Bed: Included" : "Portable Massage Bed: NOT Included"))+brek;
u += brek+encodeURIComponent('Name: '+$("#customername").val())+brek;
//u += encodeURIComponent('phone number: '+$("#customerphone").val())+brek;
u += encodeURIComponent('Number of guests: '+$("#visitqty").val()+' '+(geusts <= 1 ? 'person' : 'persons'))+brek;
u += encodeURIComponent('Preferred visit time: '+ $("#visit-date").val() + ' ' + $("#visit-time").val() )+brek;
u += brek+encodeURIComponent('Required Service: ')+brek;
/* $(".choosed_products li.prod-item").each(function(){
u += encodeURIComponent(' > '+$(this).text()+' ('++' ฿)')+brek;
}); */
var tot = 0;
$(".services tr.active").each(function(){
var tr=$(this), sp = $(this).parents('.service'), h2=sp.find('.prod-title h2'), pr = 0;
if ( massage_type == 1 ) pr = $(this).data('price'); else pr = $(this).data('outside-price');
tot += parseInt(pr);
var tile = h2.text();
if (lang != 'th')
tile += ' ( '+sp.data('en')+' )';
u += encodeURIComponent('> '+tile)+brek;
u += encodeURIComponent(' - '+tr.find('td:eq(0)').text() + ' ['+formatPrice(pr)+' ฿]')+brek;
});
if (tot != 0) {
if ($('input[name="massage-bed"]:checked').val() == '1') {
u += brek+encodeURIComponent('Taxi Transport For Massage Bed: '+taxi+' ฿')+brek;
tot += parseInt(taxi);
}
/* u += encodeURIComponent('------')+brek;
u += encodeURIComponent('Total Price: '+formatPrice(tot)+' ฿')+brek; */
}
if ($(".choosed_theropist li.prod-item").length > 0) {
u += brek+encodeURIComponent('Required Therapist: ')+brek;
$(".choosed_theropist li.prod-item").each(function(){
u += encodeURIComponent(' > '+$(this).text())+brek;
});
} else {
u += brek+encodeURIComponent('Chosen Therapist: You can choose for ')+(geusts <= 1 ? 'me' : 'us')+'.%0A'+brek;
}
if ($("#clientnote").val() != '')
u += brek+encodeURIComponent('Additional Request: ')+brek+encodeURIComponent($("#clientnote").val())+brek;
if (massage_type == 1) {
u += brek+encodeURIComponent('📍 Branch Location: ')+brek+encodeURIComponent($(".branch_indicator").data('name'));
u += brek+encodeURIComponent('🗺️ Google Maps: ')+encodeURIComponent($(".branch_indicator").data('maplink'));
} else {
u += brek+encodeURIComponent('📍 Your Location Map: '+$("#address_url").val())+brek;
u += encodeURIComponent('Your Address: '+$("#visit-address").val())+brek;
u += encodeURIComponent('Your Room/Flat Number: '+$("#visit-flat").val());
}
return u;
}
$("#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 مساءً.");
} 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) {
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() + 40 * 60 * 1000);
const cutoff = new Date(nowBangkok);
cutoff.setHours(suffix === '' ? 22 : 18, 0, 0, 0);
let dateStr, timeStr, timeStr1;
if (nowPlus30 > cutoff) {
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}`;
}
$(`#visit-date${suffix}`).val(dateStr).attr('min', dateStr);
$(`#visit-time${suffix}`).val(timeStr1).attr('min', timeStr);
}
// Initialize both sets
getKohSamuiBookingTime('');
getKohSamuiBookingTime('-o');
setInterval(function(){ clock_nakee(); },1000);
clock_nakee();
lightbox.option({
fadeDuration: 200,
resizeDuration: 200,
wrapAround: true
});
});-->