













  // Опции виджета (можете расширять по документации uCalc)
  window.widgetOptions470305 = { bg_color: "transparent" };



  (function () {
    var s = document.createElement("script");
    s.async = true;
    // Принудительно HTTPS и анти-кеш каждые 30 минут
    s.src = "https://ucalc.pro/api/widget.js?id=470305&t=" + Math.floor(Date.now()/1800000);
    document.head.appendChild(s);
  })();


  Онлайн-запись на уборку
  
    
    
    
    
      Выберите услугу
      Поддерживающая уборка
      Генеральная уборка
      Мытьё окон
      После ремонта
    
    
      
      
    
    
      Длительность: 1 час
      2 часа
      3 часа
    
    
    
    
      
      Я согласен(на) с политикой конфиденциальности и обработкой персональных данных.
    
    
      Записаться
    
    
  



  // ВСТАВЬТЕ сюда URL вашего развернутого Apps Script Веб-приложения:
  const GAS_ENDPOINT = "https://script.google.com/macros/s/PASTE_YOUR_DEPLOY_ID/exec";

  const form = document.getElementById('bookingForm');
  const btn  = document.getElementById('submitBtn');
  const out  = document.getElementById('result');

  form.addEventListener('submit', async (e) => {
    e.preventDefault();
    out.textContent = "";
    btn.disabled = true; btn.textContent = "Отправляем...";

    const data = Object.fromEntries(new FormData(form).entries());
    try {
      const res = await fetch(GAS_ENDPOINT, {
        method: 'POST',
        headers: {'Content-Type':'application/json'},
        body: JSON.stringify({
          name: data.name,
          phone: data.phone,
          email: data.email,
          service: data.service,
          date: data.date,       // YYYY-MM-DD
          time: data.time,       // HH:MM (24h)
          duration: +data.duration, // minutes
          address: data.address,
          comment: data.comment,
          // Настройки уведомлений, можете переключать на лету:
          notify: { email: true, telegram: false, sms: false }
        })
      });
      const json = await res.json();
      if (json.ok) {
        out.textContent = "Готово! Мы прислали подтверждение на e-mail. Встреча добавлена в календарь.";
        form.reset();
      } else {
        out.textContent = "Ошибка: " + (json.error || "не удалось создать запись");
      }
    } catch(err) {
      out.textContent = "Сбой соединения. Попробуйте ещё раз.";
    } finally {
      btn.disabled = false; btn.textContent = "Записаться";
    }
  });

