inventory.updated
freshscore recomputes on stock change
freshscore.updated
pricing applies FreshScore-band discount
freshscore.updated
zero-waste lists if score < 40
price.adjusted
behavior AI surfaces discounted Smart Basket
recommendation.generated
worker subscribes / orders
order.created
routing assigns driver
delivery.completed
ledger finalizes settlement
order.fulfilled
sustainable-action credits awarded
subscription.renewed
renewal dispatches fulfillment order
inventory.updated
Emitted when stock changes are detected from POS / RFID / shelf sensors / expiry OCR / warehouse systems.
Producer
inventory-telemetry-serviceConsumers (3)
Payload
Triggers
freshscore.updated
Emitted when FreshScore (0-100), spoilage probability, and discount window are (re)computed for an item.
Producer
freshscore-engineConsumers (4)
Payload
Triggers
price.adjusted
Emitted when a dynamic price is set from FreshScore bands, employer subsidy rules, and partner margins.
Producer
pricing-orchestrator-serviceConsumers (4)
Payload
Triggers
waste.item_flagged
Emitted when an item is auto-listed on the zero-waste marketplace (near-expiry, surplus, cosmetic defect).
Producer
zero-waste-marketplace-serviceConsumers (4)
Payload
Triggers
order.created
Emitted when a consumer/worker places an order (Smart Basket, subscription fulfillment, or marketplace purchase).
Producer
checkout-serviceConsumers (4)
Payload
Triggers
order.fulfilled
Emitted when an order is delivered and confirmed complete.
Producer
routing-engineConsumers (4)
Payload
Triggers
subscription.created
Emitted when a new micro-subscription is created (daily essentials, veggie box, employer pack).
Producer
subscription-engineConsumers (3)
Payload
Triggers
subscription.renewed
Emitted on each successful auto-renewal; billed via ledger with employer/worker split if configured.
Producer
subscription-engineConsumers (3)
Payload
Triggers
subscription.paused
Emitted when a subscription auto-pauses (travel, job change) or is manually paused.
Producer
subscription-engineConsumers (3)
Payload
Triggers
subscription.failed
Emitted when a renewal charge fails (insufficient credits, payment error).
Producer
subscription-engineConsumers (3)
Payload
Triggers
credit.earned
Emitted when a consumer earns grocery credits for a sustainable action.
Producer
credit-engineConsumers (2)
Payload
Triggers
credit.spent
Emitted when a consumer spends grocery credits on a discount, free delivery, or essential pack.
Producer
credit-engineConsumers (2)
Payload
Triggers
recommendation.generated
Emitted when the behavior AI generates Smart Basket suggestions or personalized discounts.
Producer
behavior-ai-serviceConsumers (3)
Payload
Triggers
delivery.assigned
Emitted when the routing engine assigns an order to an optimized route and driver.
Producer
routing-engineConsumers (3)
Payload
Triggers
delivery.completed
Emitted when a delivery is confirmed complete (order.fulfilled follows for ledger finalization).
Producer
routing-engineConsumers (3)
Payload
Triggers
No events recorded yet — seed sample events to see the stream.
Event-driven orchestrator
Every grocery module reacts to events — no tight coupling. Each event carries a correlation_id linking the full item/order lifecycle. Events are versioned (schema_version) for backward-compatible evolution and tracked through emitted → processing → processed.