@startuml scale 1500x1500 mainframe Автооформление заказов actor user as user participant SITE queue kafka participant Gateway participant workflow participant wtis user -> SITE: Оформляет заказ SITE -> SITE: Сохраняет заказ в БД SITE --> kafka: Пишет заказ в kafka Gateway --> kafka: Забирает заказ Gateway -> workflow: CreateB2CAO workflow -> workflow: Проверяет условия АО workflow -> workflow: Проверяет тип доставки alt Тип доставки "Курьером" workflow -> workflow: Устанавливает таймер на N минут alt Поступила оплата в заказ до истечения срока таймера workflow -> workflow: Заканчивает автооформление\nУстанавливает дату доставки\nзаказа else Не поступила оплата в заказ до истечения срока таймера workflow -> wtis: Заказ передается во WTIS\nМеняется мастер система end else Тип доставки "Самовывоз" workflow -> workflow: Проверяет наличие\nкрупногабаритных товаров\nв заказе alt Крупногабаритных товаров в заказе нет workflow -> workflow: Заканчивает автооформление\nУстанавливает дату доставки\nзаказа else Крупногабаритные товары в заказе есть workflow -> workflow: Устанавливает таймер на N минут alt Поступила оплата в заказ до истечения срока таймера workflow -> workflow: Заканчивает автооформление\nУстанавливает дату доставки\nзаказа else Не поступила оплата в заказ до истечения срока таймера workflow -> wtis: Заказ передается во WTIS\nМеняется мастер система end end end @enduml