• Інтернет-магазини · OpenCart 4.x

Інтернет-магазин квітів: доставка на дату й годину

Розробка інтернет-магазину квітів — це насамперед логістика, заведена в дані, і вже потім каталог: букет має приїхати в конкретний день і в конкретний інтервал, інакше замовлення втрачає сенс. Тому каркас будуємо навколо календаря доставки, зон по місту й правила заміни сезонної позиції, а не навколо кількості карток. Каталог у ніші маленький — у виміряних нами магазинах такого масштабу це від 76 до 300 позицій. Дві крамниці з однаковим асортиментом розходяться в обсязі робіт удвічі, і розводять їх зони, слоти й межа часу прийому на сьогодні.
Подивитись, як це працює
Вартість
після безкоштовного аудиту
Гарантія
30 днів після підписання акта
Строк
20–40 робочих днів від затвердження ТЗ
Вартість
після безкоштовного аудиту
Гарантія
30
днів після підписання акта
Строк
20–40
робочих днів від затвердження ТЗ
Каталог у ніші
76–300
позицій у виміряних магазинах такого масштабу
Що задає обсяг робіт
зони, інтервали й межа часу прийому на сьогодні, а не кількість карток
Перша відповідь сервера
від 126,3 до 1 544,5 мс серед 24 виміряних магазинів на OpenCart
Умови
передоплата 50%, два раунди правок на дизайні, гарантія 30 днів
Ціна
після безкоштовного аудиту, кошторисом по етапах
Що входить

Повний перелік робіт і того, що ви отримуєте на виході

  • Каталог за приводом і типом букета з фільтром за квіткою, кольором і ціновим діапазоном
  • Картка зі складом букета поштучно, розміром і попередженням про допустиму заміну сезонної позиції
  • Календар доставки з інтервалами по годинах: минулі слоти гасяться самі, у кожного своя межа прийому
  • Зони доставки з окремою вартістю й окремим правилом для доставки в день замовлення
  • Отримувач окремо від замовника: інше ім'я, інший телефон, режим анонімної доставки
  • Текст листівки окремим полем з обмеженням по символах — доїжджає до флориста як написаний
  • Додатки — листівка, ваза, солодощі, кулька — допродажем у кошику, а не картками каталогу
  • Сценарій відсутньої позиції: заміна рівноцінною квіткою за згодою покупця замість порожньої картки
  • Оформлення в один екран на мобільному без обов'язкової реєстрації: телефон, дата, інтервал, адреса, оплата
  • Оплата карткою онлайн, Apple Pay і Google Pay, переказ, оплата отримувачем
  • Технічне SEO: ЧПУ, canonical, унікальні title і карта сайту, яку приймаємо за кількістю байтів у відповіді
  • Передача: доступи, письмова інструкція під ваші процеси, прохід адмінки з людиною, яка вестиме каталог
Коли ця послуга не підходить

Що не входить у роботу — щоб не було сюрпризів на здачі

  • Предметна зйомка букетів
  • Кур'єрська служба й маршрутизація як операційний процес
  • Складський облік свіжозрізаної квітки з термінами придатності
  • Реклама після запуску
  • Хостинг, домен, еквайринг
Кому підходить

Ситуації, у яких ця послуга дає результат

Сценарій 1 із 4

Приймаєте замовлення в директі, возите власним кур'єром

Менеджер щоразу вибиває телефоном дату, адресу, ім'я отримувача й текст листівки. Магазин переносить це в чекаут: дата й інтервал вибираються в календарі, отримувач заповнюється окремо від замовника, листівка приходить полем, а не голосовим. Це знята ручна робота й менше шансів привезти не туди — попит створює ваш букет і ваша реклама, а не форма замовлення.

Розберемо вашу ситуацію на безкоштовному аудиті
Безкоштовний аудит

Замість цінової вилки — безкоштовний аудит квіткової крамниці

У квітах сайт продає обіцянку: букет буде такого вигляду, приїде такого дня й у такий інтервал. Аудит перевіряє, чи здатна ваша крамниця цю обіцянку тримати, і показує, що саме ламається в пікову дату. Без цих відповідей будь-яка названа сума буде вигадкою.

