Розробка сайту салону краси на 1С-Бітрікс

Наша компанія займається розробкою, підтримкою та обслуговуванням рішень на Бітрікс та Бітрікс24 будь-якої складності. Від простих односторінкових сайтів до складних інтернет-магазинів, CRM систем з інтеграцією 1С та телефонії. Досвід розробників підтверджено сертифікатами від вендора.
Послуги, які ми пропонуємо
Показано 1 з 1Усі 1626 послуг
Розробка сайту салону краси на 1С-Бітрікс
Складний
від 1 тижня до 3 місяців
Часті запитання

Наші компетенції:

Етапи розробки

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1357
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Розробка веб-сайту для компанії ФІКСПЕР
    943
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Розробка на базі Бітрікс, Бітрікс24, 1С для компанії Development of an Online
    693
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    829
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    731
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    1074

Розробка сайту салону краси на 1С-Бітрікс

Салон краси втрачає до 30% потенційних записів, якщо на сайті немає працюючого онлайн-запису. При середньому чеку 2000 грн і 100 заявках на місяць це 60 000 грн щомісячного втраченого доходу. Клієнти шукають послуги о 23:00, бачать красивий лендинг, але не можуть записатися — йдуть до конкурентів, у яких кнопка «Забронювати» працює. Наше рішення на 1С-Бітрікс виправляє це: каталог послуг з актуальними цінами, розрахунок вільних слотів у реальному часі, автоматичні нагадування. Досвід — понад 40 проєктів за 8 років.

Чому онлайн-запис збільшує виручку салону?

Конверсія сайту салону без онлайн-запису — 1-2%, з ним — 5-8%. Різниця — у 3-4 рази більше заявок. Система бронювання працює як ресепшн 24/7: клієнт сам обирає майстра та час, не чекає відповіді по телефону. У пікові години (вечір, вихідні) це вирішує проблему перевантажених адміністраторів. Статистика впроваджень показує зростання кількості записів на 40-60% за перші 3 місяці.

Каталог послуг: структура інфоблоків

Послуги організуються в інфоблоці з ієрархією розділів: «Перукарня», «Манікюр та педикюр», «Косметологія», «Масаж». Кожен розділ містить підрозділи — «Стрижки», «Фарбування», «Доглядові процедури». Для типового салону кількість послуг варіюється від 30 до 80.

Властивості елемента інфоблоку «Послуги»:

Властивість Тип Призначення
PRICE_FROM number Ціна «від» (залежить від майстра)
DURATION_MIN number Тривалість у хвилинах
MASTER_LINK E (множинне) Прив'язка до майстрів, що надають послугу
CATEGORY_TAGS string (множинне) Теги: «для наречених», «новинка»
CONTRAINDICATIONS HTML Протипоказання (для косметології)
PREPARATION HTML Підготовка до процедури

Ціна «від» — усвідомлене рішення. У салонах ціна залежить від категорії майстра (стажер, стиліст, топ-стиліст). Точна ціна розраховується після вибору майстра — для цього потрібна проміжна таблиця «майстер — послуга — ціна». Реалізується через Highload-блок MasterServicePrice з полями: UF_MASTER_ID, UF_SERVICE_ID, UF_PRICE. При виборі послуги на фронті підтягуються всі майстри з їхніми цінами через DataManager::getList().

Як організувати онлайн-запис без дублювання слотів?

Це ключовий функціонал сайту і найскладніший у реалізації. Клієнт очікує простий інтерфейс: вибрав послугу, вибрав майстра, побачив вільні вікна, натиснув «Записатися». За цією простотою — багаторівнева логіка розрахунку доступності.

Крок 1: вибір послуги. Клієнт обирає з каталогу. Система визначає тривалість (DURATION_MIN) і список майстрів, які надають цю послугу (MASTER_LINK).

Крок 2: вибір майстра або «будь-який вільний». Якщо клієнт обирає конкретного майстра — працюємо з його графіком. Якщо «будь-який» — перебираємо всіх майстрів послуги та показуємо об'єднаний набір слотів.

