Более 200 модулей для CS-Cart по единой подписке за 3 000 ₽ в месяц

Расписание доставки

Добавляет график доступности способов доставки, позволяя настраивать расписание доставки в настройках способа доставки по дням недели и интервалами времени. Позволяет покупателям выбрать дату доставки при оформлении заказа.
Укажите домен без http и слешей. Пример: domain.com
По подписке 3 000 
Написать отзыв
Последняя версия модуля Обновлено:
Есть вопросы по модулю? Напиши нам: HelpDesk Bot

MS: Расписание доставки

Описание

Модуль ms_delivery_schedule добавляет график доступности способов доставки и позволяет покупателям выбрать дату доставки при оформлении заказа. Модуль позволяет настроить расписание работы доставки по дням недели с указанием временных интервалов.

Основные возможности

  • Расписание доставки: Настройка расписания работы доставки по дням недели с указанием временных интервалов
  • Выбор даты доставки: Покупатели могут выбрать желаемую дату доставки при оформлении заказа
  • Ограничение доступных дат: Настройка ограничений по количеству дней вперед и времени до начала доставки
  • Множественные временные интервалы: Поддержка нескольких временных интервалов для одного дня недели
  • Отображение в заказе: Информация о выбранной дате и времени доставки сохраняется в заказе

Как работает модуль

Модуль использует следующие механизмы:

  1. Хранение расписания (hooks.func.php):
  • Расписание хранится в сериализованном виде в поле schedule таблицы shippings
  • Структура: [день_недели] => [временные_интервалы], где день недели: 0-6 (0=воскресенье, 1=понедельник, ..., 6=суббота)
  • Поддерживает множественные временные интервалы для одного дня
  1. Сериализация расписания (hooks.func.php):
  • Функция fn_ms_delivery_schedule_update_shipping() сериализует расписание перед сохранением
  • Поддерживает новую структуру с множественными интервалами и старую структуру (для обратной совместимости)
  • Преобразует дни недели: 1-7 (из формы) → 0-6 (в базе данных), где 7 → 0 (воскресенье)
  1. Десериализация расписания (hooks.func.php):
  • Функция fn_ms_delivery_schedule_get_shipping_info_after_select() десериализует расписание после получения из базы данных
  • Преобразует дни недели обратно: 0-6 → 1-7 для отображения в форме
  • Разворачивает множественные временные интервалы для отображения
  1. Контроллер выбора даты (controllers/frontend/checkout.post.php):
  • Обрабатывает выбор даты доставки покупателем
  • Сохраняет выбранную дату и время в сессию корзины
  • Определяет день недели выбранной даты и загружает доступные временные интервалы
  1. Отображение на странице оформления (controllers/frontend/checkout.post.php):
  • Режим checkout передает расписания доставки в шаблон
  • Включает информацию о минимальном времени до начала доставки и ограничении по дням
  1. Миграции базы данных: При установке модуль выполняет миграции для добавления полей schedule, schedule_time, schedule_days в таблицу способов доставки.
  1. Сохранение в заказе: Выбранная дата и время доставки сохраняются в таблице ms_delivery_schedule_orders_time для каждого поставщика отдельно.

Где находится функциональность

  • Административная панель:
  • Настройки способов доставки с разделом "MS: Расписание доставки"
  • Настройка расписания по дням недели
  • Настройка ограничений (время до начала доставки, ограничение по дням)
  • Отображение выбранной даты и времени доставки в заказе
  • Витрина:
  • Страница оформления заказа с календарем выбора даты доставки
  • Отображение доступных временных интервалов для выбранной даты

Настройки способа доставки

  • MS: Расписание доставки: Раздел настроек расписания
  • Доступность в часах (schedule_time): Количество часов до крайнего времени доставки, чтобы день был доступен для заказа
  • Ограничение в днях (schedule_days): Количество дней вперед, на которое ограничивается календарь доставки
  • Расписание по дням недели: Настройка временных интервалов для каждого дня недели (например, "09:00 - 18:00")
  • Отображать дату при оформлении заказа (show_date_in_checkout): Показывать ли поле выбора даты
  • Отображать время при оформлении заказа (show_time_in_checkout): Показывать ли поле выбора времени

Технические детали

  • Модуль автоматически устанавливается в мультивендор и Ultimate редакции CS-Cart
  • При установке выполняет миграции для добавления полей в таблицу способов доставки
  • Создает таблицу ms_delivery_schedule_orders_time для хранения выбранных дат и времени доставки
  • Поддерживает множественные временные интервалы для одного дня недели
  • Интегрируется с модулем suppliers для работы с несколькими поставщиками в одном заказе
Продукт:
  • Store Builder
  • Store Builder Ultimate
  • Multi-Vendor
  • Multi-Vendor Plus
  • Multi-Vendor Ultimate
