[ 'initial_name' => 'processing order', 'final_name' => 'order confirmed', 'description' => 'Order created and pending confirmation', 'sequence' => 0 ] ]; public const ORDER_PRIMARY_MODULAR_STEPS = [ OrderSteps::ORDER_SHIPPING_STEP => [ 'initial_name' => 'shipping', 'final_name' => 'shipped out', 'description' => 'Order is Loaded to Container, waiting for Shipment', 'sequence' => 1 ], OrderSteps::ORDER_DELIVERY_STEP => [ 'initial_name' => 'delivery', 'final_name' => 'Received', 'description' => 'Order out for delivery soon', 'sequence' => 2 ], ]; public const ORDER_MODULAR_STEPS = [ OrderSteps::ORDER_MODULE_WAREHOUSE => [ 'china_warehouse' => [ 'previous' => OrderSteps::ORDER_PROCESSING_STEP, 'next' => OrderSteps::ORDER_SHIPPING_STEP, 'steps' => [ OrderSteps::ORDER_WAREHOUSE_RECEIVING_STEP => [ 'initial_name' => 'pending supplier', 'final_name' => 'arrived at warehouse', 'description' => 'Waiting for supplier to deliver order to warehouse' ], OrderSteps::ORDER_WAREHOUSE_PACKING_STEP => [ 'initial_name' => 'packing', 'final_name' => 'packed', 'description' => 'Packing order into shipping container' ] ] ], 'malaysia_warehouse' => [ 'previous' => OrderSteps::ORDER_SHIPPING_STEP, 'next' => OrderSteps::ORDER_DELIVERY_STEP, 'steps' => [ OrderSteps::ORDER_WAREHOUSE_ARRIVAL_STEP => [ 'initial_name' => 'pending arrival', 'final_name' => 'arrived at warehouse', 'description' => 'Waiting for order\'s arrival & custom clearance' ], OrderSteps::ORDER_WAREHOUSE_UNPACKING_STEP => [ 'initial_name' => 'unpacking', 'final_name' => 'unpacked', 'description' => 'Unpacking order from shipping container' ] ] ] ], OrderSteps::ORDER_MODULE_NO_WAREHOUSE => [ 'pending_arrival' => [ 'previous' => OrderSteps::ORDER_PROCESSING_STEP, 'next' => OrderSteps::ORDER_SHIPPING_STEP, 'steps' => [ OrderSteps::ORDER_NO_WAREHOUSE_PENDING_SUPPLIER => [ 'initial_name' => 'pending supplier', 'final_name' => 'supplier packed order', 'description' => 'Waiting for supplier to pack order for shipping' ] ] ] ], ]; public const COMPANY_ORDER_PROCESSING = [ OrderSteps::ORDER_PROCESSING_STEP, OrderSteps::ORDER_NO_WAREHOUSE_PENDING_SUPPLIER, OrderSteps::ORDER_WAREHOUSE_RECEIVING_STEP ]; public const COMPANY_ORDER_SHIPPING = [ OrderSteps::ORDER_WAREHOUSE_PACKING_STEP, OrderSteps::ORDER_SHIPPING_STEP ]; public const COMPANY_ORDER_RECEIVING = [ OrderSteps::ORDER_WAREHOUSE_ARRIVAL_STEP, OrderSteps::ORDER_WAREHOUSE_UNPACKING_STEP, OrderSteps::ORDER_DELIVERY_STEP ]; public const WAREHOUSE_RECEIVING_CATEGORY = 'receiving'; public const WAREHOUSE_SHIPPING_CATEGORY = 'shipping'; public const WAREHOUSE_COMPLETE_CATEGORY = 'complete'; public const WAREHOUSE_CANCEL_CATEGORY = 'cancel'; public const WAREHOUSE_ORDER_RECEIVING = [ OrderSteps::ORDER_WAREHOUSE_RECEIVING_STEP ]; public const WAREHOUSE_ORDER_SHIPPING = [ OrderSteps::ORDER_WAREHOUSE_PACKING_STEP, OrderSteps::ORDER_SHIPPING_STEP, ]; public const WAREHOUSE_ORDER_COMPLETE = [ OrderSteps::ORDER_WAREHOUSE_ARRIVAL_STEP, OrderSteps::ORDER_WAREHOUSE_UNPACKING_STEP, OrderSteps::ORDER_DELIVERY_STEP ]; public const STEP_PROCESSOR = [ OrderSteps::ORDER_PROCESSING_STEP => ConfirmsOrder::class, OrderSteps::ORDER_WAREHOUSE_RECEIVING_STEP => WarehouseReceivesOrder::class, OrderSteps::ORDER_WAREHOUSE_PACKING_STEP => WarehousePackOrder::class, OrderSteps::ORDER_SHIPPING_STEP => ShipOrder::class, OrderSteps::ORDER_WAREHOUSE_ARRIVAL_STEP => WarehouseArrivalOrder::class, OrderSteps::ORDER_WAREHOUSE_UNPACKING_STEP => WarehouseUnpackingOrder::class, OrderSteps::ORDER_DELIVERY_STEP => DeliverOrder::class, ]; }