RunTicket


メンバー
user
charokoukuu
@charokoukuu
作品ページ
sequenceDiagram %%{init:{'theme':'base','themeVariables':{'primaryColor':'#6A7FAB','primaryTextColor':'#FAFBF9', 'primaryBorderColor':'#6A7FAB','lineColor':'#fff','textColor':'#6A7FABCC','fontSize':'20px'}, 'flowchart':{'rankSpacing':1}}}%% autonumber actor User participant client as RunTicketApp participant backend as RunTicketBackend participant payback as PaymentBackend participant proxy as VPS participant payapp as PaymentApp participant kiosk as Kiosk端末 participant mise as 店側端末 backend->>backend: Websocket Server起動 mise->>mise: Websocket Client起動 User->>client: メニュー選択 client->backend: 在庫確認 backend-->client: client->>backend: 注文を送信 backend->>backend: 注文データの保持 backend-->>client: 完了ステータス Note left of backend:status:not_paid client->>backend:決済リクエスト backend->>payback: 決済URLの作成 payback-->>backend: 決済フォームのURLを返却 backend-->>client: 決済フォームのURL client-->>User: 決済画面の提供 User->>payapp: 支払い情報の入力 payapp->>payback: 支払い情報の取得 payback-->>proxy: 決済リクエスト proxy-->>payapp: リバースプロキシ payapp-->>client:RunTicketAppへリダイレクト client->>payback:決済ステータスの取得 payback-->>client: client->>backend:在庫の更新 backend-->>client: client->>client:Websocket Client起動 client->>backend:完了ステータス Note left of backend:status:ordered backend->>mise:注文即時通知; mise->>backend:料理完成; Note right of backend:status:cooked client-->>User:QRコードを表示 User->>kiosk:QRコードを読み取り kiosk->>backend:ステータス書き換え backend-->>kiosk: Note right of backend:status:complete backend->>mise:注文完了 mise->>mise:完了済みの注文を削除 kiosk-->>User:食券発行