Крок 3: розрахунок вільних слотів. Тут починається інженерна частина.

Дані для розрахунку зберігаються в трьох Highload-блоках:

  • MasterSchedule — робочий графік майстра: UF_MASTER_ID, UF_DATE, UF_WORK_START, UF_WORK_END, UF_BREAK_START, UF_BREAK_END.
  • MasterBooking — існуючі записи: UF_MASTER_ID, UF_DATE, UF_TIME_START, UF_TIME_END, UF_CLIENT_ID, UF_SERVICE_ID, UF_STATUS.
  • MasterDayOff — відпустки, лікарняні, вихідні.

Алгоритм розрахунку вільних слотів для конкретного майстра на конкретну дату:

  1. Отримати робочий графік з MasterSchedule. Якщо запису немає або дата в MasterDayOff — майстер недоступний.
  2. Сформувати масив робочих хвилин: від UF_WORK_START до UF_WORK_END, виключаючи перерву.
  3. Отримати всі записи з MasterBooking зі статусом confirmed або pending.
  4. Відняти з робочих хвилин зайняті інтервали.
  5. У вільних інтервалах знайти вікна, тривалість яких >= DURATION_MIN послуги.
  6. Розбити ці вікна на слоти з кроком 15 або 30 хвилин (налаштовується).
Псевдокод розрахунку слотів
$freeIntervals = subtractIntervals($workIntervals, $bookedIntervals);
$slots = [];
foreach ($freeIntervals as $interval) {
    $start = $interval['start'];
    while ($start + $serviceDuration <= $interval['end']) {
        $slots[] = $start;
        $start += $stepMinutes;
    }
}

Буфер між записами. Між процедурами часто потрібна технічна перерва — 5-15 хвилин на прибирання кабінету або підготовку інструментів. Буфер додається до DURATION_MIN при розрахунку слотів, але не показується клієнту.

Конкурентний доступ. Два клієнти одночасно бачать один і той самий вільний слот. Перший натискає «Записатися» — слот блокується. Другий отримує повідомлення «час зайнятий, оберіть інший». Блокування реалізується через транзакцію: INSERT в MasterBooking + перевірка відсутності перетинів в одній транзакції.

Підтвердження запису. Після бронювання клієнт отримує SMS (модуль messageservice) та email. За добу до візиту — нагадування через агент Бітрікса. Якщо клієнт не підтверджує — запис переходить у статус unconfirmed, і адміністратор вирішує, чи звільнити слот.

Що робити, якщо YCLIENTS недоступний?

Більшість салонів уже використовують систему обліку. Дві найпоширеніші:

  • YCLIENTS. Хмарна платформа з REST API. Основні ендпоінти: /api/v1/book_record/ (створення запису), /api/v1/book_dates/ (доступні дати), /api/v1/book_times/ (доступні слоти). При інтеграції з YCLIENTS сайт Бітрікса не розраховує слоти самостійно — він запитує їх через API. Highload-блоки MasterSchedule та MasterBooking у цьому випадку не потрібні: YCLIENTS є master-системою. Мінус: залежність від стороннього API. Якщо YCLIENTS лежить — на сайті немає запису. Рішення — кешування останнього відомого розкладу та fallback на форму «залишити заявку».
  • 1С:Салон краси. Обмін через HTTP-сервіси 1С або файловий обмін (XML). Синхронізація майстрів, послуг, записів. Зазвичай працює із затримкою 5-15 хвилин — не real-time.

Портфоліо робіт майстрів

Інфоблок «Портфоліо» з прив'язкою до майстра та послуги. Ключові властивості:

  • PHOTO_BEFORE / PHOTO_AFTER — файлові властивості
  • MASTER_LINK — прив'язка до майстра
  • SERVICE_LINK — прив'язка до послуги
  • DESCRIPTION — що було зроблено

На сторінці майстра портфоліо фільтрується за MASTER_LINK. На сторінці послуги — за SERVICE_LINK. Фотографії до/після відображаються слайдером з роздільником — популярний патерн для б'юті-індустрії.

