Розробка сайту доставки їжі на 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
    Розробка веб-сайту для компанії ФІКСПЕР
    946
  • 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С Підприємство для компанії МИРСАНБЕЛ
    830
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    732
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    1075

За 10 років ми розробили понад 15 проєктів доставки їжі на Бітрікс. Типовий сценарій: ресторан запускає доставку, через місяць виявляє, що 30% замовлень втрачаються через неправильний розрахунок зон доставки, а кожне десяте замовлення дублюється при передачі в iiko. Ми вирішуємо це кастомними обробниками на подіях платформи, не зачіпаючи ядро. Результат — зниження помилок на 70% і зростання середнього чека на 15% за рахунок персоналізації.

Один із проєктів — мережа піцерій із 8 філіями. До інтеграції менеджери вручну переносили замовлення з адмінки в R-Keeper, на обробку йшло до 5 хвилин на замовлення. Після автоматизації через REST API iiko час скоротився до 10 секунд, а помилки введення зникли.

Каталог меню: торговий каталог із модифікаторами

Каталог будується на торговому каталозі Бітрікс. Кожна страва — елемент інфоблоку з прив'язаним торговим каталогом. Категорії (піца, суші, бургери, напої, десерти) — розділи інфоблоку.

Властивості елемента: склад (текст), вага (грами), калорійність / БЖУ (числові), час приготування (хвилини, використовується при розрахунку часу доставки), мітки (множинний список: гостре, вегетаріанське, новинка, хіт), фотографія (обов'язкова файлова властивість).

Модифікатори через торгові пропозиції (SKU). Піца 25 см і 35 см — два SKU з різною ціною та вагою. Додатки (подвійний сир, бекон, гриби) — реалізуються через властивості торгових пропозицій типу «список» з націнкою. При виборі додатка JS-компонент на фронті перераховує підсумкову вартість.

Альтернативний підхід для масових модифікаторів (соуси до кожної страви) — окремий інфоблок «Додатки» зі зв'язком «багато до багатьох» через властивість прив'язки. На фронті при додаванні страви в кошик з'являється попап вибору додатків.

Як працюють модифікатори страв?

Кожна страва може мати кілька модифікаторів: розмір, соус, додаткові інгредієнти. Це реалізується через торгові пропозиції (SKU) з націнкою або окремий інфоблок для масових модифікаторів. На фронті при виборі додатків JS-компонент перераховує підсумок, а на бекенді модифікатори передаються в кухонну систему. Правильна структура модифікаторів — запорука коректного відображення в iiko та відсутності помилок при передачі замовлення.

Промокоди та програма лояльності

Промокоди — штатний механізм модуля sale. Типи знижок: фіксована сума при замовленні від N гривень, відсоток на все замовлення або категорію, безкоштовна доставка, подарунок при замовленні (додавання товару з нульовою вартістю).

Програма лояльності — накопичувальна. Внутрішній рахунок користувача (модуль sale, розділ «Рахунки покупців»): нарахування бонусів у відсотках від замовлення, списання при наступному замовленні. Правила нарахування налаштовуються через бізнес-логіку модуля без кастомної розробки.

Push-сповіщення про статус замовлення

При зміні статусу замовлення (прийнято → готується → в дорозі → доставлено) клієнт отримує сповіщення. Канали:

  • SMS — через messageservice з підключеним провайдером (SMS.ru, SMSC)
  • Email — шаблони поштових подій модуля sale
  • Push у браузер — через Web Push API (Service Worker + VAPID-ключі)

Push-сповіщення реалізуються кастомним обробником події OnSaleStatusOrder. При зміні статусу обробник перевіряє підписку користувача та надсилає push через Web Push протокол. Підписка запитується при першому замовленні.

Кошик із зонами доставки

Кошик доставки їжі відрізняється від звичайного інтернет-магазину. Ключові особливості:

Зони доставки за геолокацією

Місто ділиться на зони, кожна зі своїми параметрами:

Параметр Зона 1 (центр) Зона 2 (спальні райони) Зона 3 (передмістя)
Радіус до 3 км 3–7 км 7–15 км
Мінімальна сума замовлення 500 грн 800 грн 1 200 грн
Вартість доставки безкоштовно 150 грн 300 грн
Час доставки 30–45 хв 45–60 хв 60–90 хв

Зони зберігаються в highload-блоці з полігонами координат (GeoJSON). При оформленні замовлення клієнт вводить адресу, JavaScript надсилає запит у Яндекс.Геокодер (або DaData), отримує координати та визначає зону через point-in-polygon. Результат кешується за адресою.

Чому важлива подвійна перевірка мінімальної суми замовлення?

Мінімальна сума замовлення перевіряється у двох місцях: на фронті (JS блокує кнопку оформлення) і на бекенді (обробник OnSaleBeforeOrderAdd повертає помилку). Подвійна перевірка виключає обхід через прямий POST-запит.

Часові слоти

Клієнт обирає «якнайшвидше» або конкретний слот (12:00–12:30, 12:30–13:00). Доступні слоти генеруються динамічно: поточний час + час приготування найдовшої страви в кошику + час доставки по зоні. Слоти в минулому та перевантажені (ліміт замовлень на слот) — недоступні.

Як інтегрувати доставку з кухонною системою?

Передача замовлення в iiko або R-Keeper — обов'язкова інтеграція для автоматизації. Без неї менеджер вручну переносить замовлення з сайту в касову систему, втрачаючи час і допускаючи помилки. REST API iiko працює в 3 рази швидше, ніж застарілий XML-протокол R-Keeper.

Схема взаємодії з iiko:

  1. Замовлення оформлене на сайті → подія OnSaleOrderAdd
  2. Обробник формує JSON-запит до iiko Transport API (/api/1/deliveries/create)
  3. У запиті: позиції з SKU з довідника iiko (мапінг через властивість інфоблоку «ID в iiko»), адреса, телефон, коментар, час доставки
  4. iiko повертає ID замовлення, який зберігається у властивість замовлення Бітрікс
  5. Cron-агент раз на 2 хвилини опитує iiko за статусом замовлень (/api/1/deliveries/by_id)
  6. При зміні статусу (готується → готовий → в дорозі) — оновлюється статус замовлення в sale, спрацьовують сповіщення

Мапінг номенклатури — критичний етап. Кожній страві на сайті відповідає позиція в iiko. Зв'язок через властивість інфоблоку «Зовнішній ID». При додаванні нової страви адміністратор зобов'язаний заповнити це поле — без нього замовлення не передасться. Валідація при збереженні елемента через обробник OnBeforeIBlockElementUpdate. Згідно з документацією 1С-Бітрікс, модуль sale підтримує кастомні обробники доставки (CDeliveryHandler). Докладніше про CommerceML.

Структура модифікаторів iiko для передачі

Модифікатори передаються як вкладені об'єкти в JSON. Структура модифікаторів iiko та сайту повинна збігатися — мапінг налаштовується при інтеграції та фіксується в документації.

Обробка помилок: якщо iiko недоступна — замовлення зберігається в Бітрікс зі статусом «Очікує передачі на кухню». Cron-агент повторює спробу кожні 5 хвилин. Менеджер бачить такі замовлення в окремому фільтрі адміністративної панелі та може передати вручну.

R-Keeper працює аналогічно, але через XML-протокол (R-Keeper XML API) або проміжний сервіс (UCS Delivery). Принцип той самий: мапінг, передача, опитування статусів.

Приклад передачі замовлення в iiko:

{
  "organization": "{organization_id}",
  "order": {
    "phone": "{client_phone}",
    "items": [
      {
        "productId": "{iiko_product_id}",
        "name": "Піца 25 см",
        "amount": 2,
        "modifiers": [
          {
            "productId": "{iiko_modifier_id}",
            "name": "Подвійний сир",
            "amount": 1
          }
        ]
      }
    ]
  }
}

Зв'яжіться з нами, щоб обговорити інтеграцію з вашою кухонною системою.

Відстеження кур'єра

Базова реалізація — статуси замовлення без карти. Розширена — відображення кур'єра на карті.

Для розширеної версії: кур'єр використовує мобільний додаток (власний або сторонній — Яндекс.Маршрутизація, Bringo), який передає координати. Сайт отримує координати через API кур'єрської служби та відображає на Яндекс.Карті в особистому кабінеті клієнта. Оновлення — за запитом (кнопка «Оновити») або автоматично через polling кожні 30 секунд.

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

Етап Зміст Строк
Аналітика Зони доставки, мапінг номенклатури iiko/R-Keeper, бізнес-логіка кошика 2 тижні
Прототипування UX кошика, оформлення замовлення, мобільна версія 1 тиждень
Дизайн Макети каталогу, кошика, особистого кабінету 2 тижні
Фронтенд Каталог із модифікаторами, кошик, визначення зони, слоти 3 тижні
Бекенд Торговий каталог, обробник доставки, інтеграція iiko/R-Keeper 3 тижні
Тестування Наскрізний тест замовлення (сайт → кухня → кур'єр → клієнт), навантаження 1.5 тижні
Запуск Деплой, моніторинг інтеграцій, навчання операторів 3 дні

Разом: 12–14 тижнів. Основний ризик за строками — інтеграція з кухонною системою: залежить від документації та стабільності API на стороні iiko/R-Keeper.

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

  • Повна документація з інтеграції з iiko/R-Keeper, мапінгу номенклатури та зонам доставки
  • Доступи до адміністративної панелі та репозиторію коду
  • Навчання операторів роботі з системою та обробці помилок
  • Гарантійна підтримка 3 місяці після запуску (виправлення помилок, консультації)
  • Вихідний код із коментарями та інструкцією по деплою

Отримайте консультацію по вашому проєкту доставки. Замовте розробку сайту на 1С-Бітрікс під ключ.

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

Ми бачимо десятки проєктів, де неправильна структура інфоблоків перетворює сайт на гальмо. Типовий сценарій: замовник просить «каталог товарів». Розробник створює один інфоблок 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 — замовте аудит продуктивності та міграцію на Бітрікс.