Особливості та функціональність модуля
Вибір терміну клієнтом
- Список доступних дат доставки. Клієнт обирає серед днів, що відповідають календарю магазину, замість того щоб вписувати довільну дату в примітках до замовлення.
- Дата з годинами або без годин. Ви можете приймати лише дату або дату разом із часовим інтервалом, таким як 09:00–12:00. Якщо ви налаштуєте інтервали, збереження вподобання вимагатиме вибору одного з них.
- Добровільне зазначення терміну. Клієнт може оформити замовлення без уподобань. Після початку зміни вибору на стандартному кроці доставки його потрібно зберегти або видалити перед переходом далі.
- Збереження, зміна та видалення вподобання. Форма надає окремі кнопки для збереження, видалення та оновлення доступних термінів і показує повідомлення про результат операції.
- Перевірка актуальності вибору. Сервер перевіряє дату, інтервал і право обраного перевізника на обслуговування терміну. Часові інтервали поточного дня, що вже розпочалися, недоступні для нового збереження.
- Форма, адаптована до малих екранів. Нативні поля вибору, мітки та повідомлення про статус підтримують вибір за допомогою клавіатури та сенсорних пристроїв. Збереження вподобання вимагає увімкненого JavaScript.
Налаштування календаря в магазині
- Мінімальний час підготовки. Ви визначаєте випередження, потрібне перед бажаною доставкою, і обираєте підрахунок у календарних днях або доступних днях доставки.
- Дні тижня та винятки. Ви вказуєте дні, у які приймаєте вподобання щодо доставки, а також виключаєте конкретні дати, наприклад свята, відпустку або перерву у виконанні.
- Час відсікання. Із заданої години модуль додає один день підготовки в обраному режимі, що дає змогу врахувати замовлення, оформлені пізніше протягом дня.
- Діапазон вибору дат. Ви встановлюєте, наскільки далеко в майбутнє клієнт може вказати термін. Усі обчислення стосуються часового поясу, встановленого в магазині.
- Список підтримуваних перевізників. Ви можете надати вибір терміну лише для визначених способів доставки. Якщо залишити список порожнім, це охопить усіх перевізників, доступних для цього кошика.
- Окрема конфігурація в multistore. Кожен магазин може мати власні дні, години та винятки. Налаштування зберігаються в контексті конкретного магазину.
Обробка збережених термінів
- Вподобання, прив’язане до замовлення. Під час його створення модуль зберігає копію дати та інтервалу, пов’язану із замовленням і відповідним йому перевізником.
- Перегляд для обох сторін. Термін відображається на картці замовлення в адміністративній панелі, на сторінці підтвердження покупки та в деталях замовлення клієнта.
- Список найближчих термінів. Панель показує до 30 найближчих замовлень зі збереженою датою, що припадає на сьогодні або пізніше, разом з інтервалом, поточним статусом і посиланням на замовлення.
- Попередній перегляд роботи календаря. Перед тим як надати терміни клієнтам, ви можете перевірити до 10 найближчих доступних дат, обчислених на основі збережених налаштувань.
Обсяг доступних налаштувань
| Налаштування | Доступні значення та правила |
|---|---|
| Час підготовки | Від 0 до 60 днів; календарний підрахунок або за доступними днями доставки. |
| Діапазон дат у майбутньому | Від 1 до 365 календарних днів від сьогодні, з урахуванням кінцевої дати. Встановлена кількість днів не може бути меншою за час підготовки. |
| Дні тижня | Довільний вибір від понеділка до неділі; потрібен щонайменше один день. |
| Виключені дати | До 366 конкретних дат у форматі РРРР-ММ-ДД, що вводяться по одній у рядку. Свята ви додаєте самостійно. |
| Час відсікання | Необов’язковий час у форматі ГГ:ХХ. Його досягнення або перевищення збільшує потрібний час підготовки на один день. |
| Часові інтервали | До 48 інтервалів, спільних для доступних днів, наприклад 09:00-12:00 і 12:00-16:00. Інтервали можуть стикатися, але не можуть накладатися або переходити через північ. |
| Перевізники | Усі або вибрані способи доставки. У межах одного магазину діє спільний календар для перевізників, яких він охоплює. |
Як модуль обчислює доступні дати доставки?
Сьогодні є нульовим днем, а додатний час підготовки починає відраховуватися від завтра. У календарному режимі до підготовки зараховується кожен наступний день. У режимі доступних днів доставки враховуються лише вибрані дні тижня, зменшені на внесені винятки. Незалежно від режиму клієнт може вказати лише день, у який магазин допускає доставку.
Приклад: клієнт обирає термін у п’ятницю до часу відсікання, магазин вимагає двох днів підготовки та доставляє з понеділка по п’ятницю. При підрахунку доступних днів доставки першим терміном буде вівторок. Виключення найближчого понеділка перенесе цю дату на середу. При календарному підрахунку два дні сплинуть у неділю, тож за відсутності інших виключень перший доступний термін припаде на понеділок. Приклад передбачає відповідно достатній діапазон дат у майбутньому.
Доставка того ж дня може бути доступною за нульового часу підготовки, дозволеного дня та відсутності блокування, що випливає з часу відсікання. Якщо ви використовуєте часові інтервали, має залишитися щонайменше один інтервал, який ще не розпочався. Виключені дні та час відсікання не подовжують встановлений діапазон дат, тому деякі комбінації налаштувань можуть дати порожній список термінів.
Адміністративна панель і переваги в щоденній роботі
Панель модуля містить зелений заголовок із логотипом PD, номером версії та індикаторами конфігурації. Під ним розташовані три вкладки: Попередній перегляд календаря, Конфігурація та Найближчі терміни. Попередній перегляд показує магазин, часовий пояс і найближчі дати, форма слугує для налаштування правил, а список термінів веде до відповідних замовлень.
Для клієнта перевагою є можливість передати вподобання в упорядкованій формі під час покупки. Для персоналу магазину це доступ до тієї самої дати та інтервалу безпосередньо в замовленні, а також зведення найближчих заявок. Обмеження списку днями, що відповідають налаштуванням, допомагає збирати вподобання з урахуванням організації доставок і часу підготовки.
Приклади застосування
- Квітковий магазин із власною доставкою: вибір бажаної дати вручення замовлення та одного з установлених інтервалів доставки.
- Кейтеринг або пекарня: приймання вподобань з урахуванням часу підготовки, днів доставки та часу відсікання.
- Меблевий магазин із власною доставкою: надання термінів у вибрані дні тижня, що відповідають організації виїздів.
- Самовивіз: збір бажаного дня та часу отримання після обмеження модуля до перевізника, який представляє отримання в магазині.
Це приклади використання спільних налаштувань модуля. Виконання вказаної доставки або самовивозу магазин узгоджує з клієнтом поза модулем.
Обсяг роботи та сумісність
PD Termin dostaw Pro зберігає вподобання для всього кошика з однією адресою та одним перевізником. Він не підтримує окремі терміни для товарів або доставок, розділених між кількома адресами чи перевізниками. Форма не відображається для порожнього кошика або замовлення, що містить лише віртуальні товари.
Модуль не обмежує кількість замовлень на день або інтервал, не підтверджує доступність кур’єра та не надсилає автоматичних повідомлень електронною поштою чи SMS із терміном. Він не змінює вартість доставки, не планує маршрути та не надає можливості редагування дати вже створеного замовлення. Список найближчих термінів слугує для перегляду й не є календарем бронювань з експортом до зовнішніх сервісів.
Модуль у версії 2.0.0 призначений для PrestaShop 1.7, 8 і 9. Код зберігає синтаксичну сумісність із PHP 7.0–8.5, при цьому версія PHP має відповідати вимогам використовуваної версії PrestaShop. Вибір терміну стандартно використовує місце відображення біля перевізників; нестандартна тема або односторінковий процес покупки потребує перевірки інтеграції в конкретному магазині.