Важливо: фото портфоліо мають бути стиснені. Клієнти салонів частіше заходять з мобільних — 10 фото по 5 МБ кожне вб'ють конверсію. Бітрікс вміє ресайзити через CFile::ResizeImageGet(), але краще налаштувати WebP-конвертацію на рівні nginx або через обробник події OnFileSave.

Подарункові сертифікати та акції

Подарункові сертифікати реалізуються через модуль sale. Сертифікат — це товар у каталозі з номіналом. При покупці генерується унікальний код, який зберігається у властивостях замовлення (\Bitrix\Sale\OrderpropertyCollection). Код відправляється покупцю на email у вигляді PDF. При використанні сертифіката в салоні код вводиться при оформленні замовлення — спрацьовує знижковий купон модуля sale.discount. Баланс сертифіката зменшується на суму послуги.

Акції — простіше: окремий інфоблок з датою початку/закінчення, прив'язкою до послуг, текстом умов. Виводяться на головній та в каталозі через фільтр <=DATE_ACTIVE_FROM / >=DATE_ACTIVE_TO.

Програма лояльності

Бонусні бали можна реалізувати двома шляхами:

  • Через sale.discount. Модуль підтримує накопичувальні знижки та правила на основі суми покупок. Обмеження — немає гнучкого нарахування балів за конкретні дії (приведи друга, відгук, день народження).
  • Через кастомний модуль. Highload-блок LoyaltyBalance з полями UF_USER_ID, UF_POINTS, UF_HISTORY (серіалізований лог операцій). При кожній оплаті обробник OnSaleOrderPaid нараховує бали за формулою (зазвичай 3-10% від суми). При списанні — перевірка балансу та зменшення суми замовлення.

Терміни реалізації

Масштаб Склад Термін
Один салон, до 10 майстрів Каталог, запис (через YCLIENTS API), портфоліо, акції 6-8 тижнів
Салон із власною системою запису + розрахунок слотів у Бітріксі, SMS-нагадування, сертифікати 10-14 тижнів
Мережа салонів + мультисайтовість, єдина клієнтська база, лояльність, інтеграція з 1С 16-22 тижні

Що входить в роботу

У результаті ви отримуєте:

  • Працюючий сайт на 1С-Бітрікс з повним функціоналом (каталог, запис, портфоліо, сертифікати)
  • Інтеграцію з обраними зовнішніми системами (YCLIENTS, 1С)
  • Документацію з адміністрування сайту
  • Навчання співробітників (до 2 годин)
  • Доступ до вихідного коду та адмінки
  • Підтримку протягом 3 місяців після запуску

На що звернути увагу

Швидкість завантаження сторінки каталогу критична — клієнт порівнює кілька салонів і йде, якщо сторінка завантажується більше 2 секунд. Кешування компонентів Бітрікса ('CACHE_TIME' => 3600) обов'язкове для каталогу та портфоліо. Сторінку онлайн-запису кешувати не можна — дані про слоти мають бути актуальними.

Зв'яжіться з нами, щоб обговорити ваш проєкт. Ми оцінимо задачу і запропонуємо оптимальне рішення під ключ. Замовте розробку сайту салону краси на 1С-Бітрікс та отримайте конкурентну перевагу вже через 6-8 тижнів.

Як правильно проектувати інфоблоки?

Ми бачимо десятки проєктів, де неправильна структура інфоблоків перетворює сайт на гальмо. Типовий сценарій: замовник просить «каталог товарів». Розробник створює один інфоблок catalog, закидає туди 15 властивостей. Через півроку — 40 властивостей, 8 з яких використовуються лише для однієї категорії. Фільтр гальмує, таблиця b_iblock_element_property розрослася до мільйонів рядків, CIBlockElement::GetList виконується 3 секунди. Наслідки — падіння конверсії, втрата клієнтів, додаткові витрати на оптимізацію. В одному проєкті після рефакторингу каталогу час генерації сторінки знизився з 4,2 до 0,8 секунди, а вартість підтримки значно скоротилася — за рахунок усунення надлишкових запитів та агентів.

