Process Types

Understanding the different process types and their allowed origins and destinations.

Overview

Process Types define the different kinds of inventory operations and movements that can be performed within the warehouse system. Each process type has specific rules about valid origins and destinations.

Available Process Types

BATCH_PROCESS

Description: Large-scale batch operations for bulk inventory movements

Allowed Origins Allowed Destinations
EXTERNAL ACTIVE, SCRAP, RESERVED

Use Cases: Receiving large shipments, bulk transfers from external sources

PICKING_PROCESS

Description: Order fulfillment and picking operations

Allowed Origins Allowed Destinations
ACTIVE, RESERVED PICKING

Use Cases: Moving items to picking areas for order preparation

PACKING_PROCESS

Description: Packaging operations for order completion

Allowed Origins Allowed Destinations
PICKING PACKING

Use Cases: Moving picked items to packing stations

PARCEL_PROCESS

Description: Parcel handling and shipping operations

Allowed Origins Allowed Destinations
PACKING EXTERNAL

Use Cases: Shipping packed orders to customers

INTERNAL_TRANSFER

Description: Internal warehouse movements and reorganization

Allowed Origins Allowed Destinations
ACTIVE, RESERVED, SCRAP, PUFFER ACTIVE, RESERVED, SCRAP, PUFFER

Use Cases: Reorganizing inventory, location changes, status updates

QUALITY_CONTROL

Description: Quality inspection and quarantine operations

Allowed Origins Allowed Destinations
ACTIVE, EXTERNAL SCRAP, ACTIVE

Use Cases: Quality inspections, defect management, quarantine

Storage Place Definitions

Storage Place Description Storage Class Parcel Support
ACTIVE Available inventory ready for picking ActiveStorageUnit
RESERVED Inventory allocated for specific orders ReservedStorageUnit
SCRAP Damaged or unusable inventory ScrapStorageUnit
PUFFER Temporary holding area for processing PufferStorageUnit
PICKING Items being prepared for orders PickingUnit
PACKING Items being packaged for shipment PackingUnit
EXTERNAL External sources/destinations N/A

Process Flow Examples

Standard Order Fulfillment Flow

EXTERNAL → ACTIVE → RESERVED → PICKING → PACKING → EXTERNAL 1. BATCH_PROCESS: Receive inventory (EXTERNAL → ACTIVE) 2. INTERNAL_TRANSFER: Reserve for order (ACTIVE → RESERVED) 3. PICKING_PROCESS: Move to picking (RESERVED → PICKING) 4. PACKING_PROCESS: Move to packing (PICKING → PACKING) 5. PARCEL_PROCESS: Ship to customer (PACKING → EXTERNAL)

Quality Control Flow

EXTERNAL → PUFFER → ACTIVE or SCRAP 1. BATCH_PROCESS: Receive for inspection (EXTERNAL → PUFFER) 2. QUALITY_CONTROL: Pass inspection (PUFFER → ACTIVE) OR QUALITY_CONTROL: Fail inspection (PUFFER → SCRAP)

Damage Management Flow

ACTIVE → SCRAP 1. QUALITY_CONTROL: Identify damage (ACTIVE → SCRAP)

Business Rules

Origin/Destination Validation

  • Each process type has strict rules about valid origin and destination combinations
  • The system validates these rules before allowing any movement
  • Invalid combinations result in validation errors
  • Business logic enforcement prevents data integrity issues

Parcel Support

  • Only PICKING, PACKING, and EXTERNAL storage places support parcel operations
  • Parcel methods are required when destination supports parcels
  • Parcel details include customer information and shipping data
  • Parcel tracking is integrated with external courier services

Decision Tree Integration

  • Process types determine which decision tree steps are executed
  • Different validation rules apply based on process type
  • Automated routing based on process requirements
  • Error handling specific to process contexts

Implementation Details

Enum Definition

Process types are defined in the ProcessTypeEnum class with static methods for validation:

ProcessTypeEnum::getAllowedOrigins('BATCH_PROCESS') // Returns: ['EXTERNAL'] ProcessTypeEnum::getAllowedDestinations('BATCH_PROCESS') // Returns: ['ACTIVE', 'SCRAP', 'RESERVED'] ProcessTypeEnum::isValidTransition('BATCH_PROCESS', 'EXTERNAL', 'ACTIVE') // Returns: true

Decision Tree Steps

Each process type has associated decision tree steps that handle specific business logic:

  • CheckProcessType - Validates the process type
  • CheckProcessAllowedToManipulateTables - Validates origin/destination
  • CheckWarehouseIntegrity - Ensures data consistency
  • Process-specific steps for detailed validation

Error Handling

Business Logic Errors

Error responses may be returned for business rule violations such as invalid process types, invalid origin/destination combinations, or missing parcel information. Exact error formats not verified from controller code.