Модуль 2 · Блок A · ~2 часа · обязателен
Архитектура решения: где что ломается
Цель модуля: Дать карту системы: какие звенья участвуют в пути заказа, какое звено за что отвечает и как по симптому определить, в каком звене искать причину. Это базовый навык диагностики, на который опираются все последующие модули.
Результаты обучения — после модуля специалист сможет:
  • перечислить звенья контура: iiko → Dashboard → фронт (QR/Kiosk) → POS → фискализация → закрытие;
  • по симптому определить вероятное звено-источник проблемы;
  • отличать проблему данных от проблемы синхронизации и от проблемы устройства;
  • применять правило «источник истины» при расхождении статусов.

Урок 2.1. Звенья контура и их роли

ЗвеноЗа что отвечаетТипичные симптомы «его» проблем
iiko (учётная система клиента)Источник меню, цен, модификаторов, стоп-листов, столов, способов оплаты; фиксация заказа и продажПозиции нет во внешнем меню, цена старая, модификатор не привязан, позиция на стопе, стол не создан
СинхронизацияПеренос справочников из iiko в DashboardПозиция есть в iiko, но не появилась в Ailillu; удалённое всё ещё отображается
Dashboard (dashboard.ailillu.kz)Конфигурация ресторана: API, константы, столы, меню, фото, тип оплаты, Kaspi-сертификатНе та организация/точка/внешнее меню/терминальная группа; не загружен API
Фронт (QR-страница / Kiosk на iPad)Отображение меню гостю и сборка заказаСтарый кэш, QR ведёт не туда, приложение не открывается, ошибка авторизации
POS-терминал (Kaspi/Halyk)Приём суммы и проведение оплатыНе получает сумму, показывает неверную сумму, зависает на оплате
Фискальный контур (WebKassa и др.)Фискализация и печать чекаОплата есть, фискализации нет; чек не печатается
ФинализацияЗакрытие заказа и синхронизация финального статусаОплата прошла, заказ остался открытым; статусы фронта и iiko расходятся

Урок 2.2. Как локализовать проблему по симптому

Базовый алгоритм
  1. Что именно не работает? Отображение, выбор товара, создание заказа, оплата, чек или закрытие — это разные звенья.
  2. Воспроизводится ли? Один раз, на одном товаре, на одном устройстве или массово.
  3. Проверить источник данных в iiko — активность, категория, внешнее меню, стоп-лист, цена, модификаторы.
  4. Проверить конфигурацию Dashboard — API, константы, тип оплаты.
  5. Повторить синхронизацию и перезапустить фронт.
  6. Если после этого не решается — фиксировать данные (время, текст ошибки, ID заказа) и эскалировать.
Правило: Не передавайте задачу разработчику сразу. Сначала проверьте API, организацию, точку, внешнее меню, терминальную группу, другие константы и то, правильно ли клиент создал сущность в iiko.
Три частые ошибки диагностики
  • Проблема данных принята за баг. Позиция «пропала» — почти всегда стоп-лист, неактивность или не то внешнее меню, а не поломка платформы;
  • Проблема кэша принята за проблему данных. После правки в iiko нужны синхронизация и перезапуск фронта;
  • Изменения внесены в разные объекты. Клиент правит один товар, специалист смотрит дубль — проверяйте, что работаете с одной и той же сущностью.

Урок 2.3. Источник истины и правило безопасности денег

Источник истины: При расхождении статусов фактическое состояние берётся из системы (iiko и платёжный контур), а не с экрана Киоска. Экран может показывать старое состояние.
Правило безопасности денег: Любое действие, способное привести к повторному списанию или дублю заказа, выполняется только после установления фактического статуса предыдущей попытки. Если статус неясен — повторная оплата запрещена до выяснения.

Эти два правила проходят через весь курс. Они относятся к деньгам гостя и репутации клиента, поэтому в модулях 10 и 12 их проверка идёт с проходным баллом 100%.

Практическое задание

  1. Для каждого симптома укажите наиболее вероятное звено: (а) блюдо видно в iiko, но не видно в QR-меню; (б) сумма на терминале отличается от суммы заказа; (в) оплата прошла, чека нет; (г) в iiko заказ закрыт, на киоске открыт; (д) приложение на iPad не открывается.
  2. Опишите своими словами, чем отличается «проблема данных» от «проблемы кэша» и как их различить за два действия.
Критерий прохождения: Тест ≥ 80% + зачтено задание на локализацию симптомов.
Тест: вопросы этого модуля загружаются в Moodle отдельно, из банка вопросов (категория «Модуль 2»).