WO2014005190A2 - Methods, systems or computer programs for logistic planning based on proximity constraints and/or price optimization - Google Patents
Methods, systems or computer programs for logistic planning based on proximity constraints and/or price optimization Download PDFInfo
- Publication number
- WO2014005190A2 WO2014005190A2 PCT/AU2013/000736 AU2013000736W WO2014005190A2 WO 2014005190 A2 WO2014005190 A2 WO 2014005190A2 AU 2013000736 W AU2013000736 W AU 2013000736W WO 2014005190 A2 WO2014005190 A2 WO 2014005190A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- information
- vendors
- vendor
- user
- list
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
Definitions
- the present invention relates to methods, systems or computer programs for logistic planning based on proximity constraints and/or price optimization.
- the present invention is related to methods, systems or computer programs for searching, planning and/or recommending vendors along a route for a completing shopping list based on various constraints such as locations and/or areas defined by users, and prices given by the vendors, etc.
- a customer may have a predefined route or area to visit such as the route which the customer takes to go to work or visit a friend. Under this condition, the customer would like to find the best place to make all the purchases in a predefined shopping list. While the solution for the travelling salesman problem may help to optimize the distance and time of the route, it fails to take other constraints such as the shopping list, best prices, preferable stops, proximity of an area into consideration.
- US Patent Application No 20070288497 discloses an apparatus and method for providing route-based advertising and vendor reported business information to a user over a network.
- the invention relates to a method of providing information about vendors to a user, which comprises the steps: receiving from the user a query identifying a contemplated route; providing a computer database of self-reported business information from the vendors, each vendor having an identified geographic location; and providing to the user, via a server accessible over a network, information from the database concerning the business information of a set of vendors extracted from the database on the basis of geographic proximity to the route identified by the user
- the prior art does not provide a user friendly interface for a user to define the route or shopping area. It does not address the issues of different travelling patterns. Also it does not allow users to plan and calculate the logistic strategy for purchasing goods other than fuel .
- the present invention provides an electronic device for determining a route comprising : a geographic information system wherein the geographic information system is adapted to detect location information of the device; a user interface for accepting input from a user and displaying output to a user, and a central processing unit adapted to control the data flow to and from the user interface, geographic information system, through a data network; wherein the user interface is adapted to accept a list of items, and displaying the route thereon; the geographic information system is adapted to retrieve location information of one or more eligible areas or eligible routes; the central processing unit is adapted to send the geographic information and the list of product information to a central server, and to receive a routing results from a central server, wherein the central server comprises a item availability register and hosts a database containing information of vendors who has populated products and vendors information in the database; wherein the central server calculate the routing results with the following steps:
- the database contains information related to vendors who has populated products and vendors information in the database through a vendor application executed a computer device, wherein the products and vendors information comprises one or more of the following data : product name, product description, price, expiry date of the price, status of the product, number of unit available, discount status, expiry date of the discount, amount of discount, condition of the discount, vendor's name, vendor's address.
- the central server is adapted to assign a unique identify for each of the product stored in the database.
- the user interface is adapted to receive one or more constraint situations for calculating the route, where in the constraint situations comprising : minimum price, maximum number of shop allowed, locality for purchasing an item, weight of an item, traveling time, or petrol costs.
- the comparing products and vendors information step further comprises the steps of in the event that the constraint is minimum price or not specified, find the vendors who provide the minimum price for an item.
- the comparing products and vendors information step further comprises the steps of in the event that the constraint is travel time, find the vendors who has the shortest distant from the centre of a eligible area or eligible route.
- the looping step comprises the following steps: in the event that the constraint is maximum number of shops allowed,
- the central processing unit is further adapted control the user interface to provide the function allowing a user to record or save a special, deal, discount, or product of interest in the user profile, wherein the central processing unit will communicate with the central server and retrieve the status of the deal, and notify the user about any change in the status.
- the geographic information system is adapted to obtain the location information from a user through the user interface and connect to a third party application such as Google maps to obtain the location information.
- the geographic information system comprises a geographic positioning system which is adapted to generate coordinates of the current location of the electronic device.
- the geographic information system is adapted to obtain a radius of the eligible area from the user interface.
- the user interface is adapted to receive product information comprising one or more of a picture, bar code, ISDN, or description of a product; the central processing unit will send the product information to the central server for retrieving the unique identifier, and record on the list.
- the route displayed on the user interface further comprises one or more of the following information : which items should be purchased at each vendor; the best route to take in order to visit all vendors; or directions.
- the user interface is adapted to receive payment and online ordering information; the central processing unit will submit the payment and online ordering information to the central server.
- the device is in the form of a smart phone executing a software application.
- the device is a computer system executing a web base software.
- an electronic system for determining a route comprising : a customer application device connecting to a vendor application device and a central server through data network, wherein the customer application device comprises: a geographic information system wherein the geographic information system is adapted to detect location information of the device; a user interface for accepting input from a user and displaying output to a user, and a central processing unit adapted to control the data flow to and from the user interface, geographic information system, a data network; a vendor application device adapted to receiving information of a vendor and information of products provided by the vendor; a central server comprising a item availability register and hosts a database containing information of vendors who has populated products and vendors information in the database; wherein the user interface is adapted to accept a list of items, and displaying the route thereon; the geographic information system is adapted to retrieve location information of one or more eligible areas or eligible routes; the central processing unit is adapted to send the geographic information and the list of product information to a central server, and to receive a routing results
- a method for determining a route using an electronic device comprising a geographic information system wherein the geographic information system is adapted to detect location information of the device; a user interface for accepting input from a user and displaying output to a user, and a central processing unit adapted to control the data flow between the user interface, geographic information system, a data network; wherein the user interface is adapted to accept a list of items, and displaying the route thereon; the geographic information system is adapted to retrieve location information of one or more eligible areas or eligible routes; the central processing unit is adapted to send the geographic information and the list of product information to a central server, and to receive a routing results from a central server, wherein the central server comprises a item availability register and hosts a database containing information of vendors who has populated products and vendors information in the database; comprising the steps: (a) retrieving the vendors and the product information thereof from the database, wherein the each vendor is located in the one or more eligible areas or eligible routes;
- Figure 1 is a schematic diagram of the system according to one embodiment of the present invention.
- Figure 2 is a control flow diagram of a vendor application according to the system of Figure 1 ;
- Figure 3 is a schematic diagram of an interface for a vendor to create a vendor account from the vendor applications in the system of Figure 1;
- Figure 4 is a schematic diagram of an interface for a vendor to login to the vendor account from the vendor applications in the system of Figure 1;
- Figure 5 is a schematic diagram of an interface for the vendor to manage their inventory information from the vendor application in the system of Figure i ;
- Figure 6 is a schematic diagram of the product information schema for use in the system of Figure 1 ;
- Figure 7 is a schematic diagram of a search interface for searching products using a third party application
- Figure 8 is a schematic diagram of the control flow of a customer application in the system of Figure 1;
- Figure 9 is a schematic diagram of an interface for a customer or user to create a customer account from the customer applications in the system of Figure 1
- Figure 10 is a schematic diagram of an interface for a customer or user to login to the customer account from the customer applications in the system of Figure 1;
- Figure 11 is a schematic diagram showing the relationship of the third party application and the system of Figure 1;
- Figure 12 is a schematic diagram of a shopping area defined from a customer application in the system of Figure 1;
- Figure 13 is a schematic diagram of an interface for a customer or user to view the list of shopping areas in the system of Figure 1;
- Figure 14 is a schematic diagram of an interface for a customer or user to define a new shopping area in the system of Figure 1;
- Figure 15 is a schematic diagram of an interface for a customer or user to view the map of shopping areas in the system of Figure 1 ;
- Figure 16 is a schematic diagram of an interface for a customer or user to define the centre and the radius of a shopping area in the system of Figure 1
- Figure 17 is another schematic diagram of an interface for a customer or user to define the centre and the radius of a shopping area in the system of Figure 1
- Figure 18 is a schematic diagram of an interface for a customer or user to remove a shopping area in the system of Figure 1;
- Figure 19 is another schematic diagram of an interface for a customer or user to view the map of shopping areas in the system of Figure 1;
- Figure 20 is a schematic diagram of an interface for a user to define a new route in the system of Figure 1;
- Figure 21 was a schematic representation of a shopping area formed by linking three shopping area components - two point and radius components and one route.
- Figure 22 is a schematic diagram of a finger gesture to define the size of the radius of a shopping area of Figure 12;
- Figure 23 is a schematic diagram of a map result displayed by the customer application in the system of Figure 1;
- Figure 24 is a schematic diagram representing the data structure relationship between the shopping list and shopping areas in the system of Figure 1;
- Figure 25 is a schematic diagram of an interface for a customer or user to manage a shopping list in the system of Figure 1 ;
- Figure 26 is a schematic diagram of an interface for a customer or user to add a shopping list in the system of Figure 1;
- Figure 27 is a flow chart of the method for generating a shopping plan with optimized the prices for a predefined shopping list and shopping areas and/or route in the system of Figure 1;
- Figure 28 is a flow chart of the method for generating a shopping plan with optimized the prices for a predefined shopping list and shopping areas and/or route with limited number of shops in the system of Figure 1;
- Figure 29 is a schematic diagram of a print out of the search results displayed by the customer application showing a preferred shopping area in the system of Figure 1;
- Figure 30 is a schematic diagram of a print out of the search results displayed by the customer application in the system of Figure 1;
- Figure 31 is a schematic diagram showing the online ordering function of the system of Figure 1. Detailed Description of the Preferred Embodiment
- FIG. 1 a system 1 for searching, planning and/or recommending vendors along a route which offers items on a shopping list based on various constraints such as locations and/or areas defined by customers or users, and prices given by the vendors.
- the system comprises a customer application 10 interacting with a central server 14 through a network 12 on one side and a vendor application 16 interacting with the central server 14 through the network on the other side.
- the customer application 10 is software running on a PC, smart phone or terminal
- the vendor application 16 is another software system/component running on a PC, smart phone or terminal.
- the central server 14 comprises a server system running database management software.
- the customer application 10 and the vendor application 16 are software clients, such as in the form of a web browser, which can download the suitable interface and implementation when the customer or user logs into the web server.
- the customer application 10 and the vendor application 16 can be a mobile app, a web application or a standalone application running on a personal computer (PC).
- PC personal computer
- the vendor application 16 provides an interface for vendors to self-report business information which is then stored in the database through the central server 14.
- the business information includes the vendor's geographic location information, information on the products, such as any discount, special or deal available from the vendors, the price for each product, the expiry date of the price, whether the product is on special or not, etc.
- the vendor application 16 is connected to the central server 14 through a network 12 such as the Internet.
- the central server 14 stores business information from various vendors in a centralized aggregated depository. However, one or more physical databases may be located in a number of different locations.
- the customer application 10 provides an interface for the customer or user to set up an account and gain access to the customer account information, specify a shopping list, define location information, query about status of the product such as whether it is on special or not, and query the locations where purchase can be made.
- the customer application 10 connects to the central server 14 through the network 12, forwards the queries to the central server 14, and presents the results to the customer or user when the results are returned from the central server 14.
- the customer application 10 provides the interface for the customer or user to record or save a special, deal, discount, or product of interest in the user profile.
- the customer application 10 can notify the user when the status of the special, deal, discount, or product of interest is about to change, for example, the expiry date of the deal is approaching.
- Figure 2 shows the control flow of the vendor application 16.
- the vendor application 16 provides the interface for the vendor to create or login to a vendor account.
- Figure 3 shows an example for the interface for the vendor to create a vendor account and
- Figure 4 shows an example of the interface for the vendor to login to the vendor account.
- Each vendor may have one vendor account in the system. Referring to Figure 3 where an example of the interface to create a vendor account is shown, the vendor has to at least specify the business name and a store location. It is envisaged that some vendors may have multiple stores which are located in different locations, and each store may provide a different set of items for sale to customers.
- the vendor application 16 may obtain the location information of the store using a number of methods.
- the vendor application 16 may provide a set of application programming interface (API) to a third party application such as Google maps to obtain the location information, optionally with the function of automatically completing an address.
- the vendor application 16 may request the GPS location data from a mobile device such as a smart phone which has a GPS embedded therein.
- the vendor application 16 may also provide the interface for the vendor to directly key in the address or geographic coordinates of the store.
- the vendor application 16 may provide a touch screen interface where a map is displayed on the touch screen. The vendor may input the location of the store by touching the particular location of the map displayed on the touch screen. The vendor application 16 then calculates the exact location or coordinates of the store identified by the vendor.
- the vendor may edit the vendor information stored in the database through the vendor application 16.
- the vendor may choose a store and start managing the inventory information in that store.
- the vendor may choose to add a new store or edit the store information such as the address of the store.
- a vendor may have more than one store. Also, there may be multiple user logins for a single vendor so that more than one person can manage the vendor or store information.
- the vendor may manage their inventory information in that store from the vendor application through an example of the interface as shown in Figure 5.
- the vendor may choose a store at a specific location and input the name and descriptions of a product, one or more pictures representing the product, the barcode for the product, a price or a price range for the product, the expiry date of the price, the number of that product available for sale, etc.
- a vendor may, from time to time, update the business information stored in the database that is located in the central server 14. For example, the vendor may change the price of an item that is sold in one of the stores.
- the product may be on special in a particular store for a period of time.
- the vendor application 16 is installed on a customized vendor system that comprises a scanning device which captures the barcode, UPC or ISDN of the product.
- the vendor application 16 can be in the form of a web interface on a PC or mobile device.
- the vendor application 16 can also be in the form of a standalone software application running on a PC or mobile device. This PC or mobile device may comprise a scanner or a camera for capturing the photograph, barcode, UPC or ISDN of the product.
- the customized vendor system then processes the captured data and fetches the product name, descriptions, photographs, etc from the database through the central server 14. Should the product name and descriptions not be available in the database, then the central server 14 will try to fetch the information from the Internet.
- the vendor may then edit the name and descriptions from the vendor application 16 as shown in Figure 5.
- a middleware is provided to integrate the vendor application 16 with the inventory management system of the vendor such that any change of the inventory information in the inventory management system, it will be automatically forwarded to the vendor application 16.
- the vendor application 16 provides an interface for bulk uploading inventory information to the system 1.
- the vendor application 16 After the vendor application 16 collects the data input by the vendor, the vendor application will forward the data to the database through the central server 14.
- the database holds the information of all known products that is self- reported by the vendors. In one embodiment, database will initially be primed with as many products (and as much product information) as possible. In that case vendors will almost always find the product information in the system already.
- Each product is associated with one or more identifiers. At least one of the identifiers, or a combination of identifiers associated with each product can be used to uniquely identify the product in the database. If no such identifier is available, the central server 14 will assign a unique identifier to that product, service or item. Typical externally assigned identifiers:
- the system may have additional information gathered from other source which is linked to the unique identifier, such as the ISBN "978- 0201853926” e.g. The book is a non-fiction, first published in 2005, author is “Donald E Knuth", average retail price is $19.99 etc. This information can be used to facilitate product searching for customers or users when creating shopping lists or when performing product searches.
- each item can also be associated with an internal identifier.
- This internal identifier is a parameter visible only to the database but transparent to the customers or vendors etc. Internal identifier can be assigned if external identifier is insufficient to uniquely identify the product or if there is no external identifier e.g. large cup of coffee.
- An Internal identifier uniquely identifies a certain item.
- the ID may also act as a classifier which classifies the type of goods or service for price comparison and assists in fuzzy matching.
- the ID is important in order to allow price comparisons between items that have no external ID.
- the database thus assigns an ID for each of these for classification : ⁇ Small coffee - ID1
- vendor A sells a small coffee for $1 and Vendor B sells a small coffee for $1.50.
- the small coffee sold by Vendor A and Vendor B may not be identical, they are in general similar, and neither has an external identifier such as a barcode or UPC. Therefore, both products are assigned the same ID for small coffee in the database.
- Vendor A provides dry cleaning service and Vendor B also provides dry cleaning service. Dry cleaning service is rarely associated with any external identifier such as barcode, UPC or ISBN .
- the central server 14 will perform a search for the appropriated ID to classify this service within the database. Otherwise, the central server 14 will assign a new ID when this service is first created in the database. For example, dry cleaning a pair of jeans will get a Unique Identifier. A 30 minutes massage and 45 minutes massage each will be assigned a Unique Identifier. If a vendor wishes to sell a product or service with no internal or external identifier, then the vendor may apply to have the product or service classified and added to the database. A new ID will then be assigned.
- each product available for sale from a vendor has at least the following data in the database :
- Vendor (and therefore a GPS location or coordinates).
- the central server 14 can then compare the prices of a product with the same ID from different vendors. To assist the searching and classification of products in the database, the central server 14 may further classify the product into a category and a subcategory. Lower-level categorization can go to any level e.g. consumable - grocery item - fruit - citrus - orange - naval oranges. For example, a vendor may run a restaurant and provide modern Australian cuisine. When this service is added to the database, a new ID will be assigned if it does not exist already in the database. The central server 14 may also classify the service in the category of "Dining" and in the sub-category of "Australian Cuisine". Following is a schematic table showing the relationship of the product information.
- the vendor profile stored in the database may comprise a list of favourite products of the vendor.
- the central server 14 will include this product in a favourite product list such that the vendor can pull the profile of that product from the database easily and perform editing, as such in Figure 5.
- FIG. 5 Following is a schematic representation of the database based on vendor reporting for items/products. Link is made through UI .
- the vendor application 16 also provides a reporting function which can generate sales and prices comparison report for a vendor as a reference to improve future sales strategy - this information would be sourced and processed on the central server 14.
- a vendor may request a report on all the products that has a status "on special". Without revealing any private information of any customer or user, the vendor application 16 may request the central server 14 to generate statistical reports showing the co-relationship of different data, such as the route, products purchased, and the prices, etc. For example, the central server 14 may generate a report with respect to the relation between the route or location and the products purchased.
- the information held in the database may be exported into different formats for use in different third party applications such as enhanced analysis or searching.
- the export information may include one or a combination of the following data :
- the central server 14 may provide the application programming interface to interact with a third party application and keep feeding the third party application updates regularly.
- the third part application may carry certain functions for the customer application 10 or the vendor application 16.
- FIG 8 where the control flow of a customer application 10 is shown.
- the customer application 10 provides the interface for the customer or user to create or login to a customer account.
- Figure 9 shows an example of an interface for the customer or user to create a customer account
- Figure 10 shows an example of an interface for the customer or user to login to the customer account. It is optional to have a customer account in order to perform some operations provided by the customer application 10. However, it is impossible to perform certain functions without logging into a pre-existing customer account, for example, storing a shopping list or route, etc.
- a user may be a customer or any person.
- Each user may have one customer account in the system .
- FIG 9 where an example of the interface to create a customer account is shown.
- the user may specify a user name, and a password to create a user profile.
- An user identification number (hereafter referred as "User ID") is then assigned by the central server 14 when the user account is created.
- the user may then insert other data such as an address, favourite products, and categories of interest etc. into a user profile in the database.
- the customer application 10 will be a web/mobile client (thin client) application displaying information that is actually stored/processed on the central server 14. Therefore, any third party systems would communicate with the central server 14 through API/web services.
- the link between an account on system 1 and a third party system may be created by associating the user identity with the same user account information such as username and password.
- the user may log into a Google account, and choose to link information with system 1.
- the user may provide login details to Google which uses them to access relevant information for the user from the central server 14. In this case, every time the user logs into Google, it is possible for the user to access to all shopping areas and lists in the user profile stored in central server 14.
- a user may link the user account to a Google account.
- the customer application 10 may comprise the API to share the user information stored in the Google account.
- the customer application 10 may also interact with other third party application, such as Google map or Google search to fetch information not readily available in the database as shown in Figure 11.
- the customer application 10 provides an interface for a user to define a geographical data of interested, such as a shopping area component, a shopping area or a shopping route.
- the customer application 10 may be a web page or mobile application through which the user can login to the central server 14 of the system 1.
- a shopping area component designates an area where a user has a preference area to shop.
- the user may directly enter an address (or GPS coordinates or other information which can be resolved to GPS co-ordinates e.g. Sydney Aquarium) as the centre of a shopping area and then provide a radius to specify the size (diameter) of the shopping area, as shown in Figure 12.
- the customer application 10 may have a default or pre-defined radius such that the user is not required to define the radius all the time, but just provides the centre point.
- the customer application 10 provides a number of means for the user to define the centre of the shopping area component.
- the central server 14 communicating with Google using Google Maps API, so that the user may use Google map to define the location information.
- the customer application 10 may request the current GPS location data from a mobile device which has a GPS embedded therein.
- the customer application 10 also provides an interface for the user to directly key in the address or geographic coordinates.
- the customer application 10 may provide a touch screen interface where a map is displayed on the touch screen. The user may input the location of the store by touching the particular location of the map displayed on the touch screen. The customer application 10 then calculates the exact location or coordinates of the location identified by the user.
- the customer application 10 may store the radius in the user profile such that the next time when the user defines a shopping area component, the customer application 10 can retrieve the previous radius stored in the user profile.
- the customer application 10 may obtain feedback to improve the radius of the shopping area component.
- the customer application 10 provides a questionnaire to the user asking whether the radius of the shopping area component is too big or too small, and then made makes adjustment to the radius stored in the user profile.
- the customer application 10 may obtain geographic data from a GPS system which detects the travelling behavior of the user and makes the adjustments based on the GPS data. For example, the default radius may be 1 km, but the GPS detects that the user usually wander around a shopping area component of 1.5km, the customer application 10 may user this information to change the default radius to 1.5km.
- a shopping area is a set of one or more shopping area components.
- a user may combine one or more shopping area components to form a shopping area (hereinafter referred as "SA").
- SA shopping area component
- a shopping area component is the most basic form of geographical information, it may comprise a point and a radius, a route, a postal area, a shopping centre, a city or a region, etc.
- Each shopping area component in the shopping area may consist of one or a combination of the following :
- SA Shopping area
- an interface as shown in Figure 13 is provided by the customer application 10 to define a Shopping Area.
- the user may select the option "Define New Shopping Area” to add a new shopping area component in a list.
- the customer application 10 will take the user to the "Define New Shopping Area” interface as shown in Figure 14.
- the user may add, remove or edit a new shopping area component.
- this interface provide the option for the user to view the details of shopping area and/or shopping area component, such as in a map or in combination with other geographical information as shown in Figure 15.
- an interface of the customer application 10 which displays the addition of a centre point and radius of a shopping area component.
- the centre point can be defined by specifying the street address or GPS coordinates. In the PC environment, this can be done by moving the cursor of the pointing device on the map display on the interface.
- the user may touch the point on the map displayed on the touch screen.
- FIG 18 there is shown an example of an interface of the customer application 10 to remove a shopping area component i.e. an area that will be removed from some other SA component.
- Figure 19 shows an example of the resulting interface of the customer application 10 after adding and removing of shopping areas and/or shopping area component.
- Figure 19 shows SA 5 consisting of two SA components - one defined a "removal”.
- the list of SAs is related to train or bus stations along certain train or bus line.
- the vehicle may only stop at certain stations but not anywhere in between unless there is an emergency.
- a commuter may board the train at station A and disembark at station B.
- the commuter may also disembark and embark at any station in between station A and station B.
- the user may define a SA by including station A, station B and/or any station in between. Understandably, a user may pass through some places along the train line, but it may not be practical to shop in those places. Therefore vendors from those places may be excluded from the search.
- the customer application 10 may provide an interface as shown in Figure 20 for a user may define a shopping route by specifying a start location A, an end location B, and the commuting route between location A and B route could be proposed.
- the customer application 10 may provide a set of application programming interfaces (APIs) to a third party application such as Google map, so that the user may use this third party application to define the location and route information.
- the APIs will capture the information from the third party application in order to define the shopping route for the user.
- the customer application 10 also may provide an interface for the user to directly key in the address or geographic coordinate of the route. The user may adjust the route with the map displayed by the customer application 10.
- the customer application 10 may provide a touch screen interface where a map is displayed on the touch screen.
- the user may input the start location or the end location by touching a particular place on the map displayed on the touch screen.
- the user may drag along the touch screen to define the commuting route. Default radius or specified radius is used at starting and ending point and along route.
- the user may use finger gesture to define the size of the radius for the shopping route. For example, as shown in Figure 22, when the two fingers move apart, the customer application 10 will interpret as increasing the radius of the shopping route. On the other hand, when two fingers move towards each other, the customer application 10 will interpret as decreasing the radius of the shopping route.
- the customer application 10 then calculates the exact location or coordinates of the route identified by the user.
- a user may define a GPS location A as the centre of a first shopping area with a radius of 30 km and GPS location B as the centre of a second shopping area with a radius of 20 km.
- the user may also define the shopping route join the first shopping area and the second shopping area.
- a user lives in location A, commutes to station B to catch a train to station C. Defining a single area to include the route taken from station B to station C would not be helpful as the commuter is on train and cannot jump off to shop anywhere along the route.
- the user may define a first shopping area centered at location A, a second shopping area centered at location B and a third shopping area centered at location C.
- the user may also include the route commuting between location A and location B.
- the customer application 10 may retrieve all the products that are advertised on special by the vendors within the shopping areas, or routes or those specified in a Shopping List.
- the customer application 10 allows a user to perform a search for a particular product or service that is available within the shopping areas.
- the shopping areas may associate one or a combination of the followings: County; Region; City; Postal code; Suburb; or Shopping Centre.
- a user may want to search where to obtain a pack of AAA battery along the route to work or within a particular shopping centre. The user first defines the shopping areas or routes as described above and then performs a search for AAA battery selling by vendors within the shopping areas or routes.
- the user may remove or exclude a shopping area . This can be done by specifying the shopping area component or shopping area to be removed or excluded.
- the user may re-define the radius of the shopping areas or shopping area components.
- the user may exclude a particular postcode, suburb or country.
- the user may also exclude a particular vendor or shopping mall.
- the user may compile an exclusion list which specifies the shopping area or route which the system 1 will not take into consideration when calculating the shopping plan.
- the customer application 10 may provide the function to allow a user to conduct a search based on any of the product information, such as description of the product in the database e.g. Nike Air Max shoes under $120.
- this product has a unique identifier, such as a bar code, UPC or ISBN or Internal Identifier assigned to it. Sometimes the identifier can have additional connotations associated with it. For example, the product is classified under the category of clothing and the sub-category of shoes. Therefore, extended searches can be performed based on the associated characteristics, including : category search, brand search, etc. In a category search operation, the central server 14 will retrieve products in the same category or sub-category. In a brand search, the central server 14 will retrieve products of the same brand.
- the customer application 10 may have functions to allow the customer or user to combine a number of different criteria in the search, such as a particular sub-category of goods from a particular brand.
- the user may carry out a search in a predefined SA or in one defined at the time of search .e.g. radius of 10km from current location.
- search for "Nike Air Max" in SA 1 which has already been defined as a postal area and a route.
- the customer application 10 may provide the device driver to interface with a scanning device.
- the scanning device can be used for capturing the barcode, UPC or ISBN of a product and passing it to the customer application 10 through the device driver. The user may then add the barcode, UPC or ISBN as one of the searching criteria to perform a search.
- the search result may be displayed using a map directly.
- the results may also include the distance from the user (mobile device or other specified location), prices, and product details. Following is an example of the result of a search on "Nike Air Max".
- a map result of a preferred embodiment is shown in Figure 23.
- the map result contains the information with respect to the vendors, the prices at which the item is offered by the each Vendor, the route to get there and the distance along those routes.
- the customer application 10 When a user wants to buy more than one product, the customer application 10 allows the user to define a shopping list. To compile the shopping list, the customer application 10 provides an interface for the user to key in or scan the name, barcode, UPC, ISBN, etc of the product.
- a Shopping List (hereafter refer as "SL") is a list of items of interest to customers.
- a shopping list can consist of one or more items. Each shopping list has a field to store the description of the list i.e. each SL can be named.
- a shopping list can exist as a permanent entity on a database or as a temporary list stored on the database or in memory during all or part of a user's session. Each item on a shopping list is linked to a unique identifier (one or more standard identifiers or an internally assigned identifier) on the database e.g.
- Item 1 A can of coke - Barcode (5901234123457)
- Item 2 A book entitled “Wuthering Heights” - ISBN (978-3-16-148410-0)
- Item 3 A tyre - UPC (123456789999)
- central server 14 responds to the customer application 10 all the items with "coke” in the description e.g.
- Each Shopping List can be linked to one or more shopping areas. Products listed by retailers registered in the shopping areas will be interrogated for pricing information.
- Figure 24 shows the relationship between the shopping list and the shopping areas.
- Each item on a SL can be associated with a number e.g. 4 * tyres X [UPC (123456789999)] .
- a vendor may choose to apply a discount, special, or deals when more than one item of a particular type is purchased. For example : A vendor ABC normally sells a particular brand of tyre (X) for $100. However, they may self-report that a special/deal will apply if 4 tyres are bought in the same transaction. The number of the specific item a user's shopping list could be used to determine if the special/deal applies. If a user requests only 1 unit of an item, such as 1 * Tyre X then the user will be notified that the price of the tyre from vendor ABC is $100. In another example, when a user request multiple units of an item, such as 4 * Tyre X then the user will be notified the price for 4 tyres from Vendor ABC is $360 having $10 discounted per Tyre X.
- a user can set up a shopping list with one or more validity dates and/or validity periods.
- a validity date/period will define the time for which a user is interested in purchasing items on the shopping list.
- the customer application 10 or central server 14 can filter items that are not due to be purchased so the user is only made aware of specials/prices that are available in the validity period for the shopping list.
- each price can be associated with a start and end date.
- a vendor may report a number of prices for an item, and each price links to a validity period. For example, vendor ABC reports that the following specials/prices/deals on Item 1 will be available:
- the system 1 will report a different price according to the date of the shopping list, for example : when the shopping list has a validity date of 02.01.2013 then the price of Item 1 from Vendor ABC is $1; when the shopping list has a validity date of 17.02.2013, then the price of Item 1 from Vendor ABC is $2.
- the shopping list may contain more complex validity date information. For example:
- a shopping list may have an end date associated with it.
- the system 1 and/or the customer application 10 will render the list expired on or after the date. This could be used when a shopping list was created for a specific purpose e.g. a person's birthday. The list is no longer valid after this date and will become dormant.
- Figure 25 there is provided an interface for managing a shopping list in the customer application 10 according to a preferred embodiment of the present invention.
- Figure 26 shows an interface for adding a shopping list in the customer application 10 according to a preferred embodiment of the present invention.
- a user may add an item into the shopping list with the interface as shown in Figure 26.
- a user may scan the barcode of an item in order to add an item to the shopping list.
- a scanner on a mobile device or other device may be used to scan the barcode of an item . This will generally provide a link to the external identifier against which merchants report product prices
- a user can enter some text in a text field provided by an interface of the customer application 10.
- the system 1 may use matching method (exact match, phonetic match, close spellings match) on descriptions for searching items in the database to provide a list of possible items to which the user may be referring. An exact match on the description will result in the specific item being added to the SL. If more than one item was returned by the searching subroutine from the central server 14, the user can choose the sought after item from the compiled list or perform another or refined search. If the user selects an item, then the system's unique identifier and other information associated with that item will be added to the SL.
- a user can enter an external or internal identifier manually e.g. barcode number.
- a user can upload a scanned receipt for multiple items.
- the system 1 may provide character recognition convert the receipt image into digital text. Each item is then used to perform an item search based on item descriptions. User may need to make selections from multiple possibilities where item cannot be fully resolved.
- the customer application 10 may accept a photograph of the product. The customer application 10 then performs a search on the database through the central server 14 for match of the product. If the product cannot be found in the database, the customer application 10 may extend the search on the Internet for the product appearing in the photograph and retrieve the product information therefrom.
- a user can select a number, a weight or unit to denote the quantity of the item(s).
- the customer application 10 allows the user to create multiple shopping lists.
- Each product on the users shopping list may be associated with a unique identifier (external or internal) on the database.
- customer application 10 will try to fetch the ID from the database through the central server 14. This can be done in a number of different methods, for example :
- the customer application 10 interrogates the database running on central server 14 and searches for the matching product using natural language search, fuzzy search, other searching algorithm;
- the customer application 10 allows the user to constrain the purchase of a particular product in the shopping list to certain predefined shopping areas. In other words, different products on the user's shopping list can be associated with different shopping areas
- product 1 is heavy and therefore not easy to carry e.g. a box of 36 cans of soda.
- the user may not wish to carry product 1 on the train and hence even the product may be cheaper in a shopping area centered at location B and C.
- the user may still want to constrain the purchase of product 1 in shopping area centered at location A because purchasing in this area is more practical where a car can used to commute and transport product 1.
- a product 2 is small and easy to carry, for example a pack of AAA batteries.
- the user may search availability of product 2 in shopping areas centered at any of the locations A, B, and C.
- the customer application 10 may allow a user to define a watch list.
- the customer application 10 will notify the user if all conditional criteria associated with a product on the watch list are satisfied. For example, a user may want to be notified when a particular product becomes available or becomes unavailable in a shopping area. In another situation a user may want to be notified when the availability price of a particular product/service on the wish list falls below a price threshold.
- Products can be on shopping list, watch list or both. Following is a table showing the relationship schema of a watch list.
- the customer application 10 may further provides the function of different types of optimizations.
- the customer application 10 can search for the best vendors to complete all the purchases on a shopping list. For example, a user defined a shopping list containing the following products:
- the central server 14 When the user requests to find the best vendors to complete the purchase of the products on the shopping list, the central server 14 performs the following steps:
- the central server 14 may present the following results.
- the central server 14 keeps an item availability register and an eligible vendors list for storing the results of the optimization algorithm .
- a method of generating a shopping plan for shopping in one or more shopping areas or routes according to a shopping list comprising the step of: retrieving the vendors and the product information thereof from the central server 14 in the one or more shopping areas or route (101, 102); looping through the shopping list items (103); in the event that no match is found for the item in the list of products, updating item availability register (104, 105 and 106); in the event that at least one matching item/product is found for the item in the list of products, then updating the item availability register and the eligible vendor list; and comparing and sorting the vendors in ascending or descending order based on prices of the item provided by each of the vendors (104, 107, 108 and 109); reiterating the comparing steps above for all items on the shopping list (110); calculating % items available in area; calculating the route to all the vendors on the eligible list; and
- the system 1 When performing this algorithm, the system 1 has to receive one or more shopping lists in association with one or more shopping areas collected from the customer application 10. Each of the items defined in the shopping should be linked to a unique identifier.
- the central server 14 should have received vendor information such as the coordinates of the vendors, the items available, the prices and the associated price validity periods etc. collected by the vendor application 16. The best or shortest route to take when purchasing items from vendors may also be provided.
- the customer application 10 will produce the following results:
- Item 1 Item 2 Item 3 Item 4 Item 5 Item 6
- the present invention provides an algorithm for the system 1 to handle a constraint situation where the maximum number of shops is defined by the customer.
- the method as shown in Figure 28, comprising the steps: finding all unique combinations of vendors containing the number of stops customer wishes to make (201, 202).
- Vendors A, B, C
- customer wishes to make 2 stops.
- set of unique combinations of 2 vendors is ⁇ (A, B), (A, C), (B, C) ⁇ .
- Vendors A, B, C, D, E
- set of unique combinations of 3 vendors is ⁇ (A, B, C), (A, B, D), (A, B, E), (B, C, D), (B, C, E), (C, D, E), (A, C, D), (A, C, E), (A, D, E), (B, D, E) ⁇ for each element in the unique combination set (209, 215), further perform the following steps: retrieving the vendors and the products information thereof from the central server 14 in the one or more shopping areas or route (203, 204); comparing an item on the shopping list with the list of products provided by each of the vendors using the predefined unique identifiers of the items and the products (205); in the condition that no matching is found for the item in the list of products, updating item availability register (206, 207); in the condition that at least one matching is found for the item in the list of products, then updating item availability register; and comparing and sorting the vendors in ascending or descending order based on prices of the item provided by each of the vendors (211, 212,
- Item 1 Item 2 Item 3 Item 4
- the user defines a shopping list and one or more shopping areas through the customer application 10.
- a default shopping area could also be used where none has been provided.
- the default shopping area is centered at the current location. Following is a table representing the shopping list.
- the user may search for a number of optimized solutions, such as the best price based on one or more constraints defined by the user.
- the constraints may include the followings:
- the user may specify the date for shopping as a constraint through the customer application 10. This date may be today's date or any other date.
- the central server 14 may fetch all the vendors which provide at least one product on the shopping list and rank the vendors according to the price of each product on the shopping list. Following is a table representing the ranking results.
- a user may request to compare the total purchase price of the products in the shopping list for a number of specified dates. Each of the date may individually be defined through an interface of the customer application 10.
- the customer application 10 may also provide an interface for the user to define a period of time for price comparison. Following is a table showing the price comparison result of a number of different dates.
- the customer application 10 may display the above table to the user highlighting the date on which the best price can be achieved.
- the customer application 10 may allow the user drill into any of the squares and see prices for product by different vendors. For example, the user clicks on square containing "$1 Vendor A" for Product 1 on 01.01.2013 and the customer application 10 will retrieve the relevant data from the database through the central server 14. In the above example, the following table will be presented to the user.
- the user may specify the maximum number of stops allowed for a shopping list and request to search for the best pricing.
- the customer application 10 sends the request to the central server 14 which will return best pricing limiting with the specified number of stops at vendors (all of which are located in the pre-defined shopping areas associated with the shopping list). Following is an example of the table representation of the search result.
- the user may defined the maximum number of stops allowed is 2.
- the central server 14 may try to find a solution for purchasing the maximum number of products on the shopping list under this constraint.
- the central server 14 may also find a solution for maximum saving under this constraint.
- the database management 14 can search through different combination of vendors to maximize the number of produce available for purchase or to maximize the amount of saving in monetary term or in percentage term.
- the user may just visit Vendor A and Vendor B to complete most number of products on the shopping list. Following is a table showing the solution for purchasing maximum number of products.
- the central server 14 may also find a solution for maximum saving Following is a table showing the solution for maximizing the amount of saving.
- Product 5 Not available The user can take the suggestions presented by the customer application 10 into account in order to plan the shopping trip.
- the user may put a constraint on the estimated maximum travel time through the customer application 10. Followings are tables presented to the user by the customer application 10 without and with estimated maximum travel time constraint respectively.
- the customer application 10 may further provide user with the following options: Which items should be purchased at each vendor;
- Figure 24 is an example print out of the search results.
- the customer application 10 provides a function for the user to search for the best shopping area in a large geographical location e.g. city, suburb based on a specific shopping list.
- the user specifies a shopping list of items linked to unique identifiers in the central server 14.
- the user further defines additional parameters, such as shopping radius, maximum number of stops and shopping region (e.g. Sydney) etc in the customer application 10.
- the system 1 will consider the maximum number of stops allowed, and generate a unique set of combinations of vendors containing the maximum number of stops defined. Then for each element in the unique set, the system 1 will compare the items on the shopping list to the items provided by vendors in the element. The system 1 is able to determine one or more sets of vendors (all the vendors of each set fall within a circle of radius specified by the customer) and items to purchase at each vendor according to the one or more of the following criteria :
- Example A customer lives in some region of Sydney.
- the customer has 5 items on a shopping list, each of which is linked to an unique identifier.
- the user specifies a shopping radius of 10 km and a maximum number of stops as 3.
- the input parameters from the user are as follows:
- the customer application may generate the follow output in addition to the map shown in Figure 29.
- the system 1 performs searches and/or optimisations for items on a customer's shopping list in a specified Shopping area, route or region .
- the system 1 generally proposes which items should be purchased from which vendors. Sometimes these items may be available for purchase online. In this case the customer is notified and has the option to make an online purchase.
- the customer application 10 sends a request to the central system 14 containing the list of items to be purchased.
- the central system may have an account for the customer that includes the customer's home address and/or delivery address.
- the user account may also contain payment information such as credit card details.
- the central system 14 process the purchase transaction directly for the items to be purchased, and then passes information to the vendor application/account 16 which includes:
- the customer's payment information is distributed to the vendor application 16 where the transaction process is handled by the vendor.
- the vendor is responsible for processing the payment and order. The following information could be passed to the vendor:
- the customer application 10 is running on a mobile device e.g. a mobile app.
- the mobile device application 10 constantly reports its location (GPS coordinates) to the central server 14.
- the user specifies a search radius.
- the central system 14 is able to calculate which vendors fall within the radius specified by the user with respect to the mobile device.
- the central system 14 could report all items offered by vendors that fall in the search radius, or only items which match items on a shopping list specified by the customer. In some cases, items/specials may be available in the search radius or for online purchase. In this case the user will be notified.
- the user is able to choose to make a purchase of the items online and the instructions to purchase the items from a specific vendor are sent from the customer application 10 to the central server 14.
- the central server 14 is then able to pass relevant information to the vendor, such that the vendor is able to send the items directly to the customer's designated deliver address.
- the information sent from the central server 14 to the vendor application 16 could include one or any combination of the followings:
- Any mobile device can be used for hosting the customer application 10 or vendor application 16. Mobile device can use all specified methods above.
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Marketing (AREA)
- Development Economics (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Navigation (AREA)
Abstract
Description
Claims
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU2013286819A AU2013286819B2 (en) | 2012-07-05 | 2013-07-05 | Methods, systems or computer programs for logistic planning based on proximity constraints and/or price optimization |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU2012902861A AU2012902861A0 (en) | 2012-07-05 | Michael Timothy Scholes | |
AU2012902861 | 2012-07-05 |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2014005190A2 true WO2014005190A2 (en) | 2014-01-09 |
WO2014005190A3 WO2014005190A3 (en) | 2016-07-07 |
Family
ID=49882526
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/AU2013/000736 WO2014005190A2 (en) | 2012-07-05 | 2013-07-05 | Methods, systems or computer programs for logistic planning based on proximity constraints and/or price optimization |
Country Status (2)
Country | Link |
---|---|
AU (1) | AU2013286819B2 (en) |
WO (1) | WO2014005190A2 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3304448A4 (en) * | 2015-05-26 | 2018-12-12 | Consumiq AB | Route optimization methods and devices |
US11405749B2 (en) | 2018-09-24 | 2022-08-02 | Knowhere App Inc. | Reciprocal-basis authorization for proximate presence reveal with location privacy maintained |
US11593856B2 (en) * | 2019-08-22 | 2023-02-28 | Consumer Ledger, Inc. | Crowd-based product recommendation system |
US11875371B1 (en) | 2017-04-24 | 2024-01-16 | Skyline Products, Inc. | Price optimization system |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060265294A1 (en) * | 2005-05-23 | 2006-11-23 | De Sylva Robert F | System and method for facilitating tasks involving travel between locations |
US8285696B2 (en) * | 2006-06-09 | 2012-10-09 | Routecentric, Inc. | Apparatus and methods for providing route-based advertising and vendor-reported business information over a network |
-
2013
- 2013-07-05 AU AU2013286819A patent/AU2013286819B2/en not_active Ceased
- 2013-07-05 WO PCT/AU2013/000736 patent/WO2014005190A2/en active Application Filing
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3304448A4 (en) * | 2015-05-26 | 2018-12-12 | Consumiq AB | Route optimization methods and devices |
US11481700B2 (en) | 2015-05-26 | 2022-10-25 | Consumiq Ab | Route optimization methods and devices |
US11875371B1 (en) | 2017-04-24 | 2024-01-16 | Skyline Products, Inc. | Price optimization system |
US11405749B2 (en) | 2018-09-24 | 2022-08-02 | Knowhere App Inc. | Reciprocal-basis authorization for proximate presence reveal with location privacy maintained |
US11593856B2 (en) * | 2019-08-22 | 2023-02-28 | Consumer Ledger, Inc. | Crowd-based product recommendation system |
Also Published As
Publication number | Publication date |
---|---|
WO2014005190A3 (en) | 2016-07-07 |
AU2013286819B2 (en) | 2016-03-17 |
AU2013286819A1 (en) | 2015-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11308541B2 (en) | Next generation improvements in recommendation systems | |
US20200258119A1 (en) | System and method for personalized add-on purchase | |
US20180174205A1 (en) | Systems and methods for recommending merchants to a consumer | |
US10366436B1 (en) | Categorization of items based on item delivery time | |
US10127595B1 (en) | Categorization of items based on attributes | |
DE212014000220U1 (en) | Dynamic creation of lists | |
US11727458B2 (en) | Produce comparison system | |
US20130036043A1 (en) | Image-based product mapping | |
CN103443816A (en) | Video processing system for identifying items in video frames | |
CN107507037B (en) | Server, gift pushing method of gift box and storage medium | |
KR20200019955A (en) | In-store consumer behavior event metadata aggregation, data validation for data interpretation, and systems for artificial intelligence analysis and associated action triggering | |
KR20180069099A (en) | Shopping trip planner | |
US20220398608A1 (en) | Application program interfaces for order and delivery service recommendations | |
AU2013286819B2 (en) | Methods, systems or computer programs for logistic planning based on proximity constraints and/or price optimization | |
CN112513898A (en) | Alcoholic drink information management system and management method | |
US11429991B1 (en) | Systems and methods for production and logistics management | |
US20170221123A1 (en) | System, method, and non-transitory computer-readable storage media for endless aisle of products in retail store | |
US11741528B1 (en) | Application program interfaces for vendor recommendations | |
US20140249885A1 (en) | System and method for customized search results based on a shopping history of a user, retailer identifications, and items being promoted by retailers | |
CN116595390A (en) | Commodity information processing method and electronic equipment | |
JP2005209021A (en) | Shop information distribution system and distribution method using the internet | |
CN110570272A (en) | Supply method and device, electronic equipment and computer readable storage medium | |
Durai et al. | Cloud Computing based Multipurpose E-Service Application using Flutter | |
US20230297933A1 (en) | System for travel plan based shipments | |
US20220217500A1 (en) | Method and apparatus for identifying objects in a spatial region |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 13813454 Country of ref document: EP Kind code of ref document: A2 |
|
NENP | Non-entry into the national phase in: |
Ref country code: DE |
|
ENP | Entry into the national phase in: |
Ref document number: 2013286819 Country of ref document: AU Date of ref document: 20130705 Kind code of ref document: A |
|
122 | Ep: pct app. not ent. europ. phase |
Ref document number: 13813454 Country of ref document: EP Kind code of ref document: A2 |