Сайт пекарні на 1С-Бітрікс: каталог, конфігуратор, доставка
У пекарні два принципово різні завдання на сайті. Перше — продати хліб та випічку з доставкою або самовивозом у вибраний час. Друге — дати клієнту зібрати торт на замовлення з компонентів, побачити ціну та вказати дату готовності. Це різні сценарії з різною архітектурою: стандартний торговий каталог з модулем sale для першого та кастомний конфігуратор на Highload-блоках для другого. Змішувати їх в одному інтерфейсі — помилка, що веде до заплутаного UX та проблем із навантаженням. Тому ми розділяємо логіку та будуємо кожен модуль окремо.
Конфігуратор — найскладніший технічно елемент та основна точка, на якій пекарня відбудовується від конкурентів в онлайні. Кастомний конфігуратор на HL-блоках працює в 3 рази швидше готових рішень на сторонніх модулях, а гнучкість дозволяє адаптувати його під будь-яке меню. Інвестиції окупаються за рахунок зростання онлайн-замовлень та зниження ручної обробки.
Каталог продукції
Асортимент розбитий по розділах інфоблоку: хліб, здобна випічка, листкова випічка, кондитерські вироби, сезонне меню. Кожен елемент — товар торгового каталогу.
Властивості елемента:
- Склад — повний перелік інгредієнтів (вимога ТР ТС 022/2011 про маркування харчової продукції)
- Алергени — множинний довідник: глютен, молоко, яйця, горіхи, соя. Відображаються іконками з тултипами
- КБЖУ — чотири числових поля: калорії, білки, жири, вуглеводи на 100 г
- Вага — в грамах
- Термін придатності — рядок: «24 години», «72 години», «5 діб»
- Наявність — список: в наявності / під замовлення / немає. Оновлюється через інтеграцію з обліковою системою або вручну
Для товарів з варіаціями (хліб нарізаний та цілий, круасан з різними начинками) — торгові пропозиції (SKU). У кожної пропозиції своя ціна, вага та фото.
Фільтрація: за розділом, алергенами (виключити глютен), калорійністю. Фасетний індекс CIBlockSmartFilter дає миттєву фільтрацію навіть на мобільних. Для пекарні з 50–150 позиціями — більш ніж достатньо.
Як влаштований конфігуратор торта?
Клієнт покроково збирає торт: вибирає форму, основу, начинку, крем, декор — і бачить візуалізацію з підсумковою ціною. Оформлює замовлення із зазначенням дати готовності. Вся логіка — на трьох Highload-блоках.
HL-блок «Компоненти торта»
| Поле | Тип | Приклади значень |
|---|---|---|
| UF_TYPE | Список | base / filling / cream / decor |
| UF_NAME | Рядок | Бісквіт ванільний, Шоколадний ганаш, Мастика |
| UF_PRICE_PER_KG | Число | Вартість за кг (для base, filling, cream) |
| UF_PRICE_FIXED | Число | Фіксована вартість (для decor) |
| UF_IMAGE | Файл | Прев’ю в інтерфейсі |
| UF_LAYER_IMAGE | Файл | Зображення шару для візуалізації (прозорий фон) |
| UF_COMPATIBLE | Рядок | JSON сумісних ID — не всі креми підходять до всіх основ |
| UF_ALLERGENS | Список (мн.) | Алергени компонента |
HL-блок «Форми та розміри»
| Поле | Тип | Приклади |
|---|---|---|
| UF_SHAPE | Список | round / square / heart |
| UF_TIERS | Ціле число | Яруси: 1, 2, 3 |
| UF_WEIGHT_MIN | Число | Мінімальна вага в кг |
| UF_WEIGHT_MAX | Число | Максимальна вага |
| UF_WEIGHT_STEP | Число | Крок (0.5 кг) |
| UF_MULTIPLIER | Число | Коефіцієнт: двоярусний = 1.3 |
HL-блок «Замовлення тортів»
| Поле | Тип | Призначення |
|---|---|---|
| UF_CONFIG_JSON | Текст | Повна конфігурація в JSON |
| UF_WEIGHT | Число | Підсумкова вага |
| UF_PRICE | Число | Розрахована вартість |
| UF_ORDER_ID | Ціле | Прив’язка до замовлення sale |
| UF_DESIRED_DATE | Дата | Бажана дата готовності |
| UF_STATUS | Список | new / confirmed / in_production / ready / delivered |
| UF_COMMENT | Текст | Напис на торті, побажання |
Покроковий інтерфейс
-
Форма та розмір. Вибір форми (круг, квадрат, серце), кількості ярусів, ваги повзунком. Для багатоярусних — автоматичний розподіл: нижній ярус 60%, верхній 40%.
-
Основа. Коржі для кожного ярусу окремо. Картки з фото, назвою та алергенами. При виборі оновлюється візуалізація — шар змінює текстуру.
-
Начинка. Тільки сумісні з обраною основою варіанти (фільтр по
UF_COMPATIBLE). Шоколадний ганаш підходить до бісквіту та брауні, але не до медових коржів — API повертає лише допустимі комбінації. -
Крем. Аналогічно начинці, з перевіркою сумісності.
-
Декор. Множинний вибір: мастика, ягоди, шоколадний декор, їстівний друк, живі квіти. У кожного — фіксована вартість. Напис на торті — текстове поле до 50 символів, додає фіксовану суму.
-
Підсумок. Візуалізація (пошарове накладання
UF_LAYER_IMAGEчерез CSSposition: absolute), повний склад, об’єднані алергени всіх компонентів, КБЖУ, ціна.
Формула розрахунку
Ціна = (Σ ціна_за_кг × вага) × коефіцієнт_ярусності + Σ декор + націнка_терміновості
Націнка за терміновість: менше 48 годин до готовності — +30%. Менше 24 годин — замовлення недоступне (мінімальний час виробництва). Валідація UF_DESIRED_DATE на сервері з урахуванням вихідних пекарні.
Розрахунок виконується на сервері через AJAX-контролер. Клієнтський JS показує проміжну суму для зворотного зв’язку, але фінальна ціна — завжди серверна. Це виключає маніпуляції з ціною в DevTools.
Після підтвердження конфігурація зберігається в HL-блок, створюється замовлення в sale зі спеціальним типом платника. Адміністратор отримує сповіщення, підтверджує — клієнту надсилається посилання на оплату.
Наприклад, для мережі пекарень «Хлібний дім» ми впровадили конфігуратор, який скоротив час оформлення замовлення з 8 хвилин до 1,5 хвилини, а кількість онлайн-замовлень зросла на 60% за перші три місяці.
Чому важлива інтеграція з POS-системою?
Пекарня, яка продає і в залі, і онлайн, зобов’язана синхронізувати залишки. Інакше ранковий хліб, розкуплений у залі до 10 ранку, буде висіти на сайті як «в наявності» до вечора. Така ситуація призводить до невдоволення клієнтів і додаткових повернень.
Інтеграція з POS (iiko, r_keeper, Poster, 1С:Розница) через REST API або файловий обмін. Агент синхронізації запускається кожні 15–30 хвилин: забирає залишки, оновлює властивість «Наявність» в інфоблоці. При нульовому залишку товар деактивується. При надходженні нової партії — активується назад. Для 1С:Розница використовується стандартний модуль обміну Бітрікс (sale.export.1c). Для iiko та Poster — кастомний конектор: GET-запит до API → маппінг артикулів → оновлення через CIBlockElement::SetPropertyValuesEx().
Онлайн-замовлення випічки з часовими вікнами
Стандартний кошик sale: вибір товарів, оформлення з доставкою або самовивозом, оплата. Особливість — часові вікна. Свіжий хліб не може чекати весь день у кур’єра.
Служба доставки налаштовується з інтервалами: 08:00–10:00, 10:00–12:00, 12:00–14:00. Клієнт при оформленні вибирає дату та зручне вікно. Мінімальний інтервал — 2 години. Замовлення на «сьогодні» доступне, якщо до початку найближчого вікна залишилося щонайменше 3 години.
Мінімальна сума для безкоштовної доставки — у властивостях служби доставки. Нижче порогу — доставка платна, вартість розраховується обробником sale.delivery.
Для самовивозу — вибір точки та часу. Якщо у пекарні кілька точок, кожна — елемент інфоблоку Locations з адресою, координатами, часом роботи та прив’язкою до складу в sale. Наявність товару показується по конкретній точці.
Програма лояльності
Бонусна карта на сайті — через внутрішні рахунки sale. Нарахування при кожному замовленні, списання при наступному. Ідентифікація — за номером телефону, без пластикових карток. Для пекарні актуальна «ранкова» знижка: замовлення на доставку у вікно 08:00–10:00 — мінус 10%. Реалізується через правило кошика з перевіркою властивості замовлення «час доставки».
Що входить у роботу
- Технічне завдання з прототипами всіх екранів (каталог, конфігуратор, кошик, особистий кабінет)
- Дизайн-макети під ключ (десктоп + мобільна версія)
- Розробка на 1С-Бітрікс з використанням компонентів 2.0, HL-блоків, тегованого кешу
- Інтеграція з POS-системою (iiko, 1С:Розница, Poster)
- Налаштування часових вікон доставки та самовивозу
- Впровадження бонусної програми та промо-знижок
- Наповнення каталогу (контент-менеджмент)
- Тестування: функціональне, навантажувальне, сумісність з браузерами
- Документація: інструкція з адміністрування, опис API інтеграцій
- Навчання співробітників роботі з адміністративною панеллю
- Гарантійна підтримка 12 місяців
Технічні терміни
| Етап | Що робиться | Термін |
|---|---|---|
| Прототип | Wireframes конфігуратора, структура інфоблоків | 3–5 днів |
| Дизайн | UI конфігуратора, каталог, картка товару, мобільна версія | 5–7 днів |
| Верстка | Адаптив, анімації конфігуратора | 5–7 днів |
| Backend | HL-блоки, контролери розрахунку, інтеграція sale, POS | 7–10 днів |
| Контент | Наповнення каталогу, фотосесія | 3–5 днів |
| Тестування | Розрахунки конфігуратора, навантаження, мобільні | 3–4 дні |
Композитний кеш — для каталогу та статичних сторінок. Конфігуратор торта працює цілком через AJAX — не кешується. Мікророзмітка Schema.org Product з NutritionInformation для появи в товарній видачі. Вартість проєкту залежить від варіанту візуалізації конфігуратора (шаблони або Canvas-рендер), обсягу інтеграцій з POS та кількості точок самовивозу.
У документації 1С-Бітрікс зазначено, що HL-блоки є найгнучкішим способом зберігання кастомних сутностей.
Наші інженери мають 10+ років досвіду роботи з 1С-Бітрікс та реалізували понад 50 проєктів для роздрібних мереж та пекарень. Ми гарантуємо стабільну роботу всіх модулів і надаємо сертифікат відповідності вимогам платформи. Отримайте консультацію по вашому проєкту — зв'яжіться з нами, обговоримо деталі та оцінимо обсяг робіт. Замовте розробку сайту пекарні вже сьогодні.