Що ми міряємо

  1. Логістика доставки в данихСкільки у вас зон, чи розбита доба на інтервали, чи є доставка в день замовлення й до якої години приймається. Це головний множник обсягу робіт у ніші.
  2. Поведінка сторінки під навантаженнямПерша відповідь сервера й вага розмітки, окремо на головній і окремо в категорії. Розкид серед 24 виміряних магазинів на OpenCart — від 126,3 до 1 544,5 мс; у магазині поливу категорія на 100 позицій важить 554 КБ проти 143,6 КБ на головній.
  3. Що відбувається з відсутньою позицієюЧи є сценарій заміни квітки, чи покупець просто бачить порожню картку. Без сценарію менеджер обдзвонює вручну кожне таке замовлення.
  4. Фото й відповідність букетаЧи є в описі склад поштучно й чи попереджено про допустиму заміну. Це найчастіша причина повернень у ніші.
  5. Прийом замовлення з телефонаСкільки кроків від картки до оплати на мобільному й скільки з них обов'язкові. У квітах більшість замовлень імпульсні й із телефона.
  6. Оплата й отримувачЧи можна заплатити карткою онлайн і вказати іншу людину як отримувача з окремим телефоном. Без цього анонімна доставка не працює зовсім.

Що ви отримуєте

  • Документ по крамниці: швидкість, вага сторінок, поведінка форми замовлення, повнота даних по доставці.
  • Схему зон і інтервалів у тому вигляді, як її треба завести на сайті.
  • Перелік сценаріїв, яких бракує: заміна позиції, анонімний отримувач, листівка, час доставки.
  • Розмову на 30–40 хвилин по документу.

Строк: 2–4 робочих дні

Чому це безкоштовно

Бо обсяг робіт у квітах тримається на логістиці, а її не видно з опису задачі. Порахувати зони й інтервали — питання кількох днів, після цього сума називається один раз і не пливе.

Що далі

Далі — сума й строк по етапах із датами, договір, рахунок, акт. Якщо з цифр стане видно, що вам достатньо доробити наявну крамницю, ми так і скажемо.

Коротка форма: контакт і адреса сайту
Договір і документи

Працюємо офіційно

Договір, акт і рахунок — на кожен проєкт, а не тільки на великий. Без документів у вас немає ні прав на роботу, ні підстави провести витрати.

Нам довіряють6 брендів

Нам довіряють: Kvant Energy, GYPSUN, Naturel Cosmetics, Pancer Protection, LUGI, BeeTech

Умови, зафіксовані письмово8 пунктів
  • Договір, акт і гарантія 30 днів

    На кожен проєкт письмовий договір: обсяг, строки, сума, порядок приймання. Після здачі — акт і рахунок, а далі 30 календарних днів гарантії: помилки з нашої вини усуваємо безоплатно. Усне з дзвінка дублюємо письмово того ж дня.

  • ФОП і безготівковий розрахунок

    Виконавець — зареєстрований ФОП. Оплата на рахунок із закривними документами.

  • Права й доступи — ваші

    Код, дизайн і матеріали переходять до вас після повної оплати. Домен, хостинг, репозиторій, аналітику оформлюємо на вас.

  • Портал клієнта замість переписки

    На час роботи ви отримуєте доступ до порталу: договори, рахунки, акти й стан проєкту в одному місці.

  • Сайти в дев'яти країнах

    Наші сайти працюють у дев'яти країнах: крім України — Польща, Німеччина, Австрія, Англія, Норвегія, Болгарія, Молдова, Іспанія.

  • Цифри, які можна перевірити

    Кожен кейс у портфоліо — з посиланням на живий сайт і технічним виміром.

  • Спершу аудит, потім сума

    Прайсу на сайті немає навмисно: обсяг тієї самої роботи у двох клієнтів відрізняється в рази.

  • Кажемо «ні», коли не впевнені

    Якщо задача не наша або строк нереальний — скажемо одразу.

  • Договір, акт і гарантія 30 днів

    На кожен проєкт письмовий договір: обсяг, строки, сума, порядок приймання. Після здачі — акт і рахунок, а далі 30 календарних днів гарантії: помилки з нашої вини усуваємо безоплатно. Усне з дзвінка дублюємо письмово того ж дня.

  • ФОП і безготівковий розрахунок

    Виконавець — зареєстрований ФОП. Оплата на рахунок із закривними документами.

  • Права й доступи — ваші

    Код, дизайн і матеріали переходять до вас після повної оплати. Домен, хостинг, репозиторій, аналітику оформлюємо на вас.

  • Портал клієнта замість переписки

    На час роботи ви отримуєте доступ до порталу: договори, рахунки, акти й стан проєкту в одному місці.

  • Сайти в дев'яти країнах

    Наші сайти працюють у дев'яти країнах: крім України — Польща, Німеччина, Австрія, Англія, Норвегія, Болгарія, Молдова, Іспанія.

  • Цифри, які можна перевірити

    Кожен кейс у портфоліо — з посиланням на живий сайт і технічним виміром.

  • Спершу аудит, потім сума

    Прайсу на сайті немає навмисно: обсяг тієї самої роботи у двох клієнтів відрізняється в рази.

  • Кажемо «ні», коли не впевнені

    Якщо задача не наша або строк нереальний — скажемо одразу.

