Інтернет-магазин квітів: доставка на дату й годину
Розробка інтернет-магазину квітів — це насамперед логістика, заведена в дані, і вже потім каталог: букет має приїхати в конкретний день і в конкретний інтервал, інакше замовлення втрачає сенс. Тому каркас будуємо навколо календаря доставки, зон по місту й правила заміни сезонної позиції, а не навколо кількості карток. Каталог у ніші маленький — у виміряних нами магазинах такого масштабу це від 76 до 300 позицій. Дві крамниці з однаковим асортиментом розходяться в обсязі робіт удвічі, і розводять їх зони, слоти й межа часу прийому на сьогодні.
зони, інтервали й межа часу прийому на сьогодні, а не кількість карток
Що задає обсяг робіт
від 126,3 до 1 544,5 мс серед 24 виміряних магазинів на OpenCart
Перша відповідь сервера
передоплата 50%, два раунди правок на дизайні, гарантія 30 днів
Умови
після безкоштовного аудиту, кошторисом по етапах
Ціна
Що входить
Повний перелік робіт і того, що ви отримуєте на виході
Каталог за приводом і типом букета з фільтром за квіткою, кольором і ціновим діапазоном
Картка зі складом букета поштучно, розміром і попередженням про допустиму заміну сезонної позиції
Календар доставки з інтервалами по годинах: минулі слоти гасяться самі, у кожного своя межа прийому
Зони доставки з окремою вартістю й окремим правилом для доставки в день замовлення
Отримувач окремо від замовника: інше ім'я, інший телефон, режим анонімної доставки
Текст листівки окремим полем з обмеженням по символах — доїжджає до флориста як написаний
Додатки — листівка, ваза, солодощі, кулька — допродажем у кошику, а не картками каталогу
Сценарій відсутньої позиції: заміна рівноцінною квіткою за згодою покупця замість порожньої картки
Оформлення в один екран на мобільному без обов'язкової реєстрації: телефон, дата, інтервал, адреса, оплата
Оплата карткою онлайн, Apple Pay і Google Pay, переказ, оплата отримувачем
Технічне SEO: ЧПУ, canonical, унікальні title і карта сайту, яку приймаємо за кількістю байтів у відповіді
Передача: доступи, письмова інструкція під ваші процеси, прохід адмінки з людиною, яка вестиме каталог
Коли ця послуга не підходить
Що не входить у роботу — щоб не було сюрпризів на здачі
Предметна зйомка букетів
Кур'єрська служба й маршрутизація як операційний процес
Складський облік свіжозрізаної квітки з термінами придатності
Реклама після запуску
Хостинг, домен, еквайринг
Кому підходить
Ситуації, у яких ця послуга дає результат
Сценарій 1 із 4
Приймаєте замовлення в директі, возите власним кур'єром
Менеджер щоразу вибиває телефоном дату, адресу, ім'я отримувача й текст листівки. Магазин переносить це в чекаут: дата й інтервал вибираються в календарі, отримувач заповнюється окремо від замовника, листівка приходить полем, а не голосовим. Це знята ручна робота й менше шансів привезти не туди — попит створює ваш букет і ваша реклама, а не форма замовлення.
Розберемо вашу ситуацію на безкоштовному аудиті
Сценарій 2 із 4
Пікові дати розбираєте вручну і щоразу перевиконуєте обіцянки
14 лютого і 8 березня дають потік, який не тримає жоден блокнот. Календар зі слотами розводить цей потік: покупець бачить лише ті інтервали, які ви ще встигаєте виконати, і сам відсікає нереальні. Чесна межа: сайт розподіляє замовлення, але не додає кур'єрів — коли слоти закінчились фізично, він має це показати, а не продати ще одне.
Сценарій 3 із 4
Продаєте не тільки живий букет
Сухоцвіти, вази, свічки й подарункові набори їдуть перевізником і не залежать від однієї доби на рік. У каталозі вони стоять поруч із букетами, у чекауті — окремою гілкою з вибором відділення. Розводити гілки треба одразу: поки вона одна, покупець рано чи пізно вкаже відділення для живого букета, і таке замовлення закінчується поверненням.
Сценарій 4 із 4
Місто розбите на зони з різною вартістю доставки
Центр, спальні райони, передмістя і окремо доставка в день замовлення — це чотири ціни й чотири різні межі часу прийому. Заведені в дані, вони рахуються самі при оформленні. Працює це лише тоді, коли зони описані до розробки: якщо межі районів існують тільки в голові у власника, календар доставки ставити немає з чого.
Замість цінової вилки — безкоштовний аудит квіткової крамниці
У квітах сайт продає обіцянку: букет буде такого вигляду, приїде такого дня й у такий інтервал. Аудит перевіряє, чи здатна ваша крамниця цю обіцянку тримати, і показує, що саме ламається в пікову дату. Без цих відповідей будь-яка названа сума буде вигадкою.
Що ми міряємо
Логістика доставки в данихСкільки у вас зон, чи розбита доба на інтервали, чи є доставка в день замовлення й до якої години приймається. Це головний множник обсягу робіт у ніші.
Поведінка сторінки під навантаженнямПерша відповідь сервера й вага розмітки, окремо на головній і окремо в категорії. Розкид серед 24 виміряних магазинів на OpenCart — від 126,3 до 1 544,5 мс; у магазині поливу категорія на 100 позицій важить 554 КБ проти 143,6 КБ на головній.
Що відбувається з відсутньою позицієюЧи є сценарій заміни квітки, чи покупець просто бачить порожню картку. Без сценарію менеджер обдзвонює вручну кожне таке замовлення.
Фото й відповідність букетаЧи є в описі склад поштучно й чи попереджено про допустиму заміну. Це найчастіша причина повернень у ніші.
Прийом замовлення з телефонаСкільки кроків від картки до оплати на мобільному й скільки з них обов'язкові. У квітах більшість замовлень імпульсні й із телефона.
Оплата й отримувачЧи можна заплатити карткою онлайн і вказати іншу людину як отримувача з окремим телефоном. Без цього анонімна доставка не працює зовсім.
Що ви отримуєте
Документ по крамниці: швидкість, вага сторінок, поведінка форми замовлення, повнота даних по доставці.
Схему зон і інтервалів у тому вигляді, як її треба завести на сайті.
Перелік сценаріїв, яких бракує: заміна позиції, анонімний отримувач, листівка, час доставки.
Розмову на 30–40 хвилин по документу.
Строк: 2–4 робочих дні
Чому це безкоштовно
Бо обсяг робіт у квітах тримається на логістиці, а її не видно з опису задачі. Порахувати зони й інтервали — питання кількох днів, після цього сума називається один раз і не пливе.
Що далі
Далі — сума й строк по етапах із датами, договір, рахунок, акт. Якщо з цифр стане видно, що вам достатньо доробити наявну крамницю, ми так і скажемо.
Коротка форма: контакт і адреса сайту
Працюємо офіційно
Договір, акт і рахунок — на кожен проєкт, а не тільки на великий. Без документів у вас немає ні прав на роботу, ні підстави провести витрати.
На кожен проєкт письмовий договір: обсяг, строки, сума, порядок приймання. Після здачі — акт і рахунок, а далі 30 календарних днів гарантії: помилки з нашої вини усуваємо безоплатно. Усне з дзвінка дублюємо письмово того ж дня.
02
ФОП і безготівковий розрахунок
Виконавець — зареєстрований ФОП. Оплата на рахунок із закривними документами.
03
Права й доступи — ваші
Код, дизайн і матеріали переходять до вас після повної оплати. Домен, хостинг, репозиторій, аналітику оформлюємо на вас.
04
Портал клієнта замість переписки
На час роботи ви отримуєте доступ до порталу: договори, рахунки, акти й стан проєкту в одному місці.
05
Сайти в дев'яти країнах
Наші сайти працюють у дев'яти країнах: крім України — Польща, Німеччина, Австрія, Англія, Норвегія, Болгарія, Молдова, Іспанія.
06
Цифри, які можна перевірити
Кожен кейс у портфоліо — з посиланням на живий сайт і технічним виміром.
07
Спершу аудит, потім сума
Прайсу на сайті немає навмисно: обсяг тієї самої роботи у двох клієнтів відрізняється в рази.
08
Кажемо «ні», коли не впевнені
Якщо задача не наша або строк нереальний — скажемо одразу.
01
Договір, акт і гарантія 30 днів
На кожен проєкт письмовий договір: обсяг, строки, сума, порядок приймання. Після здачі — акт і рахунок, а далі 30 календарних днів гарантії: помилки з нашої вини усуваємо безоплатно. Усне з дзвінка дублюємо письмово того ж дня.
02
ФОП і безготівковий розрахунок
Виконавець — зареєстрований ФОП. Оплата на рахунок із закривними документами.
03
Права й доступи — ваші
Код, дизайн і матеріали переходять до вас після повної оплати. Домен, хостинг, репозиторій, аналітику оформлюємо на вас.
04
Портал клієнта замість переписки
На час роботи ви отримуєте доступ до порталу: договори, рахунки, акти й стан проєкту в одному місці.
05
Сайти в дев'яти країнах
Наші сайти працюють у дев'яти країнах: крім України — Польща, Німеччина, Австрія, Англія, Норвегія, Болгарія, Молдова, Іспанія.
06
Цифри, які можна перевірити
Кожен кейс у портфоліо — з посиланням на живий сайт і технічним виміром.
07
Спершу аудит, потім сума
Прайсу на сайті немає навмисно: обсяг тієї самої роботи у двох клієнтів відрізняється в рази.
08
Кажемо «ні», коли не впевнені
Якщо задача не наша або строк нереальний — скажемо одразу.
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 днів
01
Бриф і технічне завдання
3–5 робочих днів
Розбираємо зони, інтервали, межу часу прийому, правило заміни й сценарій отримувача. На виході — ТЗ, за яким рахується кошторис і приймається робота.
02
Прототип: каталог, картка, чекаут
3–5 робочих днів
Дерево категорій за приводом і типом букета, поля картки зі складом поштучно, кроки оформлення в один екран. Погоджуємо до дизайну — переробляти чекаут після верстки дорого.
03
Дизайн
4–8 робочих днів
Головна, категорія, картка букета, кошик із допродажем, чекаут. Тут же фіксуємо цільову вагу сторінки окремо для головної й окремо для категорії.
04
Збірка магазину
6–11 робочих днів
Верстка теми, календар зі слотами й межами прийому, зони доставки, поля отримувача й листівки, сценарій заміни позиції, ролі в адмінці.
05
Каталог і фото
2–5 робочих днів
Заведення асортименту зі складом букета поштучно й розмірами, обробка зображень у WebP, відкладене завантаження, перевірка карток на мобільному.
06
Інтеграції, навантаження, передача
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. Чесна межа: карта сайту не піднімає позиції й не гарантує індексацію, вона лише прибирає технічну причину, через яку сторінки в індекс не потрапляють.
Так може виглядати ваш магазин у телефоні: банер колекції, популярні товари й кошик, до якого один дотик. Натисніть «Додати в кошик» — лічильник у шапці оновиться, як у справжньому магазині.
Банер колекціїПерший екран показує новинку, а не логотип.
Картки товарівФото, ціна й кнопка — без переходу на окрему сторінку.
Кошик в один дотикЛічильник у шапці оновлюється одразу, як у справжньому магазині.
iЦе демо-інтерфейс, а не магазин клієнта. Живі роботи — в портфоліо.
9:41
SHOP2
Нова колекціяОсінь / ЗимаПереглянути
ПопулярнеВсі товари ›
Худі Essentials1 290 ₴
Рюкзак Urban1 490 ₴
Кепка Classic690 ₴
Футболка Basic590 ₴
Кросівки Street2 390 ₴
Шорти Active890 ₴
Додано в кошикКепка Classic
Оплата карткою1 290 ₴ · успішно
Нова ПоштаТТН створено
Опишіть зони доставки й межу часу прийому — далі рахуємо ми.
За 2–4 робочих дні повернемось із документом: швидкість і вага сторінок, схема зон та інтервалів у тому вигляді, як її треба завести на сайті, і перелік сценаріїв, яких бракує. Далі — сума й строк по етапах із датами.
З виміряних кейсівВимір 01.08.2026: 300 товарів у 40 категоріях, цифра підтверджена двома незалежними методами з розбіжністю 0%
Прайса на сайті немає навмисно: обсяг тієї самої роботи у двох клієнтів відрізняється в рази, і цифра «від» у такому разі нічого не пояснює. Спершу безкоштовний аудит — рахуємо ваші сторінки, дублі й швидкість, — потім називаємо суму й строк і фіксуємо їх у договорі.