При спробі впровадити онлайн-запис на типовому шаблоні барбершопу виявляється проблема: прямі AJAX-запити до YCLIENTS з браузера призводять до витоку API-ключа та CORS-помилок. Клієнти не можуть записатися, падає конверсія. Замість цього ми проксуємо всі запити через контролер Бітрікс — приховуємо ключі, кешуємо відповіді та синхронізуємося через вебхуки.
Типовий проєкт включає каталог послуг з майстрами, онлайн-запис через YCLIENTS або Dikidi, мерч-магазин та блог. За 30–45 робочих днів отримуєте готовий до прийому клієнтів ресурс. Всі сторінки завантажуються в середньому за 0.8 секунди завдяки композитному кешу.
Чому онлайн-запис потребує проксі-сервера?
Без проксі API-ключ YCLIENTS видно в браузері — будь-хто може зробити запит від вашого імені. Ми реалізуємо серверне проксі: браузер надсилає запит на /api/yclients/..., контролер Бітрікс підставляє ключ із конфігу, викликає CURL до YCLIENTS і повертає результат. Відповідь кешується в CPHPCache — список дат на 5 хвилин, слоти на 2 хвилини. Це знімає навантаження з YCLIENTS і прискорює відгук.
Каталог послуг та майстри
Інфоблок «Послуги» містить елементи: чоловіча стрижка, моделювання бороди, королівське гоління, комплекс «стрижка + борода», камуфляж сивини, дитяча стрижка. Властивості кожного елемента: тривалість (хвилини), категорія (базові / преміум), опис процесу, фото результату.
Інфоблок «Майстри» — ключовий для барбершопу. Властивості:
- Фото — обов'язково професійне, обробляється ресайзом при завантаженні через
CIBlock::ResizeImageGet - Спеціалізація — прив'язка до елементів інфоблоку послуг (множинна властивість типу
E) - Стаж — числове
- Портфоліо — множинна властивість «Файл» (фото робіт до/після)
- Рейтинг — числове, оновлюється агентом на основі відгуків
- Графік — прив'язка до HL-блоку розкладу
- Зовнішній ID — ідентифікатор майстра в YCLIENTS / Dikidi (рядок)
На детальній сторінці майстра виводиться галерея портфоліо з бігунком порівняння (два <img> у контейнері з overflow: hidden та input[type=range]). Під галереєю — відгуки, прив'язані до майстра.
Як захищено від подвійного запису?
При бронюванні через власний HL-блок розкладу агент генерує слоти на місяць вперед. Транзакційне блокування START TRANSACTION + SELECT ... FOR UPDATE запобігає подвійному запису: якщо два клієнти одночасно обирають один слот, лише перший підтверджує; другий отримує помилку. При інтеграції з YCLIENTS вебхуки оновлюють кеш слота в момент створення запису через адмінку — сайт бачить актуальний розклад.
Мерч-магазин: засоби для догляду
Розділ магазину будується на стандартній зв'язці catalog + sale. Товари — помади для волосся, олії для бороди, шампуні, бальзами, аксесуари. Торговий каталог з SKU: один товар «Олія для бороди Brand X» має пропозиції за об'ємом (30 мл / 50 мл / 100 мл).
Особливості реалізації:
- Рекомендації майстра — на детальній сторінці майстра виводиться блок «Рекомендує» з прив'язкою до товарів каталогу
- Покупка при записі — в процесі онлайн-запису пропонується додати товар у кошик через компонент перехресних продажів
- Самовивіз з барбершопу — служба доставки
sale.deliveryз типом «самовивіз», клієнт забирає замовлення при наступному візиті
Оплата — онлайн через sale.paysystem або при отриманні.
Блог про чоловічий стиль
Розділ на інфоблоці з розділами: стрижки (тренди, підбір за типом обличчя), борода (догляд, стилі), стиль (одяг, аксесуари). Автор статті прив'язаний до інфоблоку майстрів — це працює на персональний бренд та внутрішню перелінковку. ЧПУ за шаблоном /blog/розділ/назва-статті/. XML-карта сайту генерується модулем SEO Бітрікс.
Що входить у розробку під ключ?
| Етап | Результат | Тривалість |
|---|---|---|
| Аналітика та проєктування | Прототипи, ТЗ, вибір інтеграцій | 3–5 днів |
| Дизайн (адаптивний) | Макети mobile-first, UI-кіт | 5–7 днів |
| Розробка бекенду | Інфоблоки, інтеграції, REST-проксі | 10–15 днів |
| Фронтенд та кешування | Компоненти, композитний кеш | 5–7 днів |
| Тестування та деплой | QA, навантажувальне тестування, налаштування сервера | 3–5 днів |
По завершенні ви отримуєте повний комплект: вихідний код з коментарями, документацію по інтеграціях, інструкцію для адміністратора, доступи до всіх підсистем та 3 місяці гарантійної підтримки.
Чому 1С-Бітрікс вигідніше за самописну CMS?
1С-Бітрікс дає готові модулі для каталогів, замовлень та кешування. Згідно з документацією dev.1c-bitrix.ru, теговане кешування дозволяє скидати лише змінені розділи — це прискорює оновлення контенту без повної інвалідації. На відміну від самописних рішень, не потрібно проєктувати адмінку та права доступу — все вже в ядрі. Система управління контентом дозволяє менеджеру додавати послуги та товари без програміста.
Порівняння з альтернативами:
| Параметр | 1С-Бітрікс | WordPress + плагіни | Самописна CMS |
|---|---|---|---|
| Вбудований кеш | Тегований кеш, композит | Тільки плагіни | Потрібно писати |
| Підтримка HL-блоків | З коробки | Немає | Потрібно писати |
| REST API | Власний REST, сумісність з CRM | Через костилі | Повний контроль |
| Оновлення безпеки | Автоматичні | Залежить від плагінів | Ручні |
Наша команда спеціалізується на 1С-Бітрікс більше 5 років і реалізувала 20+ проєктів для сфери послуг. Композитне кешування знижує час завантаження сторінок до 0.8 секунди — це в 3 рази швидше, ніж на самописній CMS без кешу.
Типові помилки при розробці
- Використання готового шаблону без адаптації під запис — втрачаєте до 30% конверсії.
- Прямі AJAX-запити до YCLIENTS з API-ключем — ризик витоку даних.
- Відсутність композитного кешу для сторінок майстрів — падіння швидкості на мобільних.
- Ігнорування вебхуків для зворотної синхронізації — слоти не оновлюються.
Технічна база
- Адаптивність — mobile-first, запис на мобільному займає 3 тапи: майстер → послуга → час
- Композитний кеш — для каталогу послуг, сторінок майстрів, блогу. Магазин та розклад — без кешу, AJAX
- Сповіщення — SMS-нагадування за 2 години до візиту через
messageservice, push за наявності PWA-обгортки
Оцінимо ваш проєкт за один день. Зв'яжіться з нами для консультації — підберемо оптимальне рішення під завдання вашого барбершопу. Отримайте комерційну пропозицію з детальним описом етапів та бюджету.