NDA підписуємо на запит. Після завершення співпраці наші доступи до ваших сервісів видаляємо самі.

Що впливає на вартість

Чому дві однакові на вигляд задачі рахуються по-різному

  • Кількість зон доставкиОдна зона й один тариф — налаштування на пів дня. Чотири зони з різними цінами, окремим тарифом на передмістя і правилом для доставки в день замовлення — це дані, які треба описати, звести й перевірити на межах районів.
  • Інтервали й межа часу прийомуДоба, розбита на слоти, де в кожного своя межа прийому й своя вартість. Години з'їдають не товари, а винятки: вихідні, свята, нічна доставка, скорочений день перед піковою датою.
  • Глибина сценарію заміниПопередження в картці коштує години. Таблиця рівноцінних замін із галочкою «погоджую» і окремим сповіщенням флористу — окремий рядок кошторису, зате менеджер перестає обдзвонювати.
  • Стан фото й описівЗнімки на однорідному фоні зі складом букета поштучно економлять тижні. Фотографії з телефона в різних ракурсах доводиться приводити до одного вигляду вручну, і це рахується окремо.
  • Підготовка до пікової датиКеш, стиснення, вага категорії й перевірка сервера під навантаженням — окрема робота, а не побічний ефект розробки. Різниця всемеро між найшвидшим і найповільнішим із виміряних магазинів сидить саме в налаштуванні.
  • Набір способів оплатиКожен шлюз — це договір, комісія й окремий пункт у звірці. Два способи ставляться швидко; сім логотипів у футері самі собою не продають — значення має наявність саме тих, якими платить ваш покупець.
Кейси

Задачі та результат у цифрах — усі показники зняті нашим виміром

магазин систем автоматичного поливу з ландшафтними послугами — сезонний попит, каталог на кілька сотень позицій

