Оформление заказа (checkout)
Checkout — ключевой воркфлоу: здесь клиент вводит данные, которые сформируют заказ и уйдут в iiko.
Расширенные поля checkout
Модуль CheckoutForm добавляет и модифицирует поля (если iiko_enable_checkout_modification = yes):
| Поле | Назначение |
|---|---|
billing_delivery_type | Тип доставки: курьер / самовывоз (radio). |
billing_time_choose | Выбор времени: ASAP или конкретный слот. |
billing_date | Дата доставки. |
billing_time | Время доставки. |
billing_date_time | Комбинированное дата+время (сохраняется meta). |
billing_phone | Телефон (с маской). |
billing_street, billing_home, billing_housing, billing_building, billing_entrance, billing_floor, billing_apartment, billing_doorphone | Адрес. |
billing_number_of_person | Количество персон. |
billing_table | Стол (в режиме стола). |
billing_terminal | Терминал (если включён показ). |
| Order comment | Комментарий к заказу. |
При выборе самовывоза адресные поля скрываются автоматически.
Маска телефона
iiko_use_tel_mask— основная маска+7 999 999 99 99.iiko_use_adv_tel_mask— расширенная маска.
Валидация
- AJAX-валидация формы (
wp_ajax_iiko_validate_checkout_form, noncewp_rest). - Валидация телефона (
iiko_phone_validationfilter). - Подсказки адреса (минимум 3 символа) —
wp_ajax_iiko_get_address_suggestions. - Автосохранение в
localStorage(TTL 10 минут) — данные не теряются при перезагрузке.
Подсказки адреса
При вводе адреса показываются подсказки (suggest) от настроенного провайдера геокодирования:
- DaData — подсказки + нормализация.
- 2GIS — подсказки + геокодирование.
- Yandex — подсказки + карта.
- iiko (legacy) — справочник городов/улиц.
Выбор времени доставки
Модуль DeliveryCalendar формирует селекторы даты и времени:
- Дата: доступные дни (Сегодня / Завтра / 7 дней / 31 день —
iiko_date_period). - Время: слоты по
iiko_time_slot_intervalиiiko_time_slot_duration.
Блокировка в нерабочее время
Модуль CheckoutSchedule показывает модалку «Ресторан закрыт» на checkout/cart, если ресторан закрыт по расписанию (iiko_enable_schedule = yes).
Доставка и оплата
- Методы доставки фильтруются по зоне (см. Зоны доставки).
- Методы оплаты доступны по маппингу iiko (см. Оплата).
- При самовывозе — только
local_pickup.
Бонусы на checkout
На чекауте активна ровно одна система лояльности:
- Если включён
iiko_enable_loyalty_system=yes— чекбокс iiko Card. Даже при включённомloona_bonuses=yesформа Loona не появится (плагин её отключает, см. Взаимоисключение). - Если включён только
loona_bonuses=yes— чекбокс «Использовать бонусы» Loona. - Если обе выключены — блок бонусов не отображается.
Что показывается на активной форме:
- Чекбокс «Оплатить бонусами» / «Использовать бонусы» с вводом суммы.
- Отображение баланса (для iiko Card —
iiko_bonuses_hintс плейсхолдером{limit}, для Loona —loona_bonuses_hint). - Динамический пересчёт итога (fee).
→ Настройка iiko Card → Настройка Loona
Сохранение данных
При оформлении (woocommerce_checkout_create_order):
- Все
billing_*поля сохраняются в meta заказа. - Координаты адреса сохраняются (если определены геокодером).
- Формируется предзапрос для экспорта в iiko.
Thank you page
На странице «Спасибо»:
- Прогресс-бар статуса заказа (если
show_order_progress_bar = yes). - Информация о дате/времени доставки.
- Инструкции по оплате (для шлюза Card on Delivery).
Адреса клиента
Если включён Address Manager:
- Адрес сохраняется в списке адресов клиента.
- При следующем заказе последний адрес выбирается автоматически.