@startuml recieving_orders_process

skinparam monochrome true

title ネット販売 受注・発送の流れ

entity Amazon
entity 楽天
entity Yahoo

Loop 常時取得

    Amazon <- CROSSMALL :API
    activate Amazon
    Amazon --> CROSSMALL :受注データ
    deactivate Amazon

    楽天 <- CROSSMALL : API
    activate 楽天
    楽天 --> CROSSMALL : 受注データ
    deactivate 楽天

    Yahoo <- CROSSMALL : API
    activate Yahoo
    Yahoo --> CROSSMALL : 受注データ
    deactivate Yahoo
end

deactivate CROSSMALL

== 8:00 ～ 受注取込 ==

Boundary ピッキングシート生成
database 商品マスタ

Boundary 受注チェックリスト生成
CROSSMALL -> 受注チェックリスト生成 : CSVファイル

CROSSMALL -> ピッキングシート生成 : CSVファイル

Note Left
単一CSVで
  ピッキング
  チェック用 生成
end note

activate ピッキングシート生成

    ピッキングシート生成 -> ピッキングシート生成 : セット分解

    ピッキングシート生成 -> 商品マスタ : ロケーション取得

    ピッキングシート生成 -> 電算室 : Amazonピッキング
    ピッキングシート生成 -> 電算室 : 楽天ピッキング
    ピッキングシート生成 -> 電算室 : Yahooピッキング

note over Amazon,楽天
    手配書作成
    B2B CSV作成
end note

[<- ピッキングシート生成 : 発注 -aピッキングシート×3

deactivate ピッキングシート生成

電算室 -> SLIMS : DB投入
    
activate 受注チェックリスト生成
    
    database 出荷チェック用DB
    受注チェックリスト生成 -> 出荷チェック用DB :DB投入

deactivate 受注チェックリスト生成

entity e飛伝
entity ネコポス

CROSSMALL -> e飛伝 :CSV_e飛伝
CROSSMALL -> ネコポス :CSV_ヤマトB2

== 9:30～ 振分・梱包 ==

ピッキングシート生成 -> 振分 : 振分け用商品リスト

SLIMS <-- ピッキング : ハンディ

activate ピッキング

    CROSSMALL -> 振分 : 納品書

    activate 振分
    e飛伝 -> 振分 : 佐川送り状
    ピッキング -> 振分 : 商品

deactivate ピッキング

    振分 -> 梱包 : 商品・納品書

    deactivate 振分

activate 梱包

    ネコポス -> 梱包 : ネコポス送り状

    出荷チェック用DB <-- 梱包 : 出荷商品チェック

    梱包 -> 出荷 : 梱包済_商品
    
deactivate 梱包

== 16:00～ 出荷通知 ==

e飛伝 -> CROSSMALL : 送り状番号
activate CROSSMALL
ネコポス -> CROSSMALL : 送り状番号

Loop APIにて実行
    CROSSMALL -> Amazon : 送り状番号
    CROSSMALL -> 楽天 : 送り状番号
    CROSSMALL -> Yahoo : 送り状番号
    deactivate CROSSMALL
end

@enduml