$is_outsourced = $class_do->isOutsourceOrder($item['trans_type'], $item['trans_id']);
        //invalidation confirmation,
        //check if Outsourcing and Status is Valid
        if ($is_outsourced && ($item['status'] == $REQUIRED_STATUS || $item['status'] == '22')) {
            //VALID! allow process using this order
            $ean = $item['products_ean'];
            $products_id = $item['products_id'];
            $articles_id = $item['articles_id'];
            $quantity = $item['quantity'];
        } else {
            //INVALID! cancel process
            unset($item);
        }
    }
} else {
    $p = Product::getOldProductEANFunction()->getProductArticle($ean);
    $products_id = $p['products_id'];
    $articles_id = $p['products_articles_id'];
}
if ($products_id != 0) {
    $obj_product = new Product($products_id);
    $result['scanned_ean'] = $ean;
    $result['products_id'] = $products_id;
    $result['products_articles_id'] = $articles_id;
    if ($obj_product->isKilled()) {
        $result['status'] = 'KILLED';
    } else {
        $segment = $class_bin->retrieveSegmentDetail($segments_id);
        $jng_warehouses_id = $segment['warehouses_id'];
        if ($obj_product->category_top_id != $segment['categories_top_id']) {
            //WRONG SEGMENT, REJECT BIN IN