Warehouse Management Guide
Overview
The Warehouse Management system provides multi-location inventory control with support for different warehouse types, capacity management, and location-based operations. Each warehouse can have unique settings, stock levels, and operational parameters.
Warehouse Types
Main Warehouse
Primary distribution center for inventory operations.
php
[
'type' => 'main',
'name' => 'Main Distribution Center',
'code' => 'MDC',
'is_active' => true,
]Characteristics:
- Central inventory hub
- Primary receiving location
- Fulfillment center
- Typically largest capacity
Satellite Warehouse
Regional fulfillment locations for faster delivery.
php
[
'type' => 'satellite',
'name' => 'West Coast Fulfillment',
'code' => 'WCF',
'parent_warehouse_id' => 1, // Links to main warehouse
]Use Cases:
- Regional distribution
- Faster shipping to specific areas
- Overflow storage
- Seasonal locations
Virtual Warehouse
Dropshipping or external stock not physically held.
php
[
'type' => 'virtual',
'name' => 'Supplier Dropship',
'code' => 'DROP',
'is_active' => true,
]Use Cases:
- Dropshipping from suppliers
- Third-party logistics (3PL)
- External warehouses
- Consignment locations
Consignment Warehouse
Supplier-owned inventory on your premises.
php
[
'type' => 'consignment',
'name' => 'Vendor Managed Inventory',
'code' => 'VMI',
'supplier_id' => 2,
]Characteristics:
- Supplier owns inventory
- Payment on consumption
- Supplier manages replenishment
- Reduced capital requirements
Creating Warehouses
bash
curl -X POST https://api.crm.test/api/v1/operations/warehouses \
-H "Authorization: Bearer {token}" \
-d '{
"name": "East Coast Distribution",
"code": "ECD",
"type": "satellite",
"address": {
"street": "123 Warehouse Ln",
"city": "New York",
"state": "NY",
"postal_code": "10001",
"country": "USA"
},
"contact": {
"name": "Warehouse Manager",
"email": "warehouse.ec@company.com",
"phone": "+1-212-555-0100"
},
"capacity": {
"total_sqft": 50000,
"pallet_positions": 2000
},
"settings": {
"allow_negative_stock": false,
"auto_reorder": true,
"require_bin_locations": true
}
}'Warehouse Settings
Stock Management
php
'settings' => [
'allow_negative_stock' => false, // Prevent overselling
'auto_reorder' => true, // Auto-generate POs
'require_bin_locations' => true, // Enforce bin tracking
'enable_batch_tracking' => true, // Track lot/batch numbers
'enable_serial_tracking' => false, // Serial number tracking
]Capacity Management
php
'capacity' => [
'total_sqft' => 50000, // Total square footage
'pallet_positions' => 2000, // Available pallet spots
'current_utilization' => 1500, // Currently used
'utilization_percentage' => 75.0, // 75% full
]Warehouse Operations
View Warehouse Inventory
Get all inventory for a warehouse:
bash
curl -X GET "https://api.crm.test/api/v1/operations/warehouses/1/inventory" \
-H "Authorization: Bearer {token}"Transfer Between Warehouses
Move stock between locations (see Inventory Guide).
Warehouse Statistics
bash
curl -X GET "https://api.crm.test/api/v1/operations/warehouses/1/statistics" \
-H "Authorization: Bearer {token}"Response:
json
{
"data": {
"warehouse_id": 1,
"warehouse_name": "Main Distribution Center",
"total_products": 450,
"total_stock_value": 1850000.00,
"total_stock_units": 12450,
"low_stock_items": 23,
"out_of_stock_items": 8,
"capacity_utilization": 75.0,
"recent_activity": {
"receipts_today": 5,
"shipments_today": 18,
"transfers_out": 3
}
}
}API Endpoints
| Method | Endpoint | Description |
|---|---|---|
| GET | /warehouses | List all warehouses |
| POST | /warehouses | Create warehouse |
| GET | /warehouses/{id} | Get warehouse details |
| PUT | /warehouses/{id} | Update warehouse |
| DELETE | /warehouses/{id} | Delete warehouse |
| GET | /warehouses/{id}/inventory | Warehouse inventory |
| GET | /warehouses/{id}/statistics | Warehouse stats |
Related Guides
- Multi-Warehouse Inventory - Inventory operations
- Stock Movement Tracking - Movement audit
- Purchase Orders - Receiving workflow