Покупець обирає день та інтервал, магазин управляє тим, скільки замовлень реально відвезе. Заповнений інтервал закривається сам.
Кому потрібний
Усім, хто возить своїм кур'єром і у кого машина фізично не відвозить більше N замовлень в інтервал: продукти та вода, готова їжа, квіти та торти, меблі та техніка з підйомом, магазини з власною доставкою по місту.
Чим відрізняється від модулів «дата доставки»
Вони питають у покупця дату і на цьому закінчуються. Перевантажений день все одно розбирає менеджер: обдзвонює клієнтів і переносить доставки на післязавтра, вибачте.
Цей модуль вважає місткість. Набралося в інтервалі стільки замовлень, скільки задано — інтервал зникає з вибору сам.
Щовміє
- Календар в оформленні замовлення — день та інтервал, свої інтервали під кожен спосіб доставки.
- Ліміт замовлень на інтервал — «місць немає» замість обіцянки, яку магазин не виконає.
- Термін підготовки — інтервал, який починається раніше, ніж замовлення зберуть, не пропонується.
- Відсічення прийому замовлень — «оформили після 15:00 — веземо з наступного дня».
- Доплата за інтервал — сума або відсоток від доставки, окремим рядком у підсумках замовлення.
- Винятки за датами — свята,інвентаризація, дні з особливою місткістю.
- Залишок місць поряд з інтервалом — можна показувати, можна ховати.
- Календар доставки в адмінці — місяць із завантаженням, замовлення дня за інтервалами, перенесення замовлення.
- Маршрутний лист в CSV — час, телефон, адреса, сума: те, що потрібно кур'єру.
Інтервал видно скрізь, де показаний спосіб доставки
Вибраний час дописується до способу доставки у самому замовленні:
Доставка кур'єром (14.08.2026, Вечір 18:00–22:00)
Тому воно автоматично потрапляє в лист покупцю, в рахунок і накладну, до списку замовлень івивантаження в 1С, CRM та служби доставки - без виправлення єдиного шаблону. За бажанням інтервал можна писати в коментар до замовлення або зберігати тільки в таблиці модуля.
Працює з односторінковими чекаутами
У штатному оформленні замовлення блок з'являється сам. Для стороннього чекауту (oCheckout, FastCheck, "Просте замовлення", MaxyStore і подібні) в налаштуваннях вказується CSS-селектор блоку, після якого вставити календар: модуль дочекається його появи і вбудується, навіть якщо чекаут малює розмітку не відразу. Вибір інтервалу зберігається власним запитом і залежить від того, як чужий чекаут працює із кошиком.
Календар написаний на чистому JavaScript, без jQuery UI, moment та датапікерів – конфлікту версій із темою магазину не буде.
Чеснеповедінка у спірних ситуаціях
- Місце в інтервалі тримається за покупцем, поки він дооформлює замовлення (за замовчуванням 30 хвилин), і звільняється, якщо він пішов.
- Якщо місце закінчилося в момент оформлення, замовлення все одно створюється, а в календарі підсвічується червоним: втратити оплачене замовлення гірше, ніж перевантажити кур'єра на одну точку.
- Час вважається в часовому поясі магазину, а не покупця або сервера.
- Немає розкладу для способу доставки — модуль мовчить і нічого не вимагає: магазин не повинен вставати через незаповнений графік.
Технічні деталі
- OpenCart 3.0.x, ocStore3.0.x
- Ядро не правиться: вітрина працює на подіях, ocmod-патч додає тільки пункт меню та вкладку на картці замовлення
- Російська та англійська мови, мультимовні назви інтервалів
- Підтримка мультимагазину
- Вихідний код відкритий, без ionCube
Версія модуля: 1.0
Що нового у версії 1.0
Перша версія.