Skip to content
Home page
Solutions
Leave management
Document Management
Digital signing
Intranet
Software development and custom solutions
Consultation and advice
Office licences
Blog
About us
Contact
Seminar
Home page
Solutions
Leave management
Document Management
Digital signing
Intranet
Software development and custom solutions
Consultation and advice
Office licences
Blog
About us
Contact
Seminar
Book a demo
English
Eesti
Book a time
(function ($) { function setupBookingForm($scope) { const dateInput = $scope.find('#form-field-date')[0]; const timeField = $scope.find('#form-field-time')[0]; const serviceField = $scope.find('#form-field-service')[0]; const staffField = $scope.find('#form-field-staff')[0];if (!dateInput) return;function disableWeekends(date) { return date.getDay() === 0 || date.getDay() === 6; }function fetchAvailability() { if (!dateInput || !timeField || !serviceField || !staffField) return;const date = dateInput.value; const service = serviceField.value; const staff = staffField.value;timeField.innerHTML = 'Laen aegu...';if (!date || !service || !staff) { timeField.innerHTML = 'Vali esmalt kuupäev, teenus ja konsultant'; return; }const url = '/wp-json/booking/v1/availability?date=' + encodeURIComponent(date) + '&service=' + encodeURIComponent(service) + '&staff=' + encodeURIComponent(staff);console.log('Availability URL:', url);fetch(url) .then(res => res.json()) .then(data => { console.log('Availability response:', data);timeField.innerHTML = 'Vali aeg';if (!data.success) { timeField.innerHTML = 'Aegu ei saa laadida'; return; }if (!data.slots || !data.slots.length) { timeField.innerHTML = 'Vabu aegu pole'; return; }data.slots.forEach(slot => { const opt = document.createElement('option'); opt.value = slot; opt.textContent = slot; timeField.appendChild(opt); }); }) .catch(error => { console.log('Availability fetch failed:', error); timeField.innerHTML = 'Aegu ei saa laadida'; }); }let tries = 0; const wait = setInterval(function () { tries++;if (dateInput._flatpickr) { dateInput._flatpickr.destroy(); }if (typeof flatpickr !== 'undefined') { flatpickr(dateInput, { minDate: 'today', dateFormat: 'Y-m-d', altInput: true, altFormat: 'd.m.Y', locale: { firstDayOfWeek: 1 }, disable: [disableWeekends], onChange: fetchAvailability });clearInterval(wait); }if (tries > 30) { clearInterval(wait); } }, 300);if (serviceField) serviceField.addEventListener('change', fetchAvailability); if (staffField) staffField.addEventListener('change', fetchAvailability); }jQuery(window).on('elementor/frontend/init', function () { elementorFrontend.hooks.addAction('frontend/element_ready/form.default', setupBookingForm); }); })(jQuery);
Vacation management demo
Document management demo
Digital signing demo
Intranet demo
SharePoint solutions
Anders Abel
Mihkel Moorats
11:30
12:00
12:30
13:00
13:30
14:00
14:30
15:00
15:30
Send to
Book at
Book a time
Siia mingi tekst broneerimise kohta
(function ($) { function setupBookingForm($scope) { const dateInput = $scope.find('#form-field-date')[0]; const timeField = $scope.find('#form-field-time')[0]; const serviceField = $scope.find('#form-field-service')[0]; const staffField = $scope.find('#form-field-staff')[0];if (!dateInput) return;function disableWeekends(date) { return date.getDay() === 0 || date.getDay() === 6; }function fetchAvailability() { if (!dateInput || !timeField || !serviceField || !staffField) return;const date = dateInput.value; const service = serviceField.value; const staff = staffField.value;timeField.innerHTML = 'Laen aegu...';if (!date || !service || !staff) { timeField.innerHTML = 'Vali esmalt kuupäev, teenus ja konsultant'; return; }const url = '/wp-json/booking/v1/availability?date=' + encodeURIComponent(date) + '&service=' + encodeURIComponent(service) + '&staff=' + encodeURIComponent(staff);console.log('Availability URL:', url);fetch(url) .then(res => res.json()) .then(data => { console.log('Availability response:', data);timeField.innerHTML = 'Vali aeg';if (!data.success) { timeField.innerHTML = 'Aegu ei saa laadida'; return; }if (!data.slots || !data.slots.length) { timeField.innerHTML = 'Vabu aegu pole'; return; }data.slots.forEach(slot => { const opt = document.createElement('option'); opt.value = slot; opt.textContent = slot; timeField.appendChild(opt); }); }) .catch(error => { console.log('Availability fetch failed:', error); timeField.innerHTML = 'Aegu ei saa laadida'; }); }let tries = 0; const wait = setInterval(function () { tries++;if (dateInput._flatpickr) { dateInput._flatpickr.destroy(); }if (typeof flatpickr !== 'undefined') { flatpickr(dateInput, { minDate: 'today', dateFormat: 'Y-m-d', altInput: true, altFormat: 'd.m.Y', locale: { firstDayOfWeek: 1 }, disable: [disableWeekends], onChange: fetchAvailability });clearInterval(wait); }if (tries > 30) { clearInterval(wait); } }, 300);if (serviceField) serviceField.addEventListener('change', fetchAvailability); if (staffField) staffField.addEventListener('change', fetchAvailability); }jQuery(window).on('elementor/frontend/init', function () { elementorFrontend.hooks.addAction('frontend/element_ready/form.default', setupBookingForm); }); })(jQuery);
Vacation management demo
Document management demo
Digital signing demo
Intranet demo
SharePoint solutions
Anders Abel
Mihkel Moorats
11:30
12:00
12:30
13:00
13:30
14:00
14:30
15:00
15:30
Send to