Skip to content

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' => '01hwxyz123abc456def789ghi0',  // 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' => '01hwxyz223abc456def789ghi0',
]

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/01hwxyz123abc456def789ghi0/inventory" \
  -H "Authorization: Bearer {token}"

Transfer Between Warehouses

Move stock between locations (see Inventory Guide).

Activate / Deactivate a Warehouse

Use the dedicated status endpoints to control whether a warehouse participates in inventory operations:

bash
# Activate
curl -X POST "https://api.crm.test/api/v1/operations/warehouses/01hwxyz123abc456def789ghi0/activate" \
  -H "Authorization: Bearer {token}"

# Deactivate
curl -X POST "https://api.crm.test/api/v1/operations/warehouses/01hwxyz123abc456def789ghi0/deactivate" \
  -H "Authorization: Bearer {token}"

Deactivation

Deactivating a warehouse does not delete inventory records. Existing stock remains tracked but the warehouse is excluded from new allocation and transfer operations. Reactivate the warehouse to resume normal operations.

API Endpoints

MethodEndpointDescription
GET/warehousesList all warehouses
POST/warehousesCreate warehouse
GET/warehouses/{id}Get warehouse details
PUT/warehouses/{id}Update warehouse
POST/warehouses/{id}/activateActivate warehouse
POST/warehouses/{id}/deactivateDeactivate warehouse
GET/warehouses/{id}/inventoryWarehouse inventory

Documentation for SynthesQ CRM/ERP Platform