Задача
Зібрати каталог, де позиції візуально майже однакові й різняться дрібницею, і не втратити швидкість віддачі в сезон. Природа задачі та сама, що з букетами: вибір робиться очима, а різниця між варіантами — у деталях.
Рішення
OpenCart 3 за nginx з HTTP/2 і стисненням brotli. Каталог на чотири рівні вкладеності, OCFilter у категоріях, швидкий перегляд картки й замовлення в один клік. У чекауті два перевізники з шістьма способами доставки і три способи оплати.
Результат
Вимір 01.08.2026: 300 товарів у 40 категоріях, цифра підтверджена двома незалежними методами з розбіжністю 0%. Перша відповідь сервера 235 мс (медіана з п'яти замірів), вага HTML головної 143,6 КБ, у brotli — 22,5 КБ; сторінка категорії зі 100 позиціями важить 554 КБ. Знайдені дефекти: жодного блоку JSON-LD, аналітики не встановлено взагалі, дві з п'яти кореневих категорій порожні.

інтернет-магазин садового інструменту для приватних покупців

Задача
Тримати сторінку легкою там, де на екрані переважно фотографії товару, а не текст, і дати покупцеві вибір із кількох перевізників.
Рішення
OpenCart 3.x за nginx з HTTP/2. Відкладене завантаження майже всіх зображень, п'ять способів оплати і чотири перевізники на сторінці доставки.
Результат
Вимір 31.07.2026: 66 з 69 тегів зображень (96%) вантажаться відкладено; HTML 252,6 КБ при першій відповіді 547,2 мс. Знайдені дефекти: /sitemap.xml віддає HTTP 200 з тілом на нуль байт, тому обсяг каталогу ззовні порахувати неможливо; на головній немає тега h1; назви перевізників подані картинками без alt; PHP 7.3.33 без підтримки з грудня 2021 року.

меблевий магазин для іспанського ринку з великою галереєю на кожну позицію

Задача
Продавати невеликим каталогом, де рішення ухвалюють за фото, а не за характеристиками.
Рішення
OpenCart 3 на LiteSpeed, галерея високої якості в кожній картці, фільтри за типом, матеріалом і кольором, оплата карткою онлайн і банківським переказом.
Результат
Вимір 31.07.2026: 76 товарів — цифра збіглася у двох незалежних джерелах, розбіжність 0; у карті сайту 88 адрес разом. Перша відповідь 348,2 мс, повне завантаження HTML 515,6 мс, але вага розмітки 374 КБ: за галереї платять саме вагою. Знайдений дефект: на головній немає жодного блоку JSON-LD і жодної microdata.

Не знайшли свій випадок?

Опишіть, як це влаштовано у вас, — відповімо, чи підходить «Розробка інтернет-магазину квітів» і що це означає у вашій ситуації. Без брифу й без дзвінка: одне питання, одна відповідь.

Етапи роботи

Прозорі етапи з погодженням на кожному кроці

Загальний строк:20–40 днів

  1. Бриф і технічне завдання

    3–5 робочих днів

    Розбираємо зони, інтервали, межу часу прийому, правило заміни й сценарій отримувача. На виході — ТЗ, за яким рахується кошторис і приймається робота.

  2. Прототип: каталог, картка, чекаут

    3–5 робочих днів

    Дерево категорій за приводом і типом букета, поля картки зі складом поштучно, кроки оформлення в один екран. Погоджуємо до дизайну — переробляти чекаут після верстки дорого.

  3. Дизайн

    4–8 робочих днів

    Головна, категорія, картка букета, кошик із допродажем, чекаут. Тут же фіксуємо цільову вагу сторінки окремо для головної й окремо для категорії.

  4. Збірка магазину

    6–11 робочих днів

    Верстка теми, календар зі слотами й межами прийому, зони доставки, поля отримувача й листівки, сценарій заміни позиції, ролі в адмінці.

  5. Каталог і фото

    2–5 робочих днів

    Заведення асортименту зі складом букета поштучно й розмірами, обробка зображень у WebP, відкладене завантаження, перевірка карток на мобільному.

  6. Інтеграції, навантаження, передача

    2–6 робочих днів

    Оплата, месенджери, GTM і GA4 з подіями кошика й покупки, перевірка під навантаженням до пікової дати, наскрізний прогін замовлення й прохід адмінки з вашою людиною.

Технології та інтеграції

На чому будуємо і з чим це з'єднується

Стек

  • OpenCart 4.x — ставимо за замовчуванням, це гілка, яку розвивають
  • OpenCart 3.x — коли критичний модуль ще не має збірки під 4.x; версію фіксуємо в ТЗ
  • PHP актуальної гілки: у чотирьох виміряних магазинах стоїть 7.3.33 без підтримки з 2021 року
  • MySQL — каталог тут малий, вузьке місце не база, а вага сторінки
  • nginx або LiteSpeed, HTTP/2, HTTPS
  • WebP і відкладене завантаження: у квітах зображень більше, ніж тексту
  • OCFilter — фільтр за квіткою й кольором; на малому каталозі він другорядний проти зрозумілих категорій
  • Календар слотів — власна логіка поверх коробки: ваших меж часу прийому не знає жоден коробковий модуль

Інтеграції

  • LiqPay
  • WayForPay
  • monobank
  • Apple Pay
  • Google Pay
  • власна кур'єрська доставка по місту
  • Нова Пошта для сухоцвітів і подарунків
  • Google Tag Manager
  • GA4
  • Meta Pixel
  • Instagram
  • Telegram
  • Viber
Свій магазин квітів проти вітрини в соцмережі й SaaS-конструктора

Чим цей варіант відрізняється від альтернативи

Вітрина в соцмережі / SaaS-конструкторНаш підхід
Дата й інтервал доставкиВітрина: домовляєтесь у переписці. SaaS: календар є не скрізь, інтервали часто без меж прийомуполе замовлення з валідацією: минулі слоти гасяться, межа прийому своя в кожного
Зони й вартість доставкиВітрина: менеджер називає вручну. SaaS: зазвичай одна ставка на місторахуються при оформленні за адресою покупця
Отримувач окремо від замовникаВітрина: у переписці. SaaS: часто одне поле контакту на всеокремі поля, окремий телефон, анонімний режим
Пікова датаВітрина: обмежує швидкість набору тексту менеджером. SaaS: ресурси тарифу, впливу у вас немаєкеш, вага категорії й сервер міряються до 14 лютого
Плата за платформуВітрина: немає. SaaS: абонплата щомісяця незалежно від сезонунемає, лише хостинг і домен
Що потрібно від вас

Без цього не почнемо — краще підготувати заздалегідь

  1. Асортимент зі складом букетів поштучно й розмірами.
  2. Фотографії букетів — у квітах покупець купує саме за фото.
  3. Зони доставки з вартістю і межею часу прийому замовлень на сьогодні.
  4. Правило заміни: які квітки ви вважаєте рівноцінними, коли потрібної немає.
  5. Доступи до хостингу й домена — або згоду на те, щоб хостинг підібрали ми.
  6. Одну людину з правом затвердити структуру каталогу й макети.
Якщо чогось із цього немає — скажіть, підкажемо, як зібрати або зробимо самі окремою задачею.
Часті питання

Те, що питають найчастіше — з конкретними відповідями

Як зробити, щоб букет приїхав у конкретну годину?

Календарем із інтервалами, а не полем «побажання до замовлення». Доба ділиться на слоти, у кожного слота своя межа прийому й своя вартість, минулі слоти гасяться автоматично. Покупець бачить лише те, що ви реально встигаєте виконати, і менеджер не передомовляється телефоном. Механізм має межу: він розподіляє попит по слотах, але не додає кур'єрів — коли всі слоти на 14 лютого зайняті, чесніше показати це, ніж узяти замовлення і зірвати його.

Що робити, якщо потрібної квітки не буде?

Заводити правило заміни на етапі ТЗ, а не домовлятися телефоном щоразу. У картці пишеться, що сезонна позиція може бути замінена рівноцінною, у замовленні стоїть вибір «погоджую заміну» або «спершу зателефонуйте», флорист отримує це разом із замовленням. Без такого правила ви або відмовляєте покупцеві, або ставите його перед фактом — і те, і те закінчується поверненням і відгуком.

Чи витримає сайт 14 лютого?

Це питання до налаштування сервера й ваги сторінок, а не до платформи. Серед 24 виміряних нами магазинів на OpenCart перша відповідь сервера розкидана від 126,3 до 1 544,5 мс — різниця всемеро на одному й тому самому движку. Міряти треба не лише головну: у магазині поливу головна важить 143,6 КБ, а сторінка категорії зі 100 позиціями — 554 КБ, і саме її відкриває більшість. Перед піковою датою окремо перевіряємо кеш, стиснення й вагу категорії.

Потрібна анонімна доставка — це складно?

Самі поля прості: отримувач окремо від замовника, окремий телефон, галочка «не називати відправника». Складніше не показати ім'я замовника там, куди воно потрапляє автоматично — у SMS перевізника, у чеку, у листі про статус замовлення. Про це треба домовитися до розробки: переробляти сповіщення після запуску дорожче, ніж завести їх правильно одразу.

Як продавати додатки — вазу, листівку, солодощі?

Допродажем у кошику, а не окремими картками в каталозі. Покупець уже вибрав букет, і саме там доречно запропонувати листівку з текстом, вазу або кульку. Винесені в каталог окремо, вони туди просто не потрапляють: за листівкою окремо не приходять. Це наша рекомендація з практики, а не правило платформи — технічно можна й так, і так.

Скільки триває розробка?

20–40 робочих днів від затвердження ТЗ. Це шість етапів: бриф і ТЗ 3–5 днів, прототип 3–5, дизайн 4–8, збірка 6–11, каталог і фото 2–5, інтеграції з передачею 2–6. Час іде не на товари — каталог у ніші маленький, — а на логістику: календар, слоти, зони, правила заміни й сценарій отримувача. Якщо зони й інтервали у вас уже описані, строк тримається нижньої межі.

Чи можна продавати сухоцвіти й подарунки поштою?

Так, і це розумний спосіб не залежати від однієї доби на рік. Сухоцвіти, вази й подарункові набори живуть у тому самому каталозі, але з іншим способом доставки — перевізником, а не власним кур'єром. У чекауті це різні гілки, і розділяти їх треба одразу, інакше покупець рано чи пізно вибере відділення для живого букета.

Чому на сторінці немає ціни?

Бо в квітах суму задає не розмір каталогу — він тут маленький, — а логістика: кількість зон, наявність інтервалів, доставка в день замовлення, глибина сценарію заміни. Дві крамниці з однаковим асортиментом можуть відрізнятися за обсягом робіт удвічі саме через це, і будь-яка вилка на сторінці була б вигадкою. Тому спершу безкоштовний аудит на 2–4 робочих дні, потім сума й строк по етапах.

Магазин потрапить у Google?

Позицій ніхто не гарантує, і ми не будемо. Технічну частину закриваємо: ЧПУ, canonical, унікальні title, карта сайту, JSON-LD. Дірка найчастіше саме тут — у виміряному магазині садового інструменту /sitemap.xml віддає HTTP 200 з тілом на нуль байт, а в магазині поливу немає жодного блоку JSON-LD. Чесна межа: карта сайту не піднімає позиції й не гарантує індексацію, вона лише прибирає технічну причину, через яку сторінки в індекс не потрапляють.

Демо

Ваш каталог на екрані телефона

Так може виглядати ваш магазин у телефоні: банер колекції, популярні товари й кошик, до якого один дотик. Натисніть «Додати в кошик» — лічильник у шапці оновиться, як у справжньому магазині.

  • Банер колекціїПерший екран показує новинку, а не логотип.
  • Картки товарівФото, ціна й кнопка — без переходу на окрему сторінку.
  • Кошик в один дотикЛічильник у шапці оновлюється одразу, як у справжньому магазині.
Магазини в портфоліо
Це демо-інтерфейс, а не магазин клієнта. Живі роботи — в портфоліо.
SHOP
Нова колекціяОсінь / ЗимаПереглянути
ПопулярнеВсі товари ›
  • Худі Essentials1 290 ₴
  • Рюкзак Urban1 490 ₴
  • Кепка Classic690 ₴
  • Футболка Basic590 ₴
  • Кросівки Street2 390 ₴
  • Шорти Active890 ₴

Опишіть зони доставки й межу часу прийому — далі рахуємо ми.

За 2–4 робочих дні повернемось із документом: швидкість і вага сторінок, схема зон та інтервалів у тому вигляді, як її треба завести на сайті, і перелік сценаріїв, яких бракує. Далі — сума й строк по етапах із датами.

З виміряних кейсівВимір 01.08.2026: 300 товарів у 40 категоріях, цифра підтверджена двома незалежними методами з розбіжністю 0%

Дивитись кейси
  • Відповідь протягом 2 годин
  • Без зобов’язань
  • Працюємо за договором

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