Пропустить контент
Купить

Стоп-листы и остатки

Stop-list (стоп-лист) — список позиций, временно недоступных на конкретном терминале iiko (нулевой или ограниченный остаток). Woo2iiko синхронизирует стоп-листы и обновляет доступность товаров в WooCommerce.

Зачем нужен стоп-лист

  • Если в iiko блюдо помечено как unavailable — на сайте оно автоматически становится «нет в наличии».
  • Это предотвращает заказы позиций, которых физически нет на кухне.
  • Работает per-терминал (в сетевом режиме у каждого терминала свой стоп-лист).

Режимы синхронизации остатков

Настройка stop_list_sync_mode:

РежимПоведение
status_by_balance (по умолчанию)balance ≤ 0 → статус товара outofstock. Управление остатками WC не включается.
stock_by_balanceВключается manage_stock, quantity = floor(balance). Полная синхронизация количества.

Какой режим выбрать

  • status_by_balance — проще, достаточно для ресторанов (нужно только «в наличии / нет»).
  • stock_by_balance — если нужно точное количество на сайте.

Multi-terminal

Если включён use_terminals_meta (сетевой режим):

  • В meta товара allow_terminals хранится список GUID терминалов.
  • Остатки проверяются per-терминал.
  • Товар может быть доступен на одном терминале и недоступен на другом.

Сетевой режим

Источники обновления

Стоп-лист обновляется из нескольких источников:

ИсточникКак
CronПо расписанию stop_list_time (настраиваемый интервал).
Вебхук iikoiiko присылает событие StopListUpdateiiko_stoplist_webhook_update.
AJAXКнопка в админке → iiko_stoplist_ajax_background_check.
WP-CLIwp woo2iiko background_check_stop_list.
REST APIPOST /wp-json/woo2iiko/v1/stop-list/refresh.

Проверка перед экспортом (Cart guard)

Перед отправкой заказа в iiko модуль StopList проверяет корзину:

  • Если в корзине есть товар из стоп-листа — он удаляется.
  • Выбрасывается исключение (code 1001) — сигнализация удаления.
  • Клиенту показывается сообщение об изменении корзины.

Зачем нужна проверка

Между оформлением и оплатой статус мог измениться (вебхук от iiko). Cart guard гарантирует, что в iiko уйдёт только актуальный заказ.

Включается настройкой enable_check_stop (по умолчанию yes).

Настройки

НастройкаНазначениеПо умолчанию
stop_list_timeИнтервал cron-проверки'' (выключено)
stop_list_sync_modeРежим синхронизации остатковstatus_by_balance
enable_check_stopПроверка перед экспортом (cart guard)yes

Возможные значения stop_list_time: never, 5min, 10min, 15min, 30min, hourly, twicedaily, daily.

Meta товара

Stop-list управляет meta:

MetaСодержимое
_iiko_stoplist_controlledТовар контролируется стоп-листом.
_iiko_stoplist_modeРежим для товара.
_iiko_stoplist_last_balanceПоследний остаток из iiko.
_iiko_stoplist_updated_atВремя последнего обновления.

Кеш

Список стоп-листов кешируется (ApiTransientCache, ключ StopList). После ручных изменений — очистите кеш.

См. также

WOO2IIKO © 2019 - 2026 Алексей Тихомиров.