Our loyal costumer, an online hypermarket with a wide range of various goods (more than 10 million items)—a New Zealand analogue of Amazon.com—said: “We want to automate the process of checking, assembling, and sending orders to our clients, and solve the problem of identifying a large amount of orders using adhesive label printers. Could you help us to realize it?”
We have been working with this client for a long time. As the store has been running for more than 10 years, we have occasionally needed to rewrite and update some particular modules. In this case, it was necessary to solve the problems associated with logistics and warehouse accounting, which we solved by using printed labels with barcodes. Various kinds of labels help to find products at a warehouse, assemble orders, order additional items from supplier, and prepare documents for postal services and customs.
We were to work with the customer’s huge database, while maintaining a stable and continuous operation. With a database of more than 10 million items and 100 orders per hour, any failure could easily paralyze all store operations.
With such a great number of purchases, the processing and assembling of orders was made in the following way. After people made orders, stock availability was checked at each of 3 warehouses located in different countries. If the item was in stock, a worker at that particular warehouse was provided with location of the item on his laptop. The worker would find the item and scan the sticker code, and the available quantity of that item would change automatically. The status of the order also changed. Then, the worker was provided with the location of the next item from the order and so on.
Most of the goods were out of stock and were bought from suppliers as soon as the customer placed an order. Our program checked the stock availability at the warehouses and, if necessary, placed orders with suppliers. Then, when the goods were delivered by the suppliers, they were scanned and compared with the database. If the item code didn’t match the code from the database, that item was labeled with a barcode from the database. If they were ordered items they were sent to packaging; otherwise, they were sent to the warehouse as stock. The system checks the expected time of the supplier’s delivery and if a delay is incurred, the system orders the item from another supplier.
The customer wanted us to use fonts that were not supported by the label printer. We could not use the printer’s ability to download custom fonts directly as they were too big for printer’s memory. We excluded some data from those fonts, optimized them, and made them fit the memory available.
We provided a system that printed 5 types of labels with 3 subtypes. The packaging phase used 3 types: a label with the destination address and other customer data, a label with data necessary for customs (for international orders), and a label of congratulation (if selected by the customer) typed with a beautiful font and stuck on a special base inside the package.