Бронирование столиков (ReserveTables)
Модуль ReserveTables — runtime для заказов «на стол»: QR-меню, modal checkout, стандартный checkout с полем стола.
Контекст
Это часть режима QR-меню. Здесь — детали реализации.
Cookie стола
При заходе с ?table=N:
- Показывается модалка с номером стола.
- Сохраняется cookie
woo2iiko_table(24 часа). - В футере — ссылка «Ваш стол #N».
Modal checkout
При table_checkout_modal = yes:
- AJAX-форма в модальном окне.
- Поля: выбор стола, persons (число персон), имя, способ оплаты.
- Summary корзины.
- Отправка через
wp_ajax_iiko_send_order(noncemodal_checkout).
Стандартный checkout с полем стола
При table_checkout_modal = no (или режиме совместимости):
- В стандартный checkout добавляется поле
billing_table(select столов). - Скрываются лишние поля: email, last name, date/time, address, comments.
Смена стола
При allow_change_num = yes:
- В форме можно сменить номер стола.
Настройки
| Настройка | Ключ | По умолчанию | Назначение |
|---|---|---|---|
| Включить режим стола | table_enable | no | Отключает доставку. |
| Режим совместимости | table_enable_get_only | no | Стол + доставка одновременно. |
| Modal checkout | table_checkout_modal | yes | Модальное оформление. |
| Показывать номер | table_show_num | yes | Видимость номера стола. |
| Текст номера | table_num_text | — | Свой текст. |
| JS-селектор | table_js_selector | a.checkout, a.checkout-button | Кнопки для перехвата. |
| Смена стола | allow_change_num | no | Разрешить смену. |
Экспорт заказа стола
- Действие
iiko_before_order_export— ReserveTables готовит заказ стола. - Заказ экспортируется через
OrderTableRequest(а неOrderDeliveryRequest). - Order meta:
_billing_table(UUID стола),_billing_number_of_person.
AJAX-эндпоинты
| AJAX | Назначение |
|---|---|
wp_ajax_iiko_table_reserve | Бронь стола. |
wp_ajax_iiko_send_order | Отправка заказа. |