Наш підхід: проектуємо інфоблоки до першого рядка коду. Окремі інфоблоки під сутності (товари, категорії, бренди), властивості-довідники через HL-блоки, торгові пропозиції для SKU. Це закладає продуктивність на роки вперед. Якщо хочете отримати попередній аудит вашої схеми інфоблоків — зв'яжіться з нами, розберемо типові помилки та надамо рекомендації.

Чому 1С-Бітрікс вигідніший за альтернативи?

Вибір CMS диктується не уподобаннями, а бізнес-завданнями. Ось ключові аргументи:

  • Нативний обмін з 1С — модуль catalog.import.1c забезпечує двосторонній обмін товарами, цінами, залишками та замовленнями через CommerceML. Без сторонніх модулів. Це в 5 разів швидше, ніж розробка власного обміну на OpenCart або WordPress. Економія на інтеграції — до 200 000 грн порівняно з кастомними рішеннями.
  • Проактивний захист — модуль security включає WAF, контроль цілісності файлів, захист від SQL-ін'єкцій, двофакторну автентифікацію. Для проєктів з вимогами ФСТЭК — сертифіковане рішення (згідно з Wikipedia, це стандарт для корпоративних систем).
  • Модульна архітектура — підключаємо лише потрібні модулі: iblock, catalog, sale, search. Менше модулів — менше запитів до БД на кожен хіт.
  • Регулярні патчі — вендор випускає security-патчі, закриваючи вразливості швидше, ніж open-source проєкти (середній час виправлення CVE — 2 тижні). Офіційна документація по модулях доступна на сайті розробника.

Що дають HL-блоки і як ми прискорюємо каталог

Highload-блоки — це альтернатива розширеним властивостям інфоблоків, коли список значень може зростати до тисяч записів. Типовий приклад: виробники, країни, кольори. Якщо зберігати їх як властивості-списки в інфоблоці, кожна фільтрація викликає повне сканування таблиці b_iblock_property_enum. З HL-блоками вибірка йде по індексу — час відповіді фільтра знижується з 1–2 секунд до 50 мс. Продуктивність HL-блоків у 8 разів вища за властивості-списки інфоблоків. Ми використовуємо HLB компонент і кастомні запити через Bitrix\Highloadblock\DataManager. Це особливо критично для каталогів з 100 000+ товарами.

З нашої практики — проєкт інтернет-магазину з 500 000 товарів. Стандартний фільтр по бренду виконувався 4 секунди. Сервер не витримував навантаження в 50 одночасних запитів — сторінки падали. Ми перевели довідник брендів у HL-блок, додали теговане кешування на 15 хвилин і налаштували агент для скидання кешу при зміні. Після доопрацювання час фільтрації склав 120 мс, середній LCP сторінки — 1,8 секунди. Проєкт працює стабільно без збоїв.

Що входить у розробку сайту на 1С-Бітрікс

Кожен проєкт включає повний комплект документації та артефактів, що виключає втрату знань після передачі.

  • Технічне завдання — user stories, діаграми інфоблоків, схеми інтеграцій.
  • Вихідний код у Git — з історією комітів, тегами релізів, правилами гілкування.
  • Адміністративна документація — опис кастомних компонентів, інструкції з розгортання, перелік агентів і подій.
  • Навчання співробітників — до 3 годин вебінару: панель управління, робота з замовленнями, налаштування цін. Записуємо, щоб можна було переглянути.
  • Доступ до staging на час розробки — тестуєте самостійно до деплою на продуктив.
  • Гарантійна підтримка — виправлення помилок коду протягом 30 днів після запуску. Післягарантійні абонентські пакети з SLA (реакція 2 години, рішення 8 годин).

Наш процес і технології

