A merchant may provide a number of varied products for sale to customers over the phone or via the Internet for delivery directly to the customer. Efficient handling and shipping of these products may be essential to the merchant's operation. To this end, the merchant may desire to maintain accurate dimensions and weights of all available products. For example, the merchant may use the dimensions and weights of each product in a multiple product order to determine the order in which the products are picked from inventory, the size of the containers needed to move the products to the packing location, the number and size of shipping containers or boxes required to ship the products in the order, and the orientation and manner in which each product will be packed for shipment. However, for a merchant that offers a large number of products for delivery, such as an online retailer, weighing and measuring each product may be a time consuming and resource intensive undertaking.
It is with respect to these and other considerations that the disclosure made herein is presented.
The following detailed description is directed to technologies for grouping products by size and weight in order to avoid having to measure and weigh every product offered for delivery by a merchant. Many products may have substantially the same size and weight based on industry standards for packaging of the products or by convention. For example, a 2-liter bottle of soda from two different vendors may be packaged in the same sized bottle and have substantially the same weight. Similarly, a carton of a dozen eggs from two different suppliers may have the same size and weight as well. Utilizing the embodiments described herein, products having similar size and weight may be grouped together in a group. By grouping products having similar dimensions together, the merchant may choose to only measure one of the products in the group, with the other products “inheriting” the dimensions of the measured product, significantly reducing the number of products that must be measured.
An online retailer may provide a customer-facing user interface that provides a means for a user to browse the products available for delivery or search the products by category, type, keyword, or other criteria. The customer-facing user interface may provide the details of the resulting products, including the type of packaging, and provide a picture or other graphic image of the product as well. The customer-facing user interface may further provide a method for selecting one or more products for inclusion into a virtual shopping cart, such as a drag-and-drop interface, for example. According to embodiments described herein, the customer-facing user interface may be extended to provide a means for inventory personnel or other authorized users to group products of similar size and weight together for use in other areas of the inventory system.
It should be appreciated that the subject matter presented herein may be implemented as computer process, a computer-controlled apparatus, a computing system, or an article of manufacture, such as a computer-readable storage medium. These and various other features will become apparent from a reading of the following disclosure and a review of the associated drawings.
While the subject matter described herein is presented in the general context of program modules that execute on one or more computing devices, those skilled in the art will recognize that other implementations may be performed in combination with other types of program modules. Generally, program modules include routines, programs, components, data structures, and other types of structures that perform particular tasks or implement particular abstract data types. Moreover, those skilled in the art will appreciate that the subject matter described herein may be practiced on or in conjunction with other computer system configurations beyond those described below, including multiprocessor systems, microprocessor-based or programmable consumer electronics, minicomputers, mainframe computers, handheld computers, personal digital assistants, cellular telephone devices, special-purposed hardware devices, network appliances, and the like. The embodiments described herein may also be practiced in distributed computing environments, where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.
In the following detailed description, references are made to the accompanying drawings that form a part hereof, and that show, by way of illustration, specific embodiments or examples. The drawings herein are not drawn to scale. Like numerals represent like elements throughout the several figures.
The network 108 may be a local-area network (“LAN”), a wide-area network (“WAN”), the Internet, or any other networking topology known in the art that connects the user computer 104 to the merchant system 120. The merchant system 120 may include a number of application servers 122 that provide various application services to the user computer 104 over the network 108. The user 102 may use a client application program executing on the user computer 104, such as a web browser, to access and utilize the services provided by the application servers 122 across the network 108. Alternatively, the user computer 104 may utilize any number of communication methods known in the art to communicate with the merchant system 120 and/or the application servers 122 across the network 108, including remote procedure calls, SOAP-based web services, remote terminal protocols, proprietary client-server architectures, and the like.
The application servers 122 may execute a number of modules in order to provide the services to the user computer 104. The modules may execute on a single application server 122 or in parallel across multiple application servers in the merchant system 120. In addition, each module may consist of a number of subcomponents executing on different application servers 122 or other computing devices in the merchant system 120. The modules may be implemented as software, hardware, or any combination of the two.
According to embodiments, a customer-facing interface module 124 executes on the application servers 122. The customer-facing interface module 124 provides services to the user computer 104 that allow the user 102 to browse and search products offered for sale by the merchant, as well as select products for delivery. The user 102 may browse and search the products through a customer-facing user interface (“UI”) presented by the customer-facing interface module 124 to the user at the user computer 104, as will be described below in regard to
The customer-facing interface module 124 may retrieve the information regarding the products offered by the merchant from a number of inventory items 126 maintained by the merchant system 120. An inventory item 126 may be a data structure that stores the identity, description, and other parameters of a corresponding product. According to one embodiment, the inventory item 126 also contains weight and dimensional data regarding the corresponding product, as will be described in more detail below in regard to
In a further embodiment, a grouping module 130 also executes on the application servers 122. The grouping module 130 works in conjunction with the customer-facing interface module 124 to extend the customer-facing UI presented on the user computer 104 to allow the user 102 to group products of similar size and weight, as will be described below in regard to
The grouping module 130 may further provide additional services to the user computer that allow the user 102 to manage the product groups 132, such as adding or removing products from a product group; changing the source product of the product group; viewing the dimension data for the source product or other products in the product group; and the like. The user 102 may manage the product groups 132 through a UI presented by the grouping module 130 to the user at the user computer 104, as will be described below in regard to
According to embodiments, the inventory item 126 also includes weight and dimensional data 220 for the corresponding product. The weight and dimensional data 220 in the inventory item 126 may be used by the merchant system 120 for the storage, shipping, and handling of the corresponding product. For example, the merchant may use the weight and dimensions of each product in a multiple product order to determine the order in which the products are picked from inventory, the size of the totes needed to move the products to the packing location, the number and size of shipping containers or boxes required to ship the products in the order, and the orientation and manner in which each product will be packed for shipment. The weight and dimensional data 220 may include a weight 222 of the corresponding product, along with a length 224, width 226, and height 228 of the product. It will be appreciated that the weight and dimensional data 220 stored in the inventory item 126 may include additional or alternative elements beyond the weight 222, length 224, width 226, and height 228 described herein, including, but not limited to, shape and volume of the corresponding product.
The inventory item 126 may also contain a measurement date 230 indicating when the weight and dimensional data 220 was last determined for the corresponding product, and a measurement source 232 indicating how the weight and dimensional data was obtained. For example, a product may be measured automatically by a dimensional scanner, such as a CUBISCAN® cubing and weighing system from QUANTRONIX, Inc. of Farmington, Utah. Alternatively, the product may be measured and weighed manually by inventory personnel. According to embodiments, not every product having a corresponding inventory item 126 in the data storage system 128 may have been measured. The lack of weight and dimensional data 220 for a product may be indicated by storing zero values in the weight 222, length 224, width 226, and/or height 228 of the corresponding inventory item 126, or by storing a null-date value in the measurement date 230, for example. It will be further appreciated that the inventory item 126 may contain additional data elements beyond those shown in
According to one embodiment, the inventory item 126 for the source product is used to provide weight and dimensional data 220 for all other products in the product group 132. In other words, the products identified by the mapped item SKUs 306A-306N in a product group 132 “inherit” the weight and dimensional data 220 of the product identified by the source item SKU 304. In another embodiment, no source item SKU 304 is specified in the product group 132, and the products identified by the mapped item SKUs 306A-306N in the product group inherit the weight and dimensional data 220 of the product in the group having the most up-to-date weight and dimensional data 220, i.e. the most recent measurement date 230 in the corresponding inventory item 126.
It will be appreciated that other methods may be utilized to determine a source product for weight and dimensional data 220 for all the products identified in the product group 132 beyond the explicit source item SKU 304 or most recent measurement date 230 described herein, and it is intended that this application include all such methods of determining the source product for the product group. In a further embodiment, the weight and dimensional data 220 of the source product is only utilized for products identified by the mapped item SKUs 306A-306N in the product group 132 having no specified weight and dimensional data 220 in the corresponding inventory item 126. It will be further appreciated that the product group 132 may contain additional data elements beyond those shown in
As shown in
According to embodiments, the extended UI 400 also includes grouping UI components 410 added to the customer-facing UI that facilitate the grouping of products by size and weight. The grouping UI components 410 may be displayed in a reserved space in a window containing the customer-facing UI, or may partially overly the customer-facing UI elements displayed within the window. In another embodiment, the grouping UI components 410 may be displayed in a separate window in conjunction with the display of the customer-facing UI.
In one embodiment, the grouping UI components 410 include a number of group boxes 412A-412F (referred to herein generally as group box 412) displayed in a grid across the top of the window containing the customer-facing UI, as shown in
When the user 102 drops the dragged graphic image 206A into the first group box 412A, the group box is labeled with the product description 204A for the corresponding product from the resulting product list 406 and the graphic image for the product is placed in the group box, as shown in
The user 102 may then drag the graphic images 206B, 206C corresponding to products in the resulting product list 406 known to have similar size and weight to the reference product from the resulting product list 406 into the group box 412A, as indicated by arrows 602 and 604 shown in
In addition, the products corresponding to the dragged graphic images 206B, 206C may be removed from the resulting product list 406, as shown in
The user 102 may continue to utilize the extended UI 400 to identify products having similar size and weight to the reference products established for group boxes 412A and 412B, and to group these products with the corresponding reference products using the drag-and-drop mechanism described above, as indicated by arrows 802 and 804 of
It will be further appreciated that the resulting product list 406 generated by a browse or search operation utilizing the browsing and searching UI components 402 may be sorted differently from the conventional sort order of the customer-facing UI in order to facilitate the grouping of products by size and weight. For example, the products in the resulting product list 406 may be sorted by a component of the product description 204 or another element from the corresponding inventory item 126 that may indicate the size, weight, count, or other dimensional aspect of the product. In this way, products likely to have similar size and weight may appear together in the resulting product list 406. In addition, as subsequent browse and search operations are executed utilizing the UI elements of the customer-facing UI, those products already contained in one of the group boxes 412 or in a product group 132 may be excluded from the resulting product list 406. This may facilitate easier identification of products having similar size and weight that have not already been included in a group.
Once the user 102 has grouped the desired products having similar size and weight into one or more of the group boxes 412, the user may select a UI control included in the grouping UI components 410, such as the submit pushbutton UI control 808 shown in
The extended UI 400 may include other UI components or mechanisms that facilitate the grouping of products by size and weight beyond the group boxes 412 described above and shown in the figures. For example, the extended UI 400 may allow the user 102 to drag the graphic image 206A-206G corresponding to a first product in the resulting product list 406 onto the graphic image of a second product having a similar size and weight. This action may cause the grouping module 130 to add a new product group 132 to the data storage system 128 having the SKU of the second product as the source item SKU 304 and the SKU of the first product as a mapped item SKU 306. If the second product already exists in a product group 132, the grouping module 130 may merely add the SKU of the first product as a mapped item SKU 306 in that product group. In addition, the extended UI 400 may display a text or graphic indicator in proximity to some products in the resulting product list 406 indicating products already grouped within a product group 132; products that are identified as source items in a product group; products that have weight and dimensional data 220 in the corresponding inventory item 126; the number of other products grouped with the product in a product group; and the like. It is intended that this application include all such methods of extending a customer-facing UI to facilitate the grouping of products by size and weight.
As shown in
If the user 102 selects the view pushbutton UI control 908, the grouping module 130 causes the user interface 1000 shown in
In addition, the source item details 1002 and/or each mapped item row 1004 may include a UI control, such as the remove pushbutton UI control 1008 shown in
The user interface 1000 may further include a UI control, such as a hyperlink incorporated in the display of the source item SKU 304 and/or the mapped item SKUs 306, that allows the user to view the weight and dimensional data 220 for the corresponding product. For example, if the user 102 selects the source item SKU 304 in the source item details 1002, the grouping module 130 causes an item dimensions panel 1102 to be displayed to the user, providing the weight and dimensional data 220 from the inventory item 126 corresponding to the source product. The item dimensions panel 1102 may include the weight 222, length 224, width 226, and height 228 from the inventory item 126, along with the measurement source 232 and measurement date 230 for the weight and dimensional data 220.
It will be appreciated that the UI controls and components shown in the accompanying drawings are provided as example implementations only, and that other UI controls and components known in the art may be utilized in the user interfaces 400, 900, and 1000 to provide the functionality described above. The implementation is a matter of choice, and may depend on the technology utilized by the customer-facing interface module 124 and/or the grouping module 130 to present the user interfaces 400, 900, and 100 to the user 102, the type of the user computer 104 on which the user interfaces are rendered, and other factors. It will be further appreciated that the user interfaces 400, 900, and 1000 shown in the figures may appear differently on different types of user computers 104.
Turning now to
The routine 1200 begins at operation 1202, where the grouping module 130 receives a list of products designated as having similar size and weight. In one embodiment, the grouping module 130 receives the list of products from the user 102 through a user interface, such as the extended UI 400 described above in regard to
The extent to which products must be similar in size and weight to be included in the list of products may depend upon the requirements of the merchant and the nature of the products being offered. As described above, many products may have substantially the same size and weight based on industry standards for packaging of the products or by convention. For example, a 2-liter bottle of soda from two different vendors may be packaged in the same sized bottle and have substantially the same weight. Similarly, a gallon of milk from two different suppliers may have the same size and weight as well. For such products, only those having substantially the same size and weight may be included in the list of products designated as having similar size and weight.
From operation 1202, the routine 1200 proceeds to operation 1204, where the grouping module 130 creates a product group 132 in the data storage system 128 for the list of products designated as having similar size and weight. The grouping module 130 may generate the unique group ID 302 for the product group 132 to be used to identify the product group to the grouping module 130 and/or other modules of the merchant system 120. Further, the grouping module 130 may store a mapped item SKU 306 in the product group 132 corresponding to each product in the list of products.
The routine 1200 proceeds from operation 1204 to operation 1206, where the grouping module 130 selects one product from the list of products to serve as a source of weight and dimensional data 220 for the remainder of products in the product group 132. In one embodiment, the source product may be designated by the user 102 through the user interface, such as the specification of a reference product for a group box 412 by the user through the extended UI described above in regards to
The routine 1300 begins at operation 1302, where the grouping module 130 receives a designation of a reference product having a particular size and weight. In one embodiment, the grouping module 130 receives the designation of the reference product from the user 102 through a user interface, such as the extended UI 400 described above in regard to
The routine 1300 proceeds from operation 1304 to operation 1306, where the grouping module 130 receives a designation of a second product having a similar size and weight to the reference product. As described above in regard to operation 1302, the grouping module 130 may receive the designation of the second product from the user 102 through the extended UI 400. For example, the user 102 may drag the graphic image 206B corresponding to the second product from the resulting product list 406 into the group box 412A designated for the reference product, as indicated by arrow 602 shown in
From operation 1308, the routine 1300 proceeds to operation 1310, where the grouping module 130 selects one product from the product group 132 to serve as a source of weight and dimensional data 220 for the remainder of products in the group. In one embodiment, the source product may be the reference product specified in operation 1302. In another embodiment, the grouping module 130 may determine the source product programmatically, as described above in regard to operation 1206. It will be appreciated that the grouping module 130 may utilize other methods of determining the source product for the product group 132 than those described herein. Once the source product is selected, the grouping module 130 stores the SKU of the source product in the source item SKU 304 of the product group 132. From operation 1310, the routine 1300 ends.
The computer 1402 includes a baseboard, or “motherboard,” which is a printed circuit board to which a multitude of components or devices may be connected by way of a system bus or other electrical communication paths. In one illustrative embodiment, one or more central processing units (“CPUs”) 1404 operate in conjunction with a chipset 1406. The CPUs 1404 are standard programmable processors that perform arithmetic and logical operations necessary for the operation of the computer 1402.
The CPUs 1404 perform the necessary operations by transitioning from one discrete, physical state to the next through the manipulation of switching elements that differentiate between and change these states. Switching elements may generally include electronic circuits that maintain one of two binary states, such as flip-flops, and electronic circuits that provide an output state based on the logical combination of the states of one or more other switching elements, such as logic gates. These basic switching elements may be combined to create more complex logic circuits, including registers, adders-subtractors, arithmetic logic units, floating-point units, and the like.
The chipset 1406 provides an interface between the CPUs 1404 and the remainder of the components and devices on the baseboard. The chipset 1406 may provide an interface to a random access memory (“RAM”) 1408, used as the main memory in the computer 1402. The chipset 1406 may further provide an interface to a computer-readable storage medium such as a read-only memory (“ROM”) 1410 or non-volatile RAM (“NVRAM”) for storing basic routines that that help to startup the computer 1402 and to transfer information between the various components and devices. The ROM 1410 or NVRAM may also store other software components necessary for the operation of the computer 1402 in accordance with the embodiments described herein.
According to various embodiments, the computer 1402 may operate in a networked environment using logical connections to remote computing devices and computer systems through the network 108. The chipset 1406 includes functionality for providing network connectivity through a network interface controller (“NIC”) 1412, such as a gigabit Ethernet adapter. The NIC 1412 is capable of connecting the computer 1402 to other computing devices over the network 108, such as the user computer 104, the data storage system 128, other application servers 122, and the like. It should be appreciated that any number of NICs 1412 may be present in the computer 1402, connecting the computer to other types of networks and remote computer systems.
The computer 1402 may be connected to a mass storage device 1418 that provides non-volatile storage for the computer. The mass storage device 1418 may store system programs, application programs, other program modules, and data, which are described in greater detail herein. The mass storage device 1418 may be connected to the computer 1402 through a storage controller 1414 connected to the chipset 1406. The mass storage device 1418 may consist of one or more physical storage units. The storage controller 1414 may interface with the physical storage units through a serial attached SCSI (“SAS”) interface, a serial advanced technology attachment (“SATA”) interface, a fiber channel (“FC”) interface, or other standard interface for physically connecting and transferring data between computers and physical storage devices.
The computer 1402 may store data on the mass storage device 1418 by transforming the physical state of the physical storage units to reflect the information being stored. The specific transformation of physical state may depend on various factors, in different implementations of this description. Examples of such factors may include, but are not limited to, the technology used to implement the physical storage units, whether the mass storage device 1418 is characterized as primary or secondary storage, and the like. For example, the computer 1402 may store information to the mass storage device 1418 by issuing instructions through the storage controller 1414 to alter the magnetic characteristics of a particular location within a magnetic disk drive unit, the reflective or refractive characteristics of a particular location in an optical storage unit, or the electrical characteristics of a particular capacitor, transistor, or other discrete component in a solid-state storage unit. Other transformations of physical media are possible without departing from the scope and spirit of the present description, with the foregoing examples provided only to facilitate this description. The computer 1402 may further read information from the mass storage device 1418 by detecting the physical states or characteristics of one or more particular locations within the physical storage units.
In addition to the mass storage device 1418 described above, the computer 1402 may have access to other computer-readable storage medium to store and retrieve information, such as program modules, data structures, or other data. It should be appreciated by those skilled in the art that computer-readable storage media can be any available media that may be accessed by the computer 1402. By way of example, and not limitation, computer-readable storage media may include volatile and non-volatile, removable and non-removable media implemented in any method or technology. Computer-readable storage media includes, but is not limited to, RAM, ROM, erasable programmable ROM (“EPROM”), electrically-erasable programmable ROM (“EEPROM”), flash memory or other solid-state memory technology, compact disc ROM (“CD-ROM”), digital versatile disk (“DVD”), high definition DVD (“HD-DVD”), BLU-RAY, or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store the desired information.
The mass storage device 1418 may store an operating system 1420 utilized to control the operation of the computer 1402. According to one embodiment, the operating system comprises the LINUX operating system. According to another embodiment, the operating system comprises the WINDOWS® SERVER operating system from MICROSOFT Corporation of Redmond, Wash. According to further embodiments, the operating system may comprise the UNIX or SOLARIS operating systems. It should be appreciated that other operating systems may also be utilized.
The mass storage device 1418 may store other system or application programs and data utilized by the computer 1402, such as the grouping module 130 described above in regard to
The computer 1402 may also include an input/output controller 1422 for receiving and processing input from a number of input devices 1424, such as a keyboard, a mouse, a touchpad, a touch screen, an electronic stylus, or other type of input device. Similarly, the input/output controller 1422 may provide output to a display device 1426, such as a computer monitor, a flat-panel display, a digital projector, a printer, a plotter, or other type of output device. It will be appreciated that the computer 1402 may not include all of the components shown in
Based on the foregoing, it should be appreciated that technologies for grouping products by size and weight are presented herein. Although the subject matter presented herein has been described in language specific to computer structural features, methodological acts, and computer readable media, it is to be understood that the invention defined in the appended claims is not necessarily limited to the specific features, acts, or media described herein. Rather, the specific features, acts, and mediums are disclosed as example forms of implementing the claims.
The subject matter described above is provided by way of illustration only and should not be construed as limiting. Furthermore, the claimed subject matter is not limited to implementations that solve any or all disadvantages noted in any part of this disclosure. Various modifications and changes may be made to the subject matter described herein without following the example embodiments and applications illustrated and described, and without departing from the true spirit and scope of the present invention, which is set forth in the following claims.
Number | Name | Date | Kind |
---|---|---|---|
5231566 | Blutinger et al. | Jul 1993 | A |
7979359 | Young et al. | Jul 2011 | B1 |
8086344 | Mishra et al. | Dec 2011 | B1 |
8219453 | Iida et al. | Jul 2012 | B1 |
20060080182 | Thompson et al. | Apr 2006 | A1 |
20060083423 | Brown et al. | Apr 2006 | A1 |
20060282339 | Musgrove et al. | Dec 2006 | A1 |
20090125814 | Willcock | May 2009 | A1 |
20090210320 | Adelman et al. | Aug 2009 | A1 |
20110055054 | Glasson | Mar 2011 | A1 |
Entry |
---|
Maurices boosts facility flow-through for complex, high-volume operations following successful implementation of supply chain execution solutions from HighJump software. (Mar. 16, 2005). Business Wire Retrieved from http://search.proquest.com/docview/445458852?accountid=14753. |