Domain Event Contracts
@betterdata/scm-contracts and @betterdata/dcm-contracts define typed event envelopes and contract-level request/response models used across supply and demand domains.
What Contracts Are
Contracts are the stable message layer between modules. Producers and consumers can type-check against these packages without coupling to runtime internals.SCM Events (@betterdata/scm-contracts)
Procurement
scm.procurement.po_created.v1scm.procurement.po_confirmed.v1scm.procurement.po_amended.v1scm.procurement.po_cancelled.v1scm.procurement.invoice_match_triggered.v1
Execution
scm.execution.receipt_scheduled.v1scm.execution.goods_received.v1scm.execution.shipment_picked.v1scm.execution.shipment_packed.v1scm.execution.shipment_shipped.v1scm.execution.pick_completed.v1scm.execution.shipment_dispatched.v1
Inventory
scm.inventory.stock_updated.v1scm.inventory.stock_reserved.v1scm.inventory.stock_reservation_failed.v1scm.inventory.stock_returned.v1
DCM Events (@betterdata/dcm-contracts)
Orders
dcm.orders.order_line_allocation_requested.v1dcm.orders.order_confirmed.v1dcm.orders.order_cancelled.v1dcm.orders.order_line_shipped.v1dcm.orders.order_line_allocation_failed.v1
Returns
dcm.returns.rma_requested.v1dcm.returns.rma_approved.v1dcm.returns.rma_rejected.v1dcm.returns.return_received.v1dcm.returns.return_restocked.v1dcm.returns.return_credited.v1
Demand
dcm.demand.forecast_generated.v1dcm.demand.signal_captured.v1dcm.demand.threshold_breach_detected.v1dcm.demand.replenishment_triggered.v1