planning

Planning Service

Fulfillment planning service for the OMS ecosystem. Organizes confirmed orders into executable warehouse batches using WAVE or DYNAMIC modes.

Get Started View API Reference


Key Features

🌊 WAVE Mode (Batch Processing)

Accumulate orders into batches, validate and optimize, then release as a single wave. Inspired by SAP EWM and Microsoft Dynamics 365.

Use Cases: Carrier consolidation, zone-based picking, labor planning

⚑ DYNAMIC Mode (Continuous Streaming)

Auto-release orders immediately as they’re added. Waveless fulfillment for minimal cycle time. Inspired by Manhattan Associates.

Use Cases: Just-in-time fulfillment, single-item orders, rush orders

πŸ— Architecture

πŸ“Š Planning Capabilities


Quick Example

Create a WAVE Plan

curl -X POST http://localhost:8081/v1/plans \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Morning Wave - FedEx",
    "mode": "WAVE",
    "groupingStrategy": "CARRIER",
    "priority": "HIGH",
    "maxItems": 100
  }'

Add Items

curl -X POST http://localhost:8081/v1/plans/{planId}/items \
  -H "Content-Type: application/json" \
  -d '{
    "orderId": "01HZQY8F7G8H9I0J1K2L3M4N5O",
    "sku": "WIDGET-001",
    "quantity": 5
  }'

Process and Release

# Process the batch
curl -X POST http://localhost:8081/v1/plans/{planId}/process

# Release to warehouse floor
curl -X POST http://localhost:8081/v1/plans/{planId}/release

State Machine

CREATED β†’ (WAVE) β†’ PROCESSING β†’ RELEASED β†’ COMPLETED
           ↓
        HELD (pause)
           ↓
      PROCESSING (resume)

CREATED β†’ (DYNAMIC: auto on first item) β†’ RELEASED β†’ COMPLETED

Terminal States: COMPLETED, CANCELLED


Documentation

Getting Started

Architecture

Domain

Events


Part of OMS Ecosystem

Service Purpose Repository
Order Intake Order creation & confirmation coming soon
Planning Fulfillment planning mcp-log/planning
Fulfillment Pick, pack, ship future
Shipping Carrier integration future

Each bounded context is independently deployable with its own database and event stream.