Skip to content
Event storming templates

Event Storm — Warehouse Inbound

Supplier slot booking through goods-in to putaway, with a quality check that fans out into accepted and quarantined pallets and a stock adjustment nobody commands.

Template previewEvent storming
Warehouse inbound — booking to putawayBounded contexts3Domain events7Event coverage85.7%Hotspots3Model smells1Domain eventCommandActorAggregatePolicyRead modelExternal systemHotspotInbound planning1 event · 1 command · 1 policy · 1 hotspotDelivery bookingGoods in4 events · 3 commands · 1 policy · 1 hotspotReceiptStock2 events · 1 command · 0 policies · 1 hotspotStock ledgerSupplier plannerBook delivery slotSlot bookedYard scheduleSupplier EDI gatewaySuppliers arrivewithout a slot onFridaysWhen slot booked,prepare dockYard marshalPrepare dockDock preparedDock operativeUnload trailerTrailer unloadedQuality inspectorCheck pallet qualityPallet acceptedPallet quarantinedA mixed pallet iscounted as one lineWhen pallet accepted,putaway stockForklift driverPutaway stockStock put awayAvailable to promiseCycle count adjustedWMS location masterPutaway is confirmedby scan but thelocation is fullWorkshop checksEvents with no producing command1Cycle count adjustedCommands with no resulting event0noneCommands with no aggregate0noneAggregates with no events0nonePolicies with a missing trigger event0nonePolicies with a missing command0noneHotspots per context3Inbound planning 1 · Goods in 1 · Stock 1Cross-context flows2Inbound planning → Goods in · Goods in → Stock

Make it your own.

title "Warehouse inbound — booking to putaway"

context "Inbound planning"
  actor "Supplier planner"
  aggregate "Delivery booking"
  command "Book delivery slot" by "Supplier planner" on "Delivery booking"
  event "Slot booked" from "Book delivery slot"
  readmodel "Yard schedule"
  external "Supplier EDI gateway"
  hotspot "Suppliers arrive without a slot on Fridays"
  policy "When slot booked, prepare dock" then "Prepare dock"

context "Goods in"
  aggregate Receipt
  command "Prepare dock" by "Yard marshal" on Receipt
  event "Dock prepared" from "Prepare dock"
  command "Unload trailer" by "Dock operative" on Receipt
  event "Trailer unloaded" from "Unload trailer"
  command "Check pallet quality" by "Quality inspector" on Receipt
  event "Pallet accepted" from "Check pallet quality"
  event "Pallet quarantined" from "Check pallet quality"
  hotspot "A mixed pallet is counted as one line"
  policy "When pallet accepted, putaway stock" then "Putaway stock"

context "Stock"
  aggregate "Stock ledger"
  command "Putaway stock" by "Forklift driver" on "Stock ledger"
  event "Stock put away" from "Putaway stock"
  readmodel "Available to promise"
  event "Cycle count adjusted"
  external "WMS location master"
  hotspot "Putaway is confirmed by scan but the location is full"