Назначение:
  • Владельцам
  • Покупателям
Архитектура
:
  • Backend
  • Frontend
Локализации:
  • English
  • Русский
Совместимость:
  • 4.19.X
  • 4.18.X
  • 4.17.X
  • 4.16.X
  • 4.15.X
  • 4.14.X
  • 4.13.X
  • 4.12.X
  • 4.11.X
  • 4.10.X

Установка модуля

После скачивания модуля, его установка производится штатными средствами CS-Cart на странице Панель администратора → Модули → Управление модулями → Загрузить и установить модуль (+).

Для версии CS-Cart более 4.13.1 Панель администратора → Модули → Управление модулями → Кнопка Шестеренка → Ручная установка.

Настройки модуля

Через панель администрирования: Администрирование Доставки и налоги Способы доставки, выбрать нужный способ доставки и прейти на вкладку [MS: Расписание доставки].

Image

Настраиваемые параметры:

  • Доступность в часах –  указывает, сколько часов должно оставаться до крайнего времени доставки, чтобы день был доступен для заказа. Например, указана настройка 48 часов, это означает, что в течение указанных часов до ближайшего дня доставки, оформить заказ будет нельзя. Доступные дни заказа будут не ранее 48 часов с момента оформления заказа.
  • Ограничение в днях – указывает, на сколько дней вперед ограничить доставку заказов. Например, 15 – доставка может быть заказана на период в ближайшие 15 дней, далее дни доставки в календаре не доступны.
  • Часы доставки на каждый день недели – на каждый день доставки могут быть указаны интервалы доставки в часах. Если доставки в этот день нет, то поле не заполняется.
Image

Отображение календаря доставки для клиента

На странице оформления заказа после способа доставки выводится поля с календарем и временем, где подсвечены доступные дни и время для доставки.

Image

Отображение календаря для Администратора

Для администратора дата доставки отображается внизу на странице заказа.

Image
**v1.5.0**  
[+] Добавлена возможность создавать несколько диапазонов времени на каждый день недели

**v1.4.0** от 19.01.2026  
[*] Приведены лицензирование, шаблоны и аннотации к стандарту

**v1.3.3**  
[\*] Не сразу обновлялось поле времени после выбора даты, исправлено.

**v1.3.2** от 14.08.2025  
[\*] Настройки отображения полей даты и времени на витрине перенесены из настроек модуля в настройки доставки

**v1.3.1** от 09.12.2024  
[!] Изменен хук checkout_place_orders_pre_route на place_order_post (дата не сохранялась в бд при редиректе с чекаута)

**v1.3.0** от 06.11.2024  
[+] Добавлена совместимость с мультивендором и модулем "Поставщики"  
[+] Расширен возврат функции get_order_info (показывает дату для каждого поставщика)  
[\*] Стандартизация языковых переменных  
[!] Исправлена ошибка при вводе и сохранении данных во вкладке MS: Расписание доставки  
[!] Исправлены различные ошибки js, частично переписаны функции

**v1.2.1** от 29.08.2023  
[\*] Стандартизация языковых переменных  
[\*] Изменение иконки модуля  

**v1.2.0** от 14.08.2023  
[\*] Добавление информации о времени доставки в заказах  
[\*] Стандартизация модуля  
[\*] Стандартизация логотипа компании  
[+] Добавлена иконка модуля  
[\*] Изменены короткие теги <? на обычные <?php  

**v1.1.0** от 01.07.2023  
[+] Лицензирование и обновление модуля  
[\*] Изменен CHANGELOG.md  
[!] Способы доставки: Нельзя выбрать время в каждый день недели, исправлено  
[!] Способы доставки: Нельзя оставить время пустым полем, если не работает в определенные дни, исправлено  
[-] README.md, удален  

**v1.0.1** от 08.12.2020  
[!] Исправлена ошибка js  

**v1.0.0** от 12.11.2020  
[+] Первое издание  

***

[+] Добавлено  
[-] Удалено  
[\*] Изменено  
[!] Исправлена ошибка
Отзывы
Владислав
На маркетплейсе 15 продавцов с разными графиками. Каждый настроил своё расписание — всё работает без конфликтов. Конверсия выросла на 12%, потому что покупатели сразу видят доступные даты. Обновляется регулярно, техподдержка быстро отвечает.
Светлана Полянская
В нашем салоне цветов каждый день своё расписание. Модуль позволил задать разные интервалы для будних и выходных, даже с учётом обеденного перерыва. За три месяца работы — ни одной ошибки с временем доставки. Покупатели выбирают дату прямо на сайте!
Игорь Жданов
Использую для доставки продуктов уже полгода. Настроил утренние и вечерние окна доставки — клиенты сами выбирают удобное время. Больше никаких звонков с уточнениями! Курьеры довольны, маршруты планируются заранее. Модуль окупился за первый месяц.
Похожие модули