Оформление заказа (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 Card или Loona):
- Чекбокс «Оплатить бонусами» с вводом суммы.
- Отображение баланса.
- Динамический пересчёт итога (fee).
Сохранение данных
При оформлении (woocommerce_checkout_create_order):
- Все
billing_*поля сохраняются в meta заказа. - Координаты адреса сохраняются (если определены геокодером).
- Формируется предзапрос для экспорта в iiko.
Thank you page
На странице «Спасибо»:
- Прогресс-бар статуса заказа (если
show_order_progress_bar = yes). - Информация о дате/времени доставки.
- Инструкции по оплате (для шлюза Card on Delivery).
Адреса клиента
Если включён Address Manager:
- Адрес сохраняется в списке адресов клиента.
- При следующем заказе последний адрес выбирается автоматически.