Тип проєкту Терміни Складність Ключові особливості
Корпоративний сайт від 1 місяця Середня Каталог, новини, форми, CRM-інтеграція
Інтернет-магазин від 2 місяців Висока 54-ФЗ, маркетплейси, обмін з 1С, SKU
B2B-портал від 3 місяців Дуже висока Персональні ціни, документообіг, Bizproc
Лендінг від 2 тижнів Низька LCP < 2с, композитний кеш, статика
Багатосайтова структура від 1,5 місяців Висока Роздільний контент, спільний каталог, hreflang

Стек: верстка mobile-first, тестуємо на фізичних пристроях (iPhone, iPad, Android). Використовуємо BrowserStack для Safari на iOS. Продуктивність — LCP < 2,5 с, FID < 100 мс, CLS < 0,1. Включаємо композитний сайт (composite), CDN, теговане кешування, WebP/AVIF, lazy loading. SEO — Schema.org через JSON-LD, автогенерація sitemap.xml модулем seo, canonical і hreflang для мультимовних версій. robots.txt закриваємо /bitrix/ від індексації. CI/CD — Git, автодеплой через GitLab CI, staging. Міграції бази — модуль sprint.migration з версіонуванням.

Процес роботи:

  1. Аналітика — вивчаємо конкурентів, збираємо вимоги, малюємо прототипи в Figma. На виході — ТЗ з user stories.
  2. Дизайн — UI/UX з дизайн-системою. Компоненти перевикористовуються.
  3. Розробка — пишемо компоненти з кастомними шаблонами в local/templates/. Бізнес-логіку виносимо в модулі local/modules/.
  4. Тестування — функціональне, кросбраузерне, навантажувальне (до 1000 запитів). Критичні баги виправляємо до запуску.
  5. Запуск — деплой на прод, моніторинг через UptimeRobot, алерти в Telegram. Усуваємо перші 48 годин.

Інтеграції, мультимовність і редизайн

Напрямок Сервіси
CRM та аналітика Бітрікс24 (нативна), amoCRM, Roistat, Calltouch, Mindbox
Платежі ЮKassa, CloudPayments, Тінькофф, Apple Pay, Google Pay
Фіскалізація 54-ФЗ АТОЛ, OrangeData — налаштування через sale.cashbox
Логістика СДЕК, Boxberry, ПЕК, Укрпошта, Яндекс.Доставка
Комунікації JivoSite, Carrot Quest, SendPulse
  • Повна локалізація через мовні файли lang/ і механізм SITE_ID. hreflang для кожної версії. Регіональні версії з різними цінами та контентом — визначення за IP (main.geo) або ручний вибір. Мультидоменність — єдине управління кількома доменами.

  • Редизайн без втрати позицій: аудит продуктивності (PageSpeed, WebPageTest), SEO (Screaming Frog). Новий шаблон у local/templates/ із збереженням URL-структури. 301-редиректи лише якщо URL змінюється суттєво. Оновлення ядра, перехід на D7 ORM, реструктуризація інфоблоків, міграція через sprint.migration з Git.

Типові помилки при проектуванні інфоблоків
  • Один інфоблок на всі сутності замість окремих під товари, категорії, бренди.
  • Використання властивостей-списків замість HL-блоків для довідників з великою кількістю записів.
  • Відсутність індексів на полях, що використовуються у фільтрації каталогу.
  • Нехтування тегованим кешуванням — призводить до скидання всього кешу при зміні одного елемента.

Гарантія та підтримка

Ми працюємо з 1С-Бітрікс 12+ років, реалізували 500+ проєктів. У штаті сертифіковані розробники. Фіксована вартість у договорі — без сюрпризів. Гарантійний період покриває помилки коду. Після — абонентські пакети з SLA (час реакції — 2 години, рішення — 8 годин). Моніторинг доступності 24/7, алерти в Telegram. За потреби отримайте попередній аудит — зв'яжіться з нами через форму на сайті або напишіть у чат, відповімо протягом години. Замовте розробку під ключ — ми спроєктуємо інфоблоки, інтегруємо 1С і розженимо каталог. Якщо вже є сайт на іншій CMS — замовте аудит продуктивності та міграцію на Бітрікс.