METHOD FOR GENERATING AN ELECTRONIC OFFER LIST
20220253919 · 2022-08-11
Inventors
Cpc classification
G06Q30/0633
PHYSICS
International classification
Abstract
The invention relates to a computer-implemented method for generating an electronic supply list (1) by a server computer (2) for transmission to a client computer (3, 3′, 3″), a computer-readable storage medium with instructions which cause a server computer (2) to perform such a method, and a device for carrying out such a method.
Claims
1. A computer-implemented method for generating an electronic offer list (1) by a server computer (2) for transmission to a client computer (3, 3′, 3″), comprising the following steps, which are performed by the server computer (2): a. receiving, from a client computer (3, 3′, 3″), a request for a product type, b. determining, by querying a user database (4) or a delivery area database (8), a delivery area L.sub.i associated with the client computer (3, 3′, 3″) or its user, c. determining, by querying a supplier database (5), at least one supplier A.sub.j of the product type for the delivery area L.sub.i, d. compiling the determined suppliers A.sub.j in an electronic offer list (1), e. transmitting the offer list (1) to the client computer (3, 3′, 3″), f. receiving, from the client computer (3, 3′, 3″), an order for a product P from a supplier A.sub.j, g. forwarding the order to the supplier A.sub.j, wherein the method comprises the steps of: h. providing an order time database (6), which can be updated by the server computer (2), for including order time slots T.sub.j for the reception of orders from the suppliers A.sub.j, i. checking, by querying the order time database (6), whether open order time slots T.sub.j exist for the determined suppliers A.sub.j and, if necessary, including the order time slot T.sub.j in the offer list (1), and j. when an order from a supplier A.sub.j is received for whom no order time slot T.sub.j yet exists in the order time database (6), creating an order time slot T.sub.j for this supplier A.sub.j.
2. The method according to claim 1, wherein those suppliers A.sub.j with open order time slots T.sub.j are ranked higher up in the offer list (1).
3. The method according to claim 1, wherein in the offer list (1) the suppliers A.sub.j are sorted depending on which order time slots T.sub.j end first.
4. The method according to claim 1, wherein separate order time slots T.sub.j for the delivery of products and order time slots T.sub.j′ for the pick-up of products are provided by the server computer (2).
5. The method according to claim 1, wherein the order time slots T.sub.j are each created for a time period Δt, wherein the time period Δt is supplier-specific and is determined by querying the supplier database (5).
6. The method according to claim 1, wherein a maximum number K.sub.j of orders is provided for the order time slots T.sub.j, wherein the number K.sub.j is supplier-specific and is determined by querying the supplier database (5), and wherein the server computer (2) checks whether the number of orders in existing order time slots T.sub.j permits the booking of a new order.
7. The method according to claim 1, wherein, when an order is received, the server computer (2) informs individual or all users listed in the user database (4) from the delivery area L.sub.i of the order by transmitting an electronic message and, if necessary, transmits to the client computers (3, 3′, 3″) of the users the order time slots T.sub.j open in this delivery area L.sub.i.
8. The method according to claim 7, wherein the server computer (2), upon receipt of an order within a delivery area L.sub.i, defines a sub-delivery area SL.sub.i assigned to the ordering client computer, informs those client computers listed in the user database (4) which are located in the sub-delivery area SL.sub.i, of the order by transmitting an electronic message, and transmits to these client computers any order time windows T.sub.j which are open in this sub-delivery area SL.sub.i.
9. The method according to claim 1, wherein the server computer (2) receives the position data of the client computer (3, 3′, 3″), in particular GPS coordinates, for determining the delivery area L.sub.i and, if applicable, the sub-delivery area SL.sub.i, and determines the corresponding address by querying an external address database, and determines the delivery area L.sub.i and, if applicable the sub-delivery area SL.sub.i, by matching the address with delivery area addresses stored in advance in the delivery area database (8).
10. The method according to claim 1 further comprising creating and sending the electronic offer list (1) in a factory building with a plurality of physically distributed client computers and a plurality of physically distributed warehouses acting as suppliers of the required goods.
11. A computer-readable storage medium, comprising instructions which cause a server computer (2) to perform a method according to claim 1.
12. A device for generating an electronic offer list (1) by a server computer (2) for transmission to a client computer (3, 3′, 3″), comprising a server computer (2), wherein the server computer (2) is adapted: a. to receive, from a client computer (3, 3′, 3″), a request for a product type, b. to determine, by querying a user database (4) or a delivery area database (8), a delivery area L.sub.i associated with the client computer (3, 3′, 3″) or its user, c. to determine, by querying a supplier database (5), at least one supplier A.sub.j of the desired product P for the delivery area L.sub.i, d. to compile the determined suppliers A.sub.j of the product P in an electronic offer list (1), e. to transmit the offer list (1) to the client computer (3, 3′, 3″), f. to receive, from the client computer (3, 3′, 3″), an order for a product P from a supplier A.sub.j, g. to forward the order to the supplier A.sub.j, wherein the server computer (2) is adapted h. to provide an order time database (6), which can be updated, for including order time slots T.sub.j for the reception of orders from the suppliers A.sub.j, i. to check, by querying the order time database (6), whether open order time slots T.sub.j exist for the determined suppliers A.sub.j and, if necessary, to include the order time slots T.sub.j in the offer list (1), and j. when an order from a supplier A.sub.j is received for whom no order time slot T.sub.j yet exists in the order time database (6), to create an order time slot T.sub.j for this supplier A.sub.j.
Description
BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS
[0039]
[0040]
[0041]
[0042]
[0043]
[0044]
[0045]
DESCRIPTION OF SPECIFIC EMBODIMENTS OF THE INVENTION
[0046] In the following, the invention will be explained in more detail by means of exemplary embodiments.
[0047]
[0048] On the server computer 2, a user database 4 is provided, which may have the following structure:
TABLE-US-00001 User database 4 User Delivery address Delivery area B.sub.1 Am Graben 5/1/60, 1010 Vienna L.sub.1 B.sub.2 Schwedenplatz 5/13, 1010 Vienna L.sub.1 B.sub.3 Gonzagagasse 1/1/12, 1010 Vienna L.sub.1 B.sub.4 Heiligenstädter Straße 173, 1190 Vienna L.sub.2 B.sub.5 Passauer Straße 15, 3433 Königstetten L.sub.3 B.sub.6 Barichgasse 8/2/7, 1030 Vienna L.sub.4 B.sub.7 Hartlgasse 14/1/5, 1200 Vienna L.sub.5 . . . . . . . . .
[0049] To this end, the client PCs or their users have registered in advance with an online service provided by the server computer 2 in order to be included in the user database 4. The delivery addresses entered are assigned by the server computer 2 to predefined delivery areas, which may be, for example, a district, a municipality or a city.
[0050] For this purpose, a delivery area database 8 is provided, which allows the respective addresses to be assigned to separate delivery areas. In the present example, users are assigned to five separate delivery areas L.sub.1 to L.sub.5 on the basis of their addresses.
[0051] A supplier database 5 is also provided on the server computer 2, which comprises supplier PCs with their delivery areas and the products offered. In this exemplary embodiment, the time period of the order time slots Δt and the maximum number of orders per order time slot K.sub.j are also stored in the database.
[0052] The supplier database can have the following structure, for example:
TABLE-US-00002 Supplier database 5 Supplier Products Delivery area Δt K.sub.j A.sub.1 P.sub.1, P.sub.2, P.sub.3 L.sub.1 25 min 5 A.sub.2 P.sub.2, P.sub.3, P.sub.4 L.sub.1 20 min 5 A.sub.3 P.sub.1 L.sub.2 15 min 7 A.sub.4 P.sub.3 L.sub.2 20 min 4 A.sub.5 P.sub.1, P.sub.4 L.sub.3 30 min 4 . . . . . . . . . . . . . . .
[0053] The supplier PCs or product manufacturers/delivery services have registered in advance with an online service provided by the server computer 2 in order to be included in the supplier database 5. The products and delivery areas are made available to the server PC by the supplier PCs. The products may be individual products or categories of products, for example, Italian food, Chinese food, Austrian food, or the like. Individual products may be stored with prices in the supplier database.
[0054] The server computer 2 is adapted to receive a request for an order from a client computer 3, 3′, 3″ of a user, and to determine a delivery area L.sub.i associated with the client computer 3, 3′, 3″ or its user by querying the user database 4.
[0055] The server computer 2 is further adapted to determine, by querying the supplier database 5, suppliers A.sub.j for the delivery area L.sub.i in which the client computer 3, 3′, 3″ is located. The server computer compiles the determined suppliers A.sub.j of the product into an electronic offer list 1.
[0056] Further, the server computer 2 provides an order time database 6, which can be updated. The order time database 6 is adapted to store order time slots for each supplier and includes all order time slots T.sub.j open at the suppliers at the current time. The order time slots are defined by a start time t.sub.start and an end time t.sub.end. The time period Δt=t.sub.end−t.sub.start is predefined by the respective suppliers and is, for example, 20 minutes.
[0057] For providing the electronic offer lists 1 for delivery or pick-up, the server PC sorts the determined suppliers A.sub.j in the offer list in the order of the order time slots T.sub.j which end first. For example, a corresponding offer list 1 for delivery or pick-up looks as follows at time t=13:05:
TABLE-US-00003 Supplier Order time slot delivery T.sub.j A.sub.3 12:50-13:15 A.sub.1 13:00-13:30 A.sub.2 —
[0058] The offer list 1 for delivery is limited to those suppliers which deliver to the delivery area of the client PC from which the request originates. In contrast, the offer list 1 for pick-up includes all suppliers. Those suppliers whose order time slots end earlier are always ranked higher up in the offer list.
[0059]
[0060] For example, the order time database is empty at t=17:05, which means that no order time slot has been opened with any of the suppliers.
[0061] At 17:05, user B.sub.1 makes a request to the server PC. The server PC provides an offer list 1 with those suppliers which can serve his delivery area, namely A.sub.1 and A.sub.2. In this exemplary embodiment, the sent offer list 1 has the following structure:
TABLE-US-00004 Offer list 1 for B.sub.1 (t = 17:05) Supplier Order time slot delivery A.sub.1 — A.sub.2 —
[0062] The user orders the product P.sub.2 from supplier A.sub.2 and thus opens an order time slot with this supplier. The supplier has defined an order period of 20 minutes, so that for this order time slot t.sub.start=17:05 and t.sub.end=17:25 are set. The server computer 2 forwards the order for product P.sub.2 to supplier A.sub.2.
[0063] At 17:10, user B.sub.3 makes a request to the server computer. At this time, an order slot is open for his delivery area, namely with supplier A.sub.2 until 17:25. The server computer creates an offer list 1′, in which this supplier is ranked at the top:
TABLE-US-00005 Offer list 1′ for B.sub.3 (t = 17:10) Supplier Order time slot delivery A.sub.2 17:05-17:25 A.sub.1 —
[0064] User B.sub.3 orders product P.sub.1 from supplier A.sub.1. Supplier A.sub.1 has defined an order period of 25 minutes, so that t.sub.start=17:10 and t.sub.end=17:35. The server computer 2 forwards the order for P.sub.1 to supplier A.sub.1.
[0065] At 17:22, user B.sub.2 makes a request to the server computer 2. At this time, order time slots with A.sub.1 and A.sub.2 are open.
[0066] The server computer 2 sorts the suppliers of offer list 1″ for B.sub.2 in the order of the end times t.sub.end of the order time slots, wherein order time slots T.sub.j ending earlier are ranked higher up:
TABLE-US-00006 Offer list 1″ for B.sub.2 (t = 17:22) Supplier Order time slot delivery A.sub.2 17:05-17:25 A.sub.1 17:10-17:35
[0067] The user places an order for product P.sub.3 with supplier A.sub.1, so that the order time slot with supplier A.sub.1 now contains two orders—i.e. the second order is included in the existing order time slot. The server computer 2 ensures that the maximum number K.sub.j of orders per order time slot is not exceeded. The server computer 2 forwards the order for P.sub.3 to supplier A.sub.1.
[0068] At 17:45, user B.sub.5 makes a request to the server computer. Only supplier A.sub.5 serves the delivery area of this user so that offer list 1′″ for B.sub.5 comprises this supplier only:
TABLE-US-00007 Offer list 1″′ for B.sub.5 (t = 17:45) Supplier Order time slot delivery A.sub.5 —
[0069] User B.sub.5 orders product P.sub.1 from supplier A.sub.5 and thus opens order time slot T.sub.j with this supplier. Supplier A.sub.5 has defined an order period of 30 minutes, so that for this order time slot t.sub.start=17:45 and t.sub.end=18:15. The server computer 2 forwards the order for P.sub.1 to A.sub.5.
[0070] The overall structure of the device and the content of the user database 4 and the supplier database 5 correspond to the exemplary embodiment according to
[0071] In this exemplary embodiment, each user can pick up his order from any supplier regardless of the delivery area. In the offer list, however, as in the exemplary embodiment of
[0072] For example, the order time database 6 is empty at time t=17:05, which means that no order time slot for pick-up T.sub.j′ was opened with any of the suppliers.
[0073] At 17:05, user B.sub.1 makes a request to the server PC 2. The server PC sends back an offer list 1 with those suppliers which serve his delivery area, namely A.sub.1 and A.sub.2. The offer list 1 is unsorted, because no order time slot T.sub.j′ has been opened yet:
TABLE-US-00008 Offer list 1 for B.sub.1 (t = 17:05) Supplier Order time slot pick-up A.sub.1 — A.sub.2 —
[0074] The user orders product P.sub.1 from supplier A.sub.1 and thus opens an order time slot for pick-up T.sub.j′ with this supplier. The supplier has defined an order period of 25 minutes, so that the values t.sub.start=17:05 and t.sub.end=17:30 are set for this order time slot.
[0075] At 17:10, user B.sub.4 makes a request to the server computer 2.
[0076] User B.sub.4 is shown suppliers A.sub.3 and A.sub.4 in the offer list for pick-up because the user's residence falls within the delivery area of these suppliers. However, user B.sub.4 has a favorite restaurant—supplier A.sub.1—for which he accepts a longer travel time for pick-up. Therefore, user B.sub.4 searches specifically for supplier A.sub.1 and is now shown this supplier, which actually falls into a different delivery area, for pick-up in a “pick-up” tab provided for this purpose:
TABLE-US-00009 Offer list 1′ for B.sub.4 (t = 17:10) Supplier Order time slot pick-up A.sub.1 17:05-17:30 A.sub.3 — A.sub.4 —
[0077] The user places his order for product P.sub.2 with supplier A.sub.1 within the order time slot already opened by user B.sub.1.
[0078] At this time, there are therefore two open orders in the order time slot for pick-up T.sub.j′ with supplier Δ.sub.1. Again, the server computer 2 checks that the maximum number of orders K.sub.j is not exceeded.
[0079] At 17:45, user B.sub.5 makes a request to the server computer. Due to his delivery address, this user is only shown supplier A.sub.5 from delivery area L.sub.3:
TABLE-US-00010 Offer list 1″ for B.sub.5 (t = 17:45) Supplier Order time slot pick-up A.sub.5 —
[0080] The user places his order for product P.sub.3 with supplier A.sub.5 and thus opens a new order time slot T.sub.j′ with this supplier. Supplier A.sub.5 has defined an order period of 30 minutes, so that for this order time slot t.sub.start=17:45 and t.sub.end=18:15.
[0081]
[0082] In this exemplary embodiment, the server computer 2 is adapted to query the order time database 6 to check whether order time slots T.sub.j of the determined suppliers A.sub.j already exist, either for delivery to the delivery area L.sub.i assigned to the user or for pick-up directly from the supplier. If order time slots T.sub.j or T.sub.j′ are open, the server computer 2 includes them in the offer list 1 and transmits them to the client computers 3. If an order time slot has not yet been created for a supplier in the order time database 6, the server PC 2 creates a new order time slot T.sub.j or T.sub.j′ as soon as an order for delivery or pick-up is received. Users are presented with the order time slots for delivery T.sub.j and the order time slots for pick-up T.sub.j′ in different screen windows or tabs.
[0083] For example, user B.sub.1 sends a request for delivery at 17:05. Based on his address, suppliers A.sub.1 and A.sub.2 are displayed to him in offer list 1. The user places his order for product P.sub.1 with supplier A.sub.1 and thus opens an order time slot for delivery T.sub.j with this supplier. Supplier A.sub.1 has defined an order period of 25 minutes, so that for the delivery order time slot with supplier A.sub.1 t.sub.start=17:05 and t.sub.end=17:30. The server computer 2 forwards the order for P.sub.1 to supplier A.sub.1.
[0084] At the same time, user B.sub.6 sends a request for delivery. Since no suppliers are found in the supplier database for his delivery area, the user is only given the option of pick-up; the offer list 1′ is empty. He selects supplier A.sub.3 himself (for example, using a search function) and places an order for product P.sub.2 with supplier A.sub.3 for pick-up. The server computer 2 opens an order time slot for pick-up with A.sub.3.
[0085] This supplier has defined an order period of 15 minutes, so that the order time slot for pick-up with t.sub.start=17:05 and t.sub.end=17:20 is generated. Thus, the order time database 6 now has an order time slot for delivery T.sub.j with A.sub.1 and an order time slot for pick-up T.sub.j′ with A.sub.3. The server computer 2 forwards the order for P.sub.2 to supplier A.sub.3.
[0086] At 17:10, user B.sub.4 sends a request to the server PC. Based on his delivery area, suppliers A.sub.3 and A.sub.4 are eligible for delivery. The server PC transmits the following offer list 1″ for delivery T.sub.j or pick-up T.sub.j′:
TABLE-US-00011 Offer list 1″ for B.sub.4 (t = 17:10) Supplier Order time slot delivery T.sub.j Order time slot pick-up T.sub.j′ A.sub.3 17:05-17:20 A.sub.4
[0087] User B.sub.4 decides on a delivery from supplier A.sub.3 and places his order for product P.sub.3, so that an order time slot for delivery T.sub.j is created with supplier A.sub.3. A.sub.3 has defined an order period of 15 minutes, so that the order time slot for delivery with A.sub.2 is from 17:10 to 17:25. The server computer 2 forwards the order for P.sub.3 to supplier A.sub.3.
[0088] At 17:24, user B.sub.7 sends a request to the server PC. Based on his delivery area, neither delivery nor pick-up is suggested to him; his offer list 1′″ is empty. However, the user searches specifically for supplier A.sub.1 and places an order there for pick-up of product P.sub.2. Supplier A.sub.1 has defined an order period of 25 minutes, so that the order time slot for delivery T.sub.j′ of supplier A.sub.1 is t.sub.start=17:24 and t.sub.end=17:49. The server computer 2 forwards the order for P.sub.2 to supplier A.sub.1.
[0089] At 17:40, user B.sub.5 sends a request to the server computer 2. On the basis of the delivery area, only supplier A.sub.5 would be suggested to the user. However, user B.sub.5 specifically searches for product P.sub.3 of supplier A.sub.2 from delivery area L.sub.i and receives the following offer list 1″″:
TABLE-US-00012 Offer list 1″″ for B.sub.5 (t = 17:40) Supplier Order time slot delivery T.sub.j Order time slot pick-up T.sub.j′ A.sub.2 A.sub.5
[0090] Supplier A.sub.2 has defined an order period of 20 minutes, so that an order time slot for pick-up T.sub.j′ with t.sub.start=17:40 and t.sub.end=18:00 is generated. The server computer 2 forwards the order for product P.sub.3 to supplier A.sub.2.
[0091]
[0092] In the first step, client computer CP.sub.1 orders goods for delivery from server computer 2. Server 2 checks whether the delivery address of CP.sub.1 falls within delivery area 9 of the supplier computers stored on the server. This matching is done via an interface with a geo-information system, e.g. Google Maps, and using the delivery area database 8. If the server detects an overrun of the delivery area, this part is not added to the sub-delivery area and is not available (shaded area).
[0093] In the second step, the server 2 checks whether an order time window has already been opened in a predetermined radius around the delivery address of the client computer CP.sub.1. If no order time window has been opened yet, an unordered offer list 1 is first transmitted to the client computer CP.sub.1 (step S201). The radius is predefined in the delivery area database 8.
[0094] Once CP.sub.1 successfully places its order, CP.sub.1's data is transmitted to the server computer 2 using PHP files containing an HTML structure (step S202).
[0095] As soon as the server computer 2 receives and processes the request, all client computers located within the delivery radius generated by CP.sub.1 are provided with ordered offer lists that include the order time window initiated by CP.sub.1 in the first place (steps S203-S205).
[0096] Thus, a temporary sub-delivery area 10 is automatically created by the server within the delivery area 9 by the initial order of CP.sub.1. From the time of the order by CP.sub.1, the server creates an order time window with a predefined duration Δt=TS.sub.1. Within TS.sub.1, users located within the delivery radius of sub-delivery area 10 can join. For example, an order from client computer CP.sub.1 at 13:00 defines a time duration of 10 min, and further orders from CP.sub.2, CP.sub.3, and CP.sub.4 are accepted at 13:02, 13:05, and 13:09.
[0097] Client computer CP.sub.6, which is outside sub-delivery area 10 but within delivery area 9, can also trigger the process for by placing an initial order and create its own sub-delivery area 10′. This is then available to the neighboring client computers CP.sub.6 and CP.sub.7. The sub-delivery area is automatically closed by the server computer 2 after a predetermined time has elapsed.
[0098] For example, an order from client computer CP.sub.6 at 13:02 defines a time period of TS.sub.1=10 min, and further orders from CP.sub.6 and CP.sub.7 are accepted at 13:08, 13:10. With the creation of each new order time window for a specific sub-delivery area 10, 10′, all client PCs in this temporary sub-delivery area 10, 10′ are automatically notified by means of an electronic message (such as instant messaging, provided they have given their approval for this). In doing so, the server determines the corresponding default settings on the individual terminals, checks the address data within the relevant radius and checks whether several messages have already been sent to identical terminals within a certain period in the area.
[0099] The orders are automatically forwarded by the server computer 2 to the supplier computers, and the data relevant for delivery is transmitted. Then, based on the order data and the real-time traffic data, the server computer 2 determines a route to deliver the ordered goods to the users efficiently and quickly.
[0100]
[0101]
[0102] In step S401, the server computer transmits all orders to the supplier computers. In step S402, the server computer checks whether orders to multiple client computers are included. If not, the server computer determines the address of the single client computer by querying a geographic information system (step 403), creates route data, and transmits the route data to the relevant supplier computer (step S404). If the time slot includes multiple client computers, then the server computer determines the address of the relevant client computers (step S405) and creates a route plan based on order data and traffic data (step S406). The method continues with step S404.
[0103]
[0104] If the release has been granted, then the server computer checks whether a time period has been defined for it (steps S505 and S506). If the current time is within the released time period, then the server computer checks all client computers in the sub-delivery area to see if an order has already been placed (steps S507 and S508). If this is not the case, then the server computer further checks whether a preferred provider has been defined for the client computers (steps S510 and S511). If no preferred provider has been defined, then the server computer sends electronic messages to the client computers that an order time slot has been opened in the sub-delivery area (step S513). If, on the other hand, preferred providers have been defined, then the server computer points out the preferred providers in this sub-delivery area in the electronic messages (step S512).
[0105] The invention is not limited to the exemplary embodiments, but rather comprises all methods and devices in the context of the following patent claims.
REFERENCES
[0106] 1 Offer list [0107] 2 Server computer [0108] 3, 3′, 3″ Client computer [0109] 4 User database [0110] 5 Supplier database [0111] 6 Order time database [0112] 7, 7′, 7″ Supplier computer [0113] 8 Delivery area database [0114] 9 Delivery area [0115] 10, 10′ Sub-delivery area