WO2024075879A1 - 주문을 처리하는 방법 및 그 장치 - Google Patents
주문을 처리하는 방법 및 그 장치 Download PDFInfo
- Publication number
- WO2024075879A1 WO2024075879A1 PCT/KR2022/015236 KR2022015236W WO2024075879A1 WO 2024075879 A1 WO2024075879 A1 WO 2024075879A1 KR 2022015236 W KR2022015236 W KR 2022015236W WO 2024075879 A1 WO2024075879 A1 WO 2024075879A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- point
- interest
- transit
- points
- determining
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G06Q10/00—Administration; Management
- G06Q10/08—Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
- G06Q10/083—Shipping
- G06Q10/08355—Routing methods
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/38—Electronic maps specially adapted for navigation; Updating thereof
- G01C21/3804—Creation or updating of map data
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
- G06Q10/047—Optimisation of routes or paths, e.g. travelling salesman problem
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06311—Scheduling, planning or task assignment for a person or group
- G06Q10/063114—Status monitoring or status determination for a person or group
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G06Q10/00—Administration; Management
- G06Q10/08—Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
Definitions
- This disclosure relates to technology for processing orders.
- the platform's delivery person uses various means of transportation (e.g., vehicle, electric motor, walking, bicycle, etc.) to provide delivery services corresponding to the order.
- various means of transportation e.g., vehicle, electric motor, walking, bicycle, etc.
- technology is required to properly process orders under various conditions.
- the technical problem to be solved through an embodiment of the present disclosure is to provide technology that can improve the convenience of users of a platform that provides delivery services.
- Another technical problem to be solved through an embodiment of the present disclosure is to provide a technology that can increase the number of users of a platform.
- Another technical problem to be solved through an embodiment of the present disclosure is to provide technology that can activate a platform.
- Another technical problem to be solved through an embodiment of the present disclosure is to provide technology that can recommend the optimal route to the delivery person by considering the attributes of each delivery person's means of transportation and the delivery destination (e.g., point of interest). It is provided.
- Another technical problem to be solved through an embodiment of the present disclosure is to provide technology that can provide rapid delivery to consumers of delivery services.
- a method is an order processing method performed by an electronic device, including information on a user's means of transportation for delivering a product corresponding to an order, and information corresponding to the order and related to pickup or delivery of the product.
- Obtaining a point of interest, identifying an area of interest including the point of interest - the area of interest is a collection of a plurality of points of interest having common properties - based on the means of transportation information, the area of interest It may include determining a transit point within the system and determining a recommended route to reach the point of interest via the transit point from the location of the user's user terminal.
- the method may further include updating map information to change at least one of the point of interest, the area of interest, the transit point, and the recommended route.
- updating the map information includes obtaining, from the user terminal, an actual moving route corresponding to the recommended route, and a first moving distance corresponding to the actual moving route and the recommended route. If the difference between the second moving distances is greater than or equal to the reference value, updating the map information to reflect the actual moving path may be included.
- updating the map information may include, even if the first moving distance is shorter than the second moving distance by more than the reference value, If the actual transit point included in the actual movement route is an exception processing point, processing the actual movement route as an exception to updating the map information, wherein the actual transit point is a point in the area of interest,
- the exception processing point may be a predetermined point corresponding to the area of interest, but may be a point where transit through the area of interest is not permitted.
- the exception processing point may be a point determined based on the user's means of transportation information.
- updating the map information may include, even if the first moving distance is longer than the second moving distance by more than the reference value. If the transit point is included in the actual movement path of another user that is distinct from the user, the step of processing the user's actual movement path as an exception to updating the map information may be included.
- the area of interest includes a plurality of first candidate transit points
- the step of determining the transit point includes selecting a plurality of second candidate transit points that match the means of transportation information among the plurality of first candidate transit points. It may include determining a candidate transit point and, among the plurality of second candidate transit points, based on a distance between each of the plurality of second candidate transit points and the point of interest. .
- the plurality of first candidate stopping points correspond to the area of interest and may include at least some of a parking point, a walking access point, a bicycle loading point, and a general access point.
- the step of determining the transit point further includes dividing the region of interest into a plurality of cells and identifying a target cell corresponding to the point of interest from among the plurality of cells.
- the step of determining the transit point may include determining the transit point based on the distance between each of the plurality of second candidate transit points and the target cell.
- the area of each of the plurality of cells may be one of N different areas (N is a natural number of 2 or more).
- the dividing into a plurality of cells may include updating the area of each of the plurality of cells based on the distribution of a plurality of points of interest obtained according to accumulation of orders.
- the step of determining the transit point based on the distance may include a point where the distance between each of the plurality of second candidate transit points and the point of interest is the minimum among the plurality of second candidate transit points. It may include the step of determining as the transit point.
- the step of determining the transit point based on the distance includes the distance between each of the plurality of second candidate transit points and the point of interest, among the plurality of second candidate transit points, and the plurality of transit points. It may include determining, as the transit point, a point where the sum of the distances between each of the second candidate transit points and the location of the user terminal is minimum.
- the method may further include determining an alternative route to reach the point of interest via an alternative point of the area of interest.
- the method further includes calculating a time required corresponding to the recommended route and transmitting the time required to the user terminal, wherein the time required may be determined based on the transportation means information.
- the method may further include transmitting information that causes a map image displaying the recommended route to be displayed on the user terminal to the user terminal.
- An electronic device includes a processor, a network interface, a memory, and a computer program loaded into the memory and executed by the processor, wherein the computer program corresponds to an order.
- Instructions for obtaining information on the user's means of transportation for delivering the product and a point of interest corresponding to the order and related to pickup or delivery of the product, and instructions for identifying an area of interest containing the point of interest - the area of interest is is a collection of a plurality of points of interest with common properties -, based on the means of transportation information, an instruction for determining a transit point within the area of interest, and the location of the user terminal of the user via the transit point It may include instructions for determining a recommended route to reach a point of interest.
- the computer program may further include instructions for updating map information to change at least one of the point of interest, the area of interest, the transit point, and the recommended route.
- the computer program may further include instructions for determining an alternative route to reach the point of interest via an alternative point of the area of interest if the location of the user terminal deviates from the recommended route. You can.
- the computer program may further include instructions for transmitting information to the user terminal so that a map image displaying the recommended route is displayed on the user terminal.
- the number of users of the platform can be increased.
- a platform can be activated.
- the optimal route can be recommended to the delivery person by considering the attributes of each delivery person's means of transportation and the delivery destination (e.g., point of interest).
- rapid delivery can be provided to consumers of delivery services.
- Figure 1 shows an environment in which devices according to an embodiment of the present disclosure can be applied.
- FIG. 2 illustrates a computing device that can implement a device according to an embodiment of the present disclosure.
- FIG 3 illustrates points of interest, areas of interest, and candidate transit points that may be referenced in one embodiment of the present disclosure.
- Figure 4 is a flowchart showing an order processing method according to an embodiment of the present disclosure.
- FIG. 5 is a flowchart showing detailed operations of the determining operation (S430) of a transit point described with reference to FIG. 4 .
- FIGs 6 and 7 each show the recommended route described with reference to Figures 4 and 5.
- FIG. 8 is a flowchart showing other detailed operations of the operation S430 for determining a transit point described with reference to FIG. 4 .
- FIG. 9 shows a plurality of cells described with reference to FIG. 8.
- Figure 10 is a flowchart showing an order processing method according to another embodiment of the present disclosure.
- FIG. 11 is a flowchart showing detailed operations of the map information update operation (S1010) described with reference to FIG. 10.
- Figure 12 is a flowchart showing an order processing method according to another embodiment of the present disclosure.
- Figure 13 is a flowchart showing an order processing method according to another embodiment of the present disclosure.
- expressions such as “A, B, and C,” “A, B, or C,” “at least one of A, B, and C,” or “at least one of A, B, or C” refer to each of the listed It can refer to an item or all possible combinations of listed items.
- “at least one of A or B” may refer to both (1) at least one A, (2) at least one B, (3) at least one A and at least one B.
- the expression “based on” is used to describe one or more factors that influence the decision, act of judgment, or action described in the phrase or sentence containing this expression, and this expression does not exclude additional factors influencing the decision, act of judgment, or action.
- a certain component e.g., a first component
- another component e.g., a second component
- a component is not only directly connected or connected to the other component, but is also connected or connected through another new component (for example, a third component).
- a processor configured to perform a specific operation refers to a general purpose processor capable of performing that specific operation by executing software. It may mean, or it may mean a special purpose computer structured through programming to perform a specific operation.
- platform used in this disclosure may refer to a tangible or intangible space that serves as the basis for users' use by integrating and managing services of the same or similar purpose, and although there are differences in detailed meaning, it is comprehensive. May be referred to interchangeably with “software,” “application,” or “solution.” In one embodiment, the platform may be a tangible or intangible space that integrates delivery services. In some cases, a platform may be referred to interchangeably with a delivery platform.
- delivery service used in this disclosure may mean a service that transports ordered products.
- a product can refer to either goods or services.
- the delivery service may be a food delivery service, a meal-kit delivery service, or a convenience goods delivery service.
- the term “user” used in this disclosure may mean a person who uses the platform provided by the operating entity.
- a user may be a demander of a delivery service, a delivery person, or a supplier of goods related to the delivery service. That is, the term described as user in the present disclosure may be understood as at least one of a demander, a delivery performer, or a supplier of a delivery service.
- “user terminal” may refer to a terminal used by those who use the platform.
- the user terminal may be a consumer terminal that is a terminal of a demander of a delivery service, a delivery performer terminal that is a terminal of a delivery performer, or a supplier terminal that is a terminal of a supplier of a product related to a delivery service. That is, the term described as user terminal in the present disclosure can be understood as at least one of a consumer terminal, a delivery person terminal, or a supplier terminal.
- Figure 1 shows an environment in which devices according to an embodiment of the present disclosure can be applied.
- This environment may include an order processing device 110, a consumer terminal 120, a delivery performer terminal 130, and a supplier terminal 140.
- Figure 1 shows an example in which one consumer terminal 120, one delivery person terminal 130, and one supplier terminal 140 are applied to the order processing device 110, but this is for convenience of understanding. It is just that, the number of consumer terminals 120, the number of delivery performer terminals 130, and the number of supplier terminals 140 may vary. That is, the order processing device 110 may interact with one or more consumer terminals 120, one or more delivery performer terminals 130, or one or more supplier terminals 140 to process one or more orders.
- Figure 1 only shows a preferred embodiment for achieving the purpose of the present disclosure, and some components may be added or deleted as needed.
- the order processing device 110 may be a server device of a platform that provides delivery services to users.
- the order processing device 110 can be understood as a server device operated under the management of the platform operating entity.
- the order processing device 110 exchanges various information or requests with the consumer terminal 120, the delivery performer terminal 130, and/or the supplier terminal 140 through the network in order to implement the operations of the platform related to the delivery service. You can. For example, the order processing device 110 receives a product order (e.g., delivery request, product information accompanying the delivery request) from the consumer terminal 120, and sends it to the supplier terminal 140 corresponding to the order. Processing related to the receipt of an order, such as transmitting the order, can be performed. For another example, the order processing device 110 receives a ready message for the product corresponding to the order from the supplier terminal 140, and assigns the order to the delivery performer terminal 130 in response to the ready message. Processing related to the assignment of orders, etc. may also be performed. As another example, the order processing device 110 receives a delivery completion message from the delivery person terminal 130, and transmits a notification of delivery completion to the consumer terminal 120 in response to the delivery completion message. Processing related to completion may also be performed.
- a product order e.g., delivery
- the order processing device 110 may perform various processing operations on information received from the consumer terminal 120, the delivery person terminal 130, and/or the supplier terminal 140. For example, the order processing device 110 may perform processing such as modifying, deleting, selecting, calculating, determining, or extracting the information. As another example, the order processing device 110 may store the information or the processed information in internal storage or external storage of the order processing device 110. In addition, the order processing device 110 can perform various known operations that process various information obtained according to the user's use of the platform into a required format.
- the order processing device 110 is an example of a delivery service, where a delivery person can receive a product from a supplier and determine an optimal route to deliver the product to the consumer.
- This optimal route may be, for example, the route with the shortest travel time or the shortest travel distance.
- the optimal route may be referred to as a “recommended route.”
- various operations related to determining the recommended route will be described in detail later with reference to the drawings of FIG. 4 and below.
- Order processing device 110 may be implemented with one or more computing devices. For example, all of the functionality of order processing device 110 may be implemented on a single computing device. For another example, a first function of order processing device 110 may be implemented in a first computing device, and a second function distinct from the first function may be implemented in a second computing device distinct from the first computing device. .
- a computing device may be, but is not limited to, a desktop, laptop, application server, proxy server, or cloud server, and may have computing capabilities. This can include all types of equipped devices.
- Each of the consumer terminal 120, the delivery person terminal 130, and the supplier terminal 140 may be a user terminal using a platform related to the delivery service.
- a web browser or application may be installed on each of the consumer terminal 120, the delivery person terminal 130, and the provider terminal 140. there is.
- different web browsers or applications may be installed on each terminal for each subject. Specifically, an application dedicated to the consumer related to the delivery service is installed in the consumer terminal 120, an application dedicated to the delivery person related to the delivery service is installed in the delivery performer terminal 130, and the delivery service and Applications specific to the relevant provider may be installed.
- Each of these user terminals 120, 130, and 140 is, for example, a device such as a desktop, workstation, laptop, tablet computer, wearable device, or smart phone. It may be any one of the above, but is not limited to these examples and may include all types of computing devices equipped with computing functions.
- a network is any type of wired or wireless network, for example, a Local Area Network (LAN), a Wide Area Network (WAN), a Mobile Radio Communication Network, or a Wireless Broadband Internet (Wibro). It can be implemented as:
- computing device 200 may be referred to interchangeably with an electronic device.
- Each of the above-described order processing device 110, consumer terminal 120, delivery performer terminal 130, and supplier terminal 140 may be implemented by this computing device 200.
- Computing device 200 may include one or more processors 210, one or more memories 220, or a communication interface 230.
- some components may be deleted from computing device 200 or other components (e.g., display, input device, GPS module, etc.) may be added to computing device 200.
- some components may be integrated and implemented additionally or alternatively, or may be implemented as a single or plural entity.
- processor 210 may be referred to as processor 210.
- the term processor 210 may mean a set of one or more processors, unless the context clearly expresses otherwise.
- memories 220 may be referred to as memory 220 .
- the term memory 220 may mean a set of one or more memories, unless the context clearly expresses otherwise.
- At least some components within the computing device 200 are connected to each other through a bus, general purpose input/output (GPIO), serial peripheral interface (SPI), or mobile industry processor interface (MIPI), and transmit data or signals. can be given or received.
- GPIO general purpose input/output
- SPI serial peripheral interface
- MIPI mobile industry processor interface
- the processor 210 may perform operations or data processing related to control or communication of each component of the computing device 200. Specifically, the processor 210 controls at least one component of the computing device 200 connected to the processor 210 by running software (e.g., commands, instructions, or programs) received from other components. can do. As an example, the processor 210 may load instructions or data into the memory 220, process the instructions or data stored in the memory 220, and store the resulting data according to the processing in the memory 220. there is. Additionally, the processor 210 may be operatively connected to components of the computing device 200 to perform various operations related to the present disclosure, such as calculation, processing, data generation or processing.
- software e.g., commands, instructions, or programs
- Memory 220 can store various data. Data stored in the memory 220 is data acquired, processed, or used by at least one component of the computing device 200, and may include software (e.g., commands, instructions, or programs). . As an example, the memory 220 may store instructions for operating the processor 210 as a computer program. The computer program, when loaded into memory 220, may include one or more instructions that cause processor 210 to perform operations according to various embodiments of the present disclosure. That is, the processor 210 may perform operations according to various embodiments of the present disclosure by executing one or more instructions described above. Additionally, memory 220 may include volatile or non-volatile memory.
- the program is software stored in the memory 220, and is an operating system, application, or application for controlling the resources of the computing device 200 and provides various functions to the application so that the application can utilize the resources of the computing device 200. It may include provided middleware, etc.
- the communication interface 230 may also be called a network interface.
- the communication interface 230 can establish a wired or wireless communication channel with an external device and transmit and receive various data with the external device.
- the communication interface 230 may include at least one port for connecting to an external device via a wired cable in order to communicate with the external device via a wired cable.
- the communication interface 230 can communicate with a wired external device through at least one port.
- communication interface 230 may include a cellular communication module and be configured to connect to a cellular network (e.g., 3G, LTE, 5G, Wibro, or Wimax).
- the communication interface 230 includes a short-range communication module and can transmit and receive data with an external device using short-range communication (e.g., Wi-Fi, Bluetooth, Bluetooth Low Energy (BLE), UWB).
- the communication interface 230 may include a contactless communication module for contactless communication.
- Non-contact communication may include at least one non-contact proximity communication technology, such as, for example, Near Field Communication (NFC) communication, Radio Frequency Identification (RFID) communication, or Magnetic Secure Transmission (MST) communication.
- NFC Near Field Communication
- RFID Radio Frequency Identification
- MST Magnetic Secure Transmission
- the computing device 200 may be implemented in various known ways for communicating with external devices, and the scope of the present disclosure is not limited by the examples described above.
- computing device 200 may further include a display.
- the display can display various screens based on control of the processor 210.
- the display may display a screen to which various interfaces of a platform related to the delivery service are applied based on the control of the processor 210.
- a web browser or a dedicated application may be installed on the computing device 200.
- the display is a component capable of interacting with the user, and can display various screens based on control of the processor 210 and receive user input from the user.
- This display may be implemented in the form of a touch sensor panel (TSP) that can recognize the contact or proximity of various external objects (eg, fingers, stylus, etc.).
- TSP touch sensor panel
- the touch sensor panel may have various structures and types, and the present disclosure can be applied regardless of the structure and type of the touch sensor panel.
- computing device 200 may further include an input device (eg, a mouse or keyboard, etc.).
- the input device may receive information to be used in components of the computing device 200 from outside the computing device 200 (eg, a user).
- computing device 200 may further include a GPS module (eg, GPS receiver).
- GPS module eg, GPS receiver
- the GPS module is included in each user terminal 120, 130, and 140 to receive the location of the consumer terminal 120, the location of the delivery person terminal 130, and/or the location of the provider terminal 140. can do.
- Figure 3 shows points of interest (321, 322), areas of interest (310), and candidate transit points (331, 332, 333) that may be referenced in one embodiment of the present disclosure.
- Point of Interest may refer to a building that can be displayed on a map.
- the point of interest (321, 322) is a building on a map that can be displayed on the user terminal (120, 130, 140), and is the delivery location (321) corresponding to the consumer's order or the product corresponding to the order. This may be a pickup location 322.
- An area of interest (AOI) 310 is a collection of a plurality of points of interest that can be displayed on a map, and a plurality of points of interest included in the area of interest 310 may have common properties. For example, if apartments “Building A,” “Building B,” and “Building C” are individual points of interest belonging to one apartment complex, then the apartments that contain “Building A,” “Building B,” and “Building C.”
- the complex, “Apartment Complex A,” may be an area of interest.
- “Shopping Complex B” which is the shopping complex that includes “D Building” and “E Building”, is of interest. It could be an area.
- the point of interest 321 corresponding to an individual apartment building may be located inside the area of interest 310 corresponding to the apartment complex, but the point of interest 322 corresponding to a commercial building outside the apartment complex may be located within the area of interest 310 corresponding to the apartment complex. It can be understood that it may be located outside the area of interest 310.
- a collection of individual points of interest having common properties may be a region of interest no matter what properties they share.
- the candidate transit points 331, 332, and 333 are points that can be displayed on the map and may mean points that the delivery person can pass by to reach the points of interest (321, 322).
- the delivery person passes through at least one of the candidate transit points 331, 332, and 333 (e.g., transit point). , points of interest (321, 322) can be reached.
- the candidate transit points 331, 332, and 333 may mean points related to the region of interest 310.
- the candidate passing points 331, 332, and 333 may be parking points, walking access points, bicycle loading points, or general access points of the area of interest 310.
- a parking point may mean a point where a delivery person using a vehicle or electric motor as a means of transportation can park
- a walking entry point may mean a point where a delivery person using walking as a means of transportation can pass through
- a bicycle parking point may mean a point where a delivery person using walking as a means of transportation can pass through.
- a general entry point may refer to a point where entry is possible regardless of the means of transportation.
- unique points in the region of interest 310 that must be passed through to reach the point of interest 321 included within the region of interest 310 may be further included in the candidate transit points 331, 332, and 333. It should be noted that this may be possible.
- the candidate passing points 331, 332, and 333 are related to the area of interest 310. can be decided.
- the hierarchical relationship between the point of interest 321 and the area of interest 310 may be determined in advance to reflect reality. Such a hierarchical relationship between the point of interest 321 and the area of interest 310 may be implemented to reflect reality changed by the update operation of map information, which will be explained later with reference to FIGS. 10 and 11 .
- the candidate transit points 331, 332, and 333 of the area of interest 310 may similarly be determined in advance to reflect reality, and may be implemented to reflect reality changed by an update operation of map information. It may be possible.
- each step of the methods to be described with reference to the drawings below may be performed by a computing device.
- each step of the methods may be implemented as one or more instructions executed by a processor of a computing device. All steps included in these methods may be performed by a single physical computing device; however, the first steps of the method may be performed by a first computing device and the second steps of the method may be performed by a second computing device. It could be.
- the description will be continued assuming that each step of the above-described methods is performed by the order processing device 110 shown in FIG. 1. However, for convenience of explanation, the description of the operator of each step included in the methods may be omitted.
- a method for determining a recommended route for a delivery person to reach a delivery location corresponding to an order from the delivery location after picking up a product corresponding to an order will be mainly explained.
- the method for determining a recommended route is limited to this example only. It is not applied, but may also be applied, for example, to determining a recommended route to reach the pickup location of the product corresponding to the order from the location of the delivery person.
- FIG. 4 is a flowchart showing an order processing method according to an embodiment of the present disclosure.
- the method shown in FIG. 4 relates to the processing of a recommended route determined based on information about the delivery person's means of movement (i.e., means of movement information) and points of interest (e.g., delivery location, etc.) corresponding to the consumer's order. It can be understood as a series of actions.
- the operations shown in FIG. 4 will be described in detail.
- the user in each step shown in FIG. 4 can be understood as the subject who delivers the product corresponding to the order, that is, the delivery performer.
- a point of interest corresponding to the user's transportation method information and order may be obtained (S410).
- the order processing device 110 may receive transportation method information from the delivery person terminal 130.
- the means of transportation information is information about the means of transportation used by the delivery person.
- Information on the means of transportation such as a vehicle, electric motor, bicycle, or walking, may be received from the delivery person's input on the interface implemented in the delivery person terminal 130.
- a combo box may be implemented to select transportation method information such as a vehicle, electric motor, bicycle, or walking, but the transportation method information may be provided to the delivery agent.
- any method may be included in the scope of the present disclosure.
- the order processing device 110 may create an order using a delivery request from the consumer terminal 120 and product information accompanying the delivery request.
- the created order may include a pickup location for the product and a delivery location for the product.
- This pickup location or delivery location may be understood as a point of interest that the delivery attendant assigned to the order must reach.
- the point of interest is information included in the order and may be received from the consumer's input on the interface implemented in the consumer terminal 120.
- a button for selecting a product to be delivered may be implemented in the interface implemented on the consumer terminal 120, and when the consumer selects one button, the pickup corresponding to that button may be implemented.
- the location can be decided.
- an input form for entering a delivery location may be implemented in the interface implemented in the consumer terminal 120.
- any method that allows the consumer to input a pick-up location or delivery location may be included in the scope of the present disclosure.
- a region of interest containing a point of interest may be identified (S420).
- the hierarchical relationship eg, inclusion relationship
- order processing device 110 may refer to, for example, satellite imagery or public databases (e.g., public data portals, etc.). Based on this determination, the order processing device 110 may identify a region of interest corresponding to the point of interest.
- the order processing method shown in FIG. 4 is illustrated assuming that the point of interest that the delivery performer must reach is included in the area of interest, but if the point of interest that the delivery performer must reach is not included in the area of interest (e.g. : It should be noted that points of interest (such as a single building) are not excluded from the scope of the present disclosure.
- the operation of determining whether the point of interest is included in the region of interest may be performed before the operation of identifying the region of interest (S420). Specifically, a series of operations may be performed to determine a path to reach the point of interest, depending on the determination that the point of interest is not included in the area of interest, as shown in FIG. 4 , depending on the determination that the point of interest is included in the area of interest.
- a series of subsequent operations may also be performed. However, if the point of interest is not included in the area of interest, it is highly likely that candidate transit points to reach the point of interest are distributed near the point of interest, so the route may change depending on the decision on the candidate transit point. This can be low.
- a transit point in the area of interest may be determined (S430). Specifically, by considering the matching relationship between the means of transportation information and the candidate transit points, any one of the candidate transit points related to the area of interest can be determined as the transit point. For example, a parking point or a general entry/exit point may be determined as a transit point that matches the vehicle or electric motor. As another example, as a transit point that matches walking, a walking entry point or a general entry point may be determined. For another example, a bicycle mounting point or a general entry point may be determined as a transit point matching the bicycle.
- the means of transportation information and the candidate transit point can be matched in any number of different combinations, and all operations that determine the transit point through comparison of the properties between the properties of the means of transportation information and the candidate transit point are performed. It should be noted that it may be included within the scope of the present disclosure.
- the passing point determined in this way is a point located on the recommended route and can be understood as a point through which the delivery person passes to reach the point of interest.
- an operation of filtering some of the candidate transit points may be performed.
- one or more second candidate transit points may be determined by filtering some of the plurality of first candidate transit points, and one of the one or more second candidate transit points may be determined as the transit point. Specific operations related to this operation will be described later with reference to FIGS. 5 to 7.
- an operation of abstracting the location of the point of interest within the area of interest may be performed to save computing resources.
- a region of interest may be divided into a plurality of cells, a target cell in which a point of interest is located among the plurality of cells may be determined, and a transit point may be determined by considering the location of the target cell as the location of the point of interest. there is. Specific operations related to this operation will be described later with reference to FIGS. 8 and 9.
- a recommended route to reach a point of interest from the location of the user terminal via a transit point may be determined (S440). Specifically, a recommended route that starts from the location of the delivery person, uses a point of interest as the end point, and passes through a transit point may be determined. In this operation of determining a recommended route (S440), various known technologies, such as navigation technology, may be referred to.
- the information received by the GPS module included in the delivery person terminal 130 may be used to identify and track the location of the delivery person. there is.
- Information that causes a map image displaying a recommended route to be displayed on the user terminal may be transmitted to the user terminal (S450).
- the order processing device 110 may transmit a map image showing a recommended route to the delivery person terminal 130, and the delivery person terminal 130 may display the received image on the display.
- the order processing device 110 transmits information other than the image to the delivery person terminal 130, and the delivery person terminal 130 processes this information to generate a map image with a recommended route displayed, and this generation
- the image can also be displayed on the display. This step has been described based on the delivery person terminal 130, but information that allows a map image displaying the recommended route to be displayed on, for example, the consumer terminal 120 or the supplier terminal 140 is provided in each terminal 120. , 140).
- a transit point suitable for the means of transportation is determined, and the recommended route can be determined to pass through the determined transit point.
- the transit point through which the delivery person passes is closely related to the time required for delivery or the distance traveled, so it depends on the delivery person's means of transportation.
- FIG. 5 is a flowchart showing detailed operations of the determining operation (S430) of a transit point described with reference to FIG. 4 .
- a plurality of second candidate transit points matching the means of transportation information may be determined (S510).
- This operation can be understood as a filtering operation using the matching relationship described in relation to the operation of determining the transit point (S430).
- a plurality of second candidate transit points matching the information on the delivery performer's transportation means that is, points suitable for the delivery performer's transportation method to pass through, are determined. You can. If, according to this operation, there is only one second candidate transit point that matches the transportation method information of the delivery person, the second candidate transit point may be determined as the transit point.
- the transit point may be determined based on the distance between each of the plurality of second candidate transit points and the point of interest (S520). This operation can be understood as an operation of determining one of the second candidate transit points after filtering as the transit point.
- the order processing device 110 may use map information to calculate the distance between each of the plurality of second candidate transit points and the point of interest.
- map information refers to information about a map
- the order processing device 110 can generate map information by referring to, for example, satellite photos or public databases.
- the distance may be calculated based on the central distance, minimum straight line distance, or road travel distance between each of the plurality of polygons representing each of the plurality of second candidate transit points on the map and the polygon representing the point of interest. That is, as long as the distance is calculated using a common calculation method, the distance between each of the plurality of second candidate transit points and the point of interest can be calculated using any method.
- the order processing device 110 may determine one of a plurality of second candidate transit points as the transit point based on the calculated distance.
- a second candidate transit point with the minimum calculated distance may be determined as the transit point. Since the delivery person is likely to move on foot after passing the stopping point on the recommended route, the second candidate stopping point with the minimum calculated distance is determined as the stopping point to minimize the distance the delivery person travels on foot. You can.
- the sum of the calculated distance and the distance between each of the plurality of second candidate transit points and the location of the delivery performer terminal 130 is the minimum.
- the second candidate transit point may be determined as the transit point.
- the second candidate transit point with the minimum sum of travel distances of the entire route may be determined as the transit point.
- the calculated distance and the properties of the road corresponding to the distance are comprehensively considered.
- any one of a plurality of second candidate transit points may be determined as the transit point.
- the order processing device 110 may obtain road properties by referring to map information.
- the order processing device 110 can score each of the attributes of the street and the road as a single number, add up the calculated scores, and use them as an indicator in the operation of determining the transit point (S520).
- a road on which the delivery person can easily deliver may be selected through determination of the stopping point. For example, in delivering heavy products, the convenience of the delivery person can be increased.
- any one of a plurality of second candidate transit points may be determined as a transit point according to various methods, and although the method is not illustrated, any method is within the scope of the present disclosure as long as the method is a distance-based determination method. May be included.
- FIG. 6 shows a recommended route from the location 610 of the delivery person terminal 130 to the point of interest 620 when the delivery person's means of transportation is walking.
- Figure 7 shows a recommended route to reach the point of interest 720 from the location 710 of the delivery person terminal 130 when the delivery person's means of transportation is a vehicle.
- the delivery person may walk along the first route 641 on the recommended route.
- the first route 641 may be a route starting from the location 610 of the delivery person terminal 130 and having the transit point 630 as the end point.
- This transit point 630 is a transit point suitable for the delivery person's means of transportation, that is, walking, and may be, for example, a walking entry point or a general entry point.
- the delivery person may walk on a road provided within the apartment complex along the second path 642 on the recommended route.
- the second route 642 may be a route that starts at the transit point 630 and has the point of interest 620 as its end point.
- the delivery person may move by vehicle along the first route 741 on the recommended route.
- the first route 741 may be a route starting from the location 710 of the delivery person terminal 130 and having the transit point 730 as the end point.
- This transit point 630 is a transit point suitable for the delivery person's means of transportation, that is, a vehicle, and may be, for example, a parking spot or a general entry and exit point.
- the delivery person may walk on a road provided within the apartment complex along the second path 742 on the recommended route.
- the second route 742 may be a route that starts from the transit point 730 and has the point of interest 720 as its end point.
- the transit point may vary depending on the delivery person's means of transportation, and this transit point
- the recommended route may vary depending on the route. Since this transit point is determined to be suitable for the delivery person's means of transportation, the convenience of the delivery person can be increased according to the recommendation of a recommended route that passes through this transit point.
- FIG. 8 is a flowchart showing other detailed operations of the operation S430 for determining a transit point described with reference to FIG. 4 .
- the region of interest may be divided into a plurality of cells (S810).
- a cell may be an area constituting an area of interest on a map. This cell selects points of interest located inside the area of interest in order to save computing resources for calculating the distance between the point of interest and the candidate waypoint, which can occur when the area of interest is extensive and contains numerous points of interest inside. It can be understood as an area of abstraction.
- the area of each of the plurality of cells may be the same.
- the point of interest may be abstracted by defining the area of the cell as an area wider than the polygon corresponding to the point of interest on the map.
- the area of each of the plurality of cells may be one of N different areas (N is a natural number of 2 or more).
- N is a natural number of 2 or more.
- a point of interest can be abstracted as a plurality of cells with three different areas.
- one of the N areas may be equal to the area of the polygon corresponding to the point of interest on the map.
- the width of the cells constituting the area of interest can be implemented in any number of ways, and the distance between the point of interest and the candidate transit point, which may occur when the area of interest is extensive and contains numerous points of interest within it, is calculated. Any method that can save computing resources according to can be included in the scope of the present disclosure.
- the operation of dividing the area of interest into a plurality of cells may be performed independently before performing the order processing method for the recommended route. For example, this operation may be performed periodically according to a specific period (e.g., a one-year cycle, etc.) or aperiodically according to a specific event (e.g., the cumulative number of orders reaches 10,000, etc.).
- the operating entity of the platform can freely change and implement the execution time of this operation in the operation of determining the transit point (S430).
- the area of each of the plurality of cells may be updated based on the distribution of the plurality of points of interest obtained according to the accumulation of orders. For example, by considering the total distribution accumulated according to the use of the platform by consumers or considering the distribution of a specific period (e.g., 2022, etc.), the more times the point of interest is designated as a point of interest (i.e., the more points of interest within a cell are designated as delivery locations) As the number of orders is greater), the width of the cell decreases, and as the number of times designated as a point of interest decreases (i.e., as the number of orders that specify the point of interest within the cell as the delivery location decreases), the width of the cell may increase.
- the area of the cell can be reduced to increase the accuracy of calculating the distance between the point of interest and the candidate transit point, and as the number of times it has been designated as a point of interest less, the area of the cell can be increased to increase the area of the cell.
- Computing resources can be saved by calculating the distance between candidate transit points. For another example, by considering the distribution, if the number of times designated as a point of interest is greater than the upper threshold, the area of the cell may be reduced, and if the number of times designated as the point of interest is less than the lower threshold, the area of the cell may be increased.
- the upper and lower thresholds can be appropriately set by the operator of the platform within a range that can achieve accuracy in calculating distance and saving computing resources.
- Changes in cell area according to the above-described examples can be implemented by adjusting the area between cells constituting the area of interest, to the extent that the area of the area of interest does not change.
- a target cell corresponding to the point of interest may be identified (S820).
- the order processing device 110 may identify a target cell corresponding to a point of interest by referring to map information.
- a plurality of second candidate transit points matching the means of transportation information may be determined (S830).
- S830 For a description of this operation, refer to the description of the filtering operation (S510) of FIG. 5.
- the transit point may be determined based on the distance between each of the plurality of second candidate transit points and the target cell (S840).
- the target cell corresponds to a point of interest, and when the area of interest is extensive, it can be understood that the point of interest is abstracted to save computing resources. Therefore, the description of this operation is the same as the distance-based transit point determination operation (S520) of FIG. 5 except that the object of distance calculation is changed from the point of interest to the target cell, so please refer to the description of the operation. there is.
- FIG. 9 illustrates a plurality of cells described with reference to FIG. 8 .
- the region of interest 900 may include a plurality of cells 911, 912, and 913 with different areas.
- Each of the plurality of cells 911, 912, and 913 may include one or more points of interest. That is, by abstracting the point of interest and calculating the distance to the candidate transit point (921, 922, 923) using the cell (911, 912, 913), computing resources according to distance calculation can be saved.
- the area of each of the plurality of cells 911, 912, and 913 may be related to the designated number of points of interest within the cell. For example, it can be understood that the wider the area, the fewer times a point of interest has been assigned to that cell in a past period (e.g., a specific period or total period).
- FIG. 10 is a flowchart showing an order processing method according to another embodiment of the present disclosure.
- the method shown in FIG. 10 can be understood as an operation related to processing map information.
- the operation shown in FIG. 10 will be described in detail.
- Map information for changing at least one of points of interest, areas of interest, transit points, and recommended routes may be updated (S1010). For example, this operation may be performed periodically according to a specific period (e.g., a one-year cycle, etc.) or aperiodically according to a specific event (e.g., the cumulative number of orders reaches 10,000, etc.).
- the order processing device 110 may update the map information by referring to, for example, satellite photos, user reporting received on the platform, or a public database.
- FIG. 11 is a flowchart showing detailed operations of the map information update operation (S1010) described with reference to FIG. 10.
- the actual movement route corresponding to the recommended route may be obtained (S1110).
- information received by the GPS module included in the delivery person terminal 130 may be used to obtain the actual movement route.
- the map information may be updated to reflect the actual travel route. (S1120).
- the map information can be updated.
- the standard value can be set appropriately within a range that allows the operator of the platform to increase the update accuracy of map information.
- map information may be updated based on the cumulative number of times the difference in travel distance or time required exceeds a reference value.
- the actual transit included in the actual travel route may be treated as an exception to the update of map information.
- the actual passing point is a point in the area of interest and may mean a point actually passed by the delivery person rather than passing through a passing point on the recommended route.
- the exception processing point may be a predetermined point corresponding to the area of interest, but may be a point where transit through the area of interest is not permitted. In one embodiment, the exception processing point may be a point determined based on the user's means of transportation information.
- the delivery person passes through a point that is inaccessible to the area of interest (e.g. a fence, etc.) as the actual transit point, the actual travel route through this actual transit point may not be taken into account in updating the map information. there is.
- the delivery person passes through a point that is inaccessible by car or electric motor (e.g. a walking access point, a bicycle rack, etc.) as an actual stopping point, the actual travel route passing through this actual stopping point is shown on the map. It may not be considered for updating information.
- a point that is inaccessible by foot e.g.
- this actual movement route can be excluded from the update of map information by determining that this actual movement route is due to an error in the selection of the delivery person's means of movement or is judged to be an exceptional behavior of the delivery person. Accordingly, by treating error information as an exception in updating map information, map information can be updated more accurately.
- the delivery person's actual movement route may be treated as an exception to the update of map information.
- the delivery performer performs delivery by an actual movement path other than the recommended route
- this actual movement path is can be excluded from updating map information. Accordingly, by treating error information as an exception in updating map information, map information can be updated more accurately.
- map information can be accurately updated based on information generated by platform users as they use the platform.
- FIG. 12 is a flowchart showing an order processing method according to another embodiment of the present disclosure.
- the method shown in FIG. 12 can be understood as an operation related to processing an alternative route when the delivery person deviates from the recommended route.
- the operation shown in FIG. 12 will be described in detail.
- the user in each step shown in FIG. 12 can be understood as the subject who delivers the product corresponding to the order, that is, the delivery performer.
- an alternative route to reach the point of interest via an alternative point in the area of interest may be determined (S1210).
- the replacement point is a point that replaces the transit point and can be understood as a point in the area of interest.
- the alternative route is a route that replaces the recommended route, and when deviating from the recommended route, it can be understood as the optimal route for reaching a point of interest from the location of the delivery person at the time of departure. Specifically, if it deviates from the recommended route by a standard distance, an alternative route to reach the point of interest via an alternative point may be determined.
- the platform operating entity can appropriately set the reference distance so that the alternative route decision operation (S1210) is not excessively repeated.
- information received by the GPS module included in the delivery person terminal 130 may be used.
- This operation can be understood similarly to the operation related to processing the recommended route, except for the operation of determining departure from the recommended route and the timing of determining an alternative route according to the determination. Accordingly, all technical ideas regarding the processing of the recommended route of this disclosure can be applied to this operation.
- an alternative route that can be the optimal route at the time of deviating from the recommended route can be recommended.
- FIG. 13 is a flowchart showing an order processing method according to another embodiment of the present disclosure.
- the method shown in FIG. 13 can be understood as an operation related to processing the time required corresponding to the recommended route.
- the operation shown in FIG. 13 will be described in detail.
- the user in each step shown in FIG. 13 can be understood as the subject who delivers the product corresponding to the order, that is, the delivery performer.
- the time required corresponding to the recommended route can be calculated (S1310).
- the time required is determined based on information on the delivery person's means of transportation, and can be understood as the time it takes from the delivery person's location to arrive at the delivery location.
- the time required may be calculated based on the average speed of the delivery person's moving means and the moving distance of the recommended route.
- the average speed may be the average speed of a known means of transportation, or the average speed obtained by delivery performers using the platform may be used.
- the time required may be transmitted to the user terminal (S1320).
- the order processing device 110 may transmit the required time to the delivery person terminal 130, and the delivery person terminal 130 may display the received required time on the display. This step has been described based on the delivery performer terminal 130, but the time required may be transmitted to, for example, the consumer terminal 120 or the supplier terminal 140.
- the user's convenience can be increased by allowing the user to check the remaining delivery time.
- each step of the method or algorithm is described in sequential order, but each step may be performed in an order that can be arbitrarily combined in addition to being performed sequentially.
- the description of the disclosure as a flowchart or flowchart does not exclude making changes or modifications to the method or algorithm, nor does it imply that any step is required or desirable.
- at least some of the steps may be performed in parallel, iteratively, or heuristically.
- at least some steps may be omitted or other steps may be added.
- Various embodiments according to the present disclosure may be implemented as software on a machine-readable storage medium.
- the software may be software for implementing various embodiments described in this disclosure.
- Software can be inferred from the various embodiments described in this disclosure by programmers in the technical field to which this disclosure pertains.
- software may be a program that contains machine-readable instructions (e.g., instructions, code, or code segments).
- a device is a device that can operate according to commands retrieved from a storage medium, and may be, for example, a computer.
- the device may be a computing device according to various embodiments described in this disclosure.
- the device's processor may execute the called instruction, causing the device's components to perform a function corresponding to the instruction.
- a storage medium can refer to any type of recording medium in which data that can be read by a device is stored.
- Storage media may include, for example, ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage, etc.
- the storage medium may be implemented in a distributed form, such as in a networked computer system. At this time, the software may be distributed, stored, and executed on a computer system, etc.
- the storage medium may be a non-transitory storage medium.
- Non-transitory storage media refers to a medium that exists regardless of whether data is stored semi-permanently or temporarily, and does not include signals that are transmitted temporarily.
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Human Resources & Organizations (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Theoretical Computer Science (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Development Economics (AREA)
- Game Theory and Decision Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- General Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- Educational Administration (AREA)
- Health & Medical Sciences (AREA)
- Automation & Control Theory (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Navigation (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
주문을 처리하는 방법 및 그 장치가 제공된다. 본 개시의 일 실시예에 따른 방법은, 전자 장치에 의해 수행되는 주문 처리 방법에 있어서, 주문에 대응되는 상품을 배달하는 사용자의 이동 수단 정보 및 상기 주문에 대응되고 상기 상품의 픽업 또는 배달과 관련된 관심 지점을 획득하는 단계, 상기 관심 지점이 포함된 관심 영역을 식별하는 단계, 상기 이동 수단 정보에 기초하여, 상기 관심 영역 내에서 경유 지점을 결정하는 단계 및 상기 사용자의 사용자 단말의 위치로부터 상기 경유 지점을 경유하여 상기 관심 지점에 도달하기 위한 추천 경로를 결정하는 단계를 포함할 수 있다. 상기 관심 영역은, 공통의 속성을 갖는 복수의 관심 지점의 집합체일 수 있다.
Description
본 개시는 주문을 처리하는 기술에 관한 것이다.
다양한 환경적 요인에 따른 비대면 서비스의 확대에 따라, 배달 서비스에 관한 시장의 규모는 가파르게 성장하고 있다. 이러한 성장세에 발맞추어 배달 서비스를 제공하는 플랫폼의 운영 주체는, 그 플랫폼의 사용자 확대를 위해 다양한 노력을 기울이고 있다. 이러한 노력의 일환으로서, 플랫폼의 운영 주체는 배달 서비스의 접근 문턱을 낮추어, 배달 서비스의 수요자가 때로는 배달 수행자로서의 역할을 수행할 수 있도록 그 플랫폼을 다변화하고 있다.
플랫폼의 수요자는 다양한 조건(예: 픽업 장소, 배달 장소)의 주문을 생성시키고 있다. 또한, 플랫폼의 배달 수행자는 그 주문에 대응되는 배달 서비스를 제공하기 위해 다양한 이동 수단(예: 차량, 전동기, 도보, 자전거 등)을 이용하고 있다. 플랫폼을 이용하는 개별 주체의 만족도 향상을 위해, 다양한 조건의 주문을 적절히 처리하는 기술이 요구되고 있다.
본 개시의 일 실시예를 통해 해결하고자 하는 기술적 과제는, 배달 서비스를 제공하는 플랫폼의 사용자의 편의를 향상시킬 수 있는 기술을 제공하는 것이다.
본 개시의 일 실시예를 통해 해결하고자 하는 다른 기술적 과제는, 플랫폼의 사용자의 수를 증가시킬 수 있는 기술을 제공하는 것이다.
본 개시의 일 실시예를 통해 해결하고자 하는 또 다른 기술적 과제는, 플랫폼을 활성화시킬 수 있는 기술을 제공하는 것이다.
본 개시의 일 실시예를 통해 해결하고자 하는 또 다른 기술적 과제는, 배달 수행자의 이동 수단과 배달 목적지(예: 관심 지점) 각각의 속성을 고려하여 배달 수행자에게 최적의 경로를 추천할 수 있는 기술을 제공하는 것이다.
본 개시의 일 실시예를 통해 해결하고자 하는 또 다른 기술적 과제는, 배달 서비스의 수요자에게 신속한 배달을 제공할 수 있는 기술을 제공하는 것이다.
본 개시의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 개시의 기술 분야에서의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
본 개시의 일 실시예에 따른 방법은, 전자 장치에 의해 수행되는 주문 처리 방법에 있어서, 주문에 대응되는 상품을 배달하는 사용자의 이동 수단 정보 및 상기 주문에 대응되고 상기 상품의 픽업 또는 배달과 관련된 관심 지점을 획득하는 단계, 상기 관심 지점이 포함된 관심 영역을 식별하는 단계 - 상기 관심 영역은, 공통의 속성을 갖는 복수의 관심 지점의 집합체임 -, 상기 이동 수단 정보에 기초하여, 상기 관심 영역 내에서 경유 지점을 결정하는 단계 및 상기 사용자의 사용자 단말의 위치로부터 상기 경유 지점을 경유하여 상기 관심 지점에 도달하기 위한 추천 경로를 결정하는 단계를 포함할 수 있다.
일 실시예에서, 상기 관심 지점, 상기 관심 영역, 상기 경유 지점 및 상기 추천 경로 중 적어도 하나를 변경하기 위한 지도 정보를 업데이트하는 단계를 더 포함할 수 있다.
일 실시예에서, 상기 지도 정보를 업데이트하는 단계는, 상기 사용자 단말로부터, 상기 추천 경로에 대응되는 실제 이동 경로를 획득하는 단계 및 상기 실제 이동 경로에 대응되는 제1 이동 거리와 상기 추천 경로에 대응되는 제2 이동 거리의 차이가 기준치 이상이면, 상기 실제 이동 경로가 반영되도록 상기 지도 정보를 업데이트하는 단계를 포함할 수 있다.
일 실시예에서, 상기 제1 이동 거리와 상기 제2 이동 거리의 차이가 기준치 이상이면, 상기 지도 정보를 업데이트하는 단계는, 상기 제1 이동 거리가 상기 제2 이동 거리보다 상기 기준치 이상 짧더라도, 상기 실제 이동 경로에 포함된 실제 경유 지점이 예외 처리 지점이면, 상기 실제 이동 경로를 상기 지도 정보의 업데이트에 예외 처리하는 단계를 포함하되, 상기 실제 경유 지점은, 상기 관심 영역의 일 지점이고, 상기 예외 처리 지점은, 상기 관심 영역에 대응하여 미리 결정된 지점이되, 상기 관심 영역에 대한 경유가 허용되지 않는 지점일 수 있다.
일 실시예에서, 상기 예외 처리 지점은, 상기 사용자의 상기 이동 수단 정보에 기초하여 결정되는 지점일 수 있다.
일 실시예에서, 상기 제1 이동 거리와 상기 제2 이동 거리의 차이가 기준치 이상이면, 상기 지도 정보를 업데이트하는 단계는, 상기 제1 이동 거리가 상기 제2 이동 거리보다 상기 기준치 이상 길더라도, 상기 사용자와 구별되는 다른 사용자의 실제 이동 경로에 상기 경유 지점이 포함되면, 상기 사용자의 실제 이동 경로를 상기 지도 정보의 업데이트에 예외 처리하는 단계를 포함할 수 있다.
일 실시예에서, 상기 관심 영역은 복수의 제1 후보 경유 지점을 포함하고, 상기 경유 지점을 결정하는 단계는, 상기 복수의 제1 후보 경유 지점 중에서, 상기 이동 수단 정보에 매칭되는 복수의 제2 후보 경유 지점을 결정하는 단계 및 상기 복수의 제2 후보 경유 지점 중에서, 상기 복수의 제2 후보 경유 지점 각각과 상기 관심 지점 사이의 거리에 기초하여, 상기 경유 지점을 결정하는 단계를 포함할 수 있다.
일 실시예에서, 상기 복수의 제1 후보 경유 지점은, 상기 관심 영역에 대응되는 지점으로서, 주차 지점, 도보 출입 지점, 자전거 거치 지점 및 일반 출입 지점 중 적어도 일부를 포함할 수 있다.
일 실시예에서, 상기 경유 지점을 결정하는 단계는, 상기 관심 영역을 복수의 셀(cell)로 구획하는 단계 및 상기 복수의 셀 중에서, 상기 관심 지점에 대응되는 대상 셀을 식별하는 단계를 더 포함하되, 상기 경유 지점을 결정하는 단계는, 상기 복수의 제2 후보 경유 지점 각각과 상기 대상 셀 사이의 거리에 기초하여, 상기 경유 지점을 결정하는 단계를 포함할 수 있다.
일 실시예에서, 상기 복수의 셀 각각의 넓이는, N개(N은, 2 이상의 자연수)의 서로 다른 넓이 중 하나일 수 있다.
일 실시예에서, 상기 복수의 셀로 구획하는 단계는, 주문의 누적에 따라 획득된 복수의 관심 지점의 분포에 기초하여, 상기 복수의 셀 각각의 넓이를 업데이트하는 단계를 포함할 수 있다.
일 실시예에서, 상기 거리에 기초하여, 상기 경유 지점을 결정하는 단계는, 상기 복수의 제2 후보 경유 지점 중에서, 상기 복수의 제2 후보 경유 지점 각각과 상기 관심 지점 사이의 거리가 최소인 지점을 상기 경유 지점으로 결정하는 단계를 포함할 수 있다.
일 실시예에서, 상기 거리에 기초하여, 상기 경유 지점을 결정하는 단계는, 상기 복수의 제2 후보 경유 지점 중에서, 상기 복수의 제2 후보 경유 지점 각각과 상기 관심 지점 사이의 거리 및 상기 복수의 제2 후보 경유 지점 각각과 상기 사용자 단말의 위치 사이의 거리의 합이 최소인 지점을 상기 경유 지점으로 결정하는 단계를 포함할 수 있다.
일 실시예에서, 상기 사용자 단말의 위치가 상기 추천 경로를 벗어나면, 상기 관심 영역의 대체 지점을 경유하여 상기 관심 지점에 도달하기 위한 대체 경로를 결정하는 단계를 더 포함할 수 있다.
일 실시예에서, 상기 추천 경로에 대응되는 소요 시간을 산출하는 단계 및 상기 소요 시간을 상기 사용자 단말에 전송하는 단계를 더 포함하되, 상기 소요 시간은, 상기 이동 수단 정보에 기초하여 결정될 수 있다.
일 실시예에서, 상기 추천 경로가 표시된 지도 이미지가 상기 사용자 단말에 표시되도록 하는 정보를 상기 사용자 단말에 전송하는 단계를 더 포함할 수 있다.
본 개시의 다른 일 실시예에 따른 전자 장치는, 프로세서, 네트워크 인터페이스, 메모리 및 상기 메모리에 로드(load)되고, 상기 프로세서에 의해 실행되는 컴퓨터 프로그램을 포함하되, 상기 컴퓨터 프로그램은, 주문에 대응되는 상품을 배달하는 사용자의 이동 수단 정보 및 상기 주문에 대응되고 상기 상품의 픽업 또는 배달과 관련된 관심 지점을 획득하는 인스트럭션(instruction), 상기 관심 지점이 포함된 관심 영역을 식별하는 인스트럭션 - 상기 관심 영역은, 공통의 속성을 갖는 복수의 관심 지점의 집합체임 -, 상기 이동 수단 정보에 기초하여, 상기 관심 영역 내에서 경유 지점을 결정하는 인스트럭션 및 상기 사용자의 사용자 단말의 위치로부터 상기 경유 지점을 경유하여 상기 관심 지점에 도달하기 위한 추천 경로를 결정하는 인스트럭션을 포함할 수 있다.
다른 일 실시예에서, 상기 컴퓨터 프로그램은, 상기 관심 지점, 상기 관심 영역, 상기 경유 지점 및 상기 추천 경로 중 적어도 하나를 변경하기 위한 지도 정보를 업데이트하는 인스트럭션을 더 포함할 수 있다.
다른 일 실시예에서, 상기 컴퓨터 프로그램은, 상기 사용자 단말의 위치가 상기 추천 경로를 벗어나면, 상기 관심 영역의 대체 지점을 경유하여 상기 관심 지점에 도달하기 위한 대체 경로를 결정하는 인스트럭션을 더 포함할 수 있다.
다른 일 실시예에서, 상기 컴퓨터 프로그램은, 상기 추천 경로가 표시된 지도 이미지가 상기 사용자 단말에 표시되도록 하는 정보를 상기 사용자 단말에 전송하는 인스트럭션을 더 포함할 수 있다.
본 개시에 따르면, 배달 서비스를 제공하는 플랫폼의 사용자의 편의를 향상시킬 수 있다.
본 개시에 따르면, 플랫폼의 사용자의 수를 증가시킬 수 있다.
본 개시에 따르면, 플랫폼을 활성화시킬 수 있다.
본 개시에 따르면, 배달 수행자의 이동 수단과 배달 목적지(예: 관심 지점) 각각의 속성을 고려하여 배달 수행자에게 최적의 경로를 추천할 수 있다.
본 개시에 따르면, 배달 서비스의 수요자에게 신속한 배달을 제공할 수 있다.
본 개시의 기술적 사상에 따른 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 명세서의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 개시의 일 실시예에 따른 장치들이 적용될 수 있는 환경을 도시한다.
도 2는 본 개시의 일 실시예에 따른 장치를 구현할 수 있는 컴퓨팅 장치를 도시한다.
도 3은 본 개시의 일 실시예에서 참조될 수 있는 관심 지점, 관심 영역 및 후보 경유 지점을 도시한다.
도 4는 본 개시의 일 실시예에 따른 주문 처리 방법을 나타내는 순서도이다.
도 5는 도 4를 참조하여 설명된 경유 지점의 결정 동작(S430)의 세부 동작을 나타내는 순서도이다.
도 6 및 도 7 각각은 도 4 및 도 5를 참조하여 설명된 추천 경로를 도시한다.
도 8은 도 4를 참조하여 설명된 경유 지점의 결정 동작(S430)의 다른 세부 동작을 나타내는 순서도이다.
도 9는 도 8을 참조하여 설명된 복수의 셀(cell)을 도시한다.
도 10은 본 개시의 다른 일 실시예에 따른 주문 처리 방법을 나타내는 순서도이다.
도 11은 도 10을 참조하여 설명된 지도 정보의 업데이트 동작(S1010)의 세부 동작을 나타내는 순서도이다.
도 12는 본 개시의 또 다른 일 실시예에 따른 주문 처리 방법을 나타내는 순서도이다.
도 13은 본 개시의 또 다른 일 실시예에 따른 주문 처리 방법을 나타내는 순서도이다.
본 개시에 기재된 다양한 실시예들은, 본 개시의 기술적 사상을 명확히 설명하기 위한 목적으로 예시된 것이며, 이를 특정한 실시 형태로 한정하려는 것이 아니다. 본 개시의 기술적 사상은, 본 개시에 기재된 각 실시예의 다양한 변경(modifications), 균등물(equivalents), 대체물(alternatives) 및 각 실시예의 전부 또는 일부로부터 선택적으로 조합된 실시예를 포함한다. 또한 본 개시의 기술적 사상의 권리 범위는 이하에 제시되는 다양한 실시예들이나 이에 대한 구체적 설명으로 한정되지 않는다.
기술적이거나 과학적인 용어를 포함해서, 본 개시에서 사용되는 용어들은, 달리 정의되지 않는 한, 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자에게 일반적으로 이해되는 의미를 가질 수 있다.
본 개시에서 사용되는 "포함한다", "포함할 수 있다", "구비한다", "구비할 수 있다", "가진다", "가질 수 있다" 등과 같은 표현들은, 대상이 되는 특징(예를 들어, 기능, 동작 또는 구성요소 등)이 존재함을 의미하며, 다른 추가적인 특징의 존재를 배제하지 않는다. 즉, 이와 같은 표현들은 다른 실시예를 포함할 가능성을 내포하는 개방형 용어(open-ended terms)로 이해되어야 한다.
본 개시에서 사용되는 단수형의 표현은, 문맥상 다르게 뜻하지 않는 한 복수형의 의미를 포함할 수 있으며, 이는 청구항에 기재된 단수형의 표현에도 마찬가지로 적용된다.
본 개시에서 사용되는 "제1", "제2", 또는 "첫째", "둘째" 등의 표현은, 문맥상 다르게 뜻하지 않는 한, 복수의 동종 대상들을 지칭함에 있어 한 대상을 다른 대상과 구분하기 위해 사용되며, 대상들 간의 순서 또는 중요도를 한정하는 것은 아니다. 예를 들어, 본 개시에 따른 복수의 사용자 단말에 포함된 각각의 사용자 단말은 "제1 사용자 단말" 및 "제2 사용자 단말"과 같이 표현됨으로써 서로 구분될 수 있다.
본 개시에서 사용되는 "A, B 및 C," "A, B 또는 C," "A, B 및 C 중 적어도 하나" 또는 "A, B 또는 C 중 적어도 하나" 등의 표현은, 각각의 나열된 항목 또는 나열된 항목들의 가능한 모든 조합들을 의미할 수 있다. 예를 들어, "A 또는 B 중 적어도 하나"는, (1) 적어도 하나의 A, (2) 적어도 하나의 B, (3) 적어도 하나의 A 및 적어도 하나의 B를 모두 지칭할 수 있다.
본 개시에서 사용되는 "~에 기초하여"라는 표현은, 이 표현이 포함되는 어구 또는 문장에서 기술되는, 결정, 판단의 행위 또는 동작에 영향을 주는 하나 이상의 인자를 기술하는 데에 사용되고, 이 표현은 그 결정, 판단의 행위 또는 동작에 영향을 주는 추가적인 인자를 배제하지 않는다.
본 개시에서 사용되는, 어떤 구성요소(예를 들어, 제1 구성요소)가 다른 구성요소(예를 들어, 제2 구성요소)에 "연결되어" 있다거나 "접속되어" 있다는 표현은, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결 또는 접속되는 것뿐 아니라, 새로운 다른 구성요소(예를 들어, 제3 구성요소)를 매개로 하여 연결 또는 접속되는 것을 의미할 수 있다.
본 개시에서 사용된 표현 "~하도록 구성된(configured to)"은 문맥에 따라, "~하도록 설정된", "~하는 능력을 가지는", "~하도록 변경된", "~하도록 만들어진", "~를 할 수 있는" 등의 의미를 가질 수 있다. 이 표현은, "하드웨어적으로 특별히 설계된"의 의미로 제한되지 않으며, 예를 들어 특정 동작을 수행하도록 구성된 프로세서란, 소프트웨어를 실행함으로써 그 특정 동작을 수행할 수 있는 범용 프로세서(generic purpose processor)를 의미하거나, 그 특정 동작을 수행하도록 프로그래밍을 통해 구조화된 특수 목적 컴퓨터(special purpose computer)를 의미할 수 있다.
본 개시에서 사용되는 용어 "플랫폼(platform)"은, 동일하거나 유사한 목적의 서비스들을 통합 관리함으로써 사용자들의 사용 기반이 되는 유형 또는 무형의 공간을 의미할 수 있고, 그 세부적인 의미의 차이는 있으나 포괄적으로 "소프트웨어", "애플리케이션" 또는 "솔루션"과 상호 교환적으로 지칭될 수도 있다. 일 실시예에서, 플랫폼은 배달 서비스들을 통합한 유형 또는 무형의 공간일 수 있다. 경우에 따라서, 플랫폼은 배달 플랫폼과 상호 교환적으로 호칭될 수 있다.
본 개시에서 사용되는 용어 "배달 서비스"는 주문된 상품을 운반하는 서비스를 의미할 수 있다. 상품은 재화(goods)나 서비스(service)를 의미할 수 있다. 예를 들어, 배달 서비스는 배달 음식의 배달 서비스, 밀키트(meal-kit)의 배달 서비스 또는 편의 물품의 배달 서비스 등일 수 있다.
본 개시에서 사용되는 용어 "사용자"는 운영 주체가 제공하는 플랫폼을 이용하는 자를 의미할 수 있다. 예를 들어, 배달 서비스의 수요자, 배달 수행자 또는 배달 서비스에 관한 상품의 공급자 등이 사용자일 수 있다. 즉, 본 개시에서 사용자라고 기재된 용어는, 배달 서비스의 수요자, 배달 수행자 또는 공급자 중 적어도 어느 하나로 이해될 수 있다. 또한, "사용자 단말"은 플랫폼을 이용하는 자들이 이용하는 단말을 의미할 수 있다. 예를 들어, 배달 서비스의 수요자의 단말인 수요자 단말, 배달 수행자의 단말인 배달 수행자 단말 또는 배달 서비스에 관한 상품의 공급자의 단말인 공급자 단말 등이 사용자 단말일 수 있다. 즉, 본 개시에서 사용자 단말이라고 기재된 용어는, 수요자 단말, 배달 수행자 단말 또는 공급자 단말 중 적어도 어느 하나로 이해될 수 있다.
이하, 첨부된 도면들을 참조하여, 본 개시에 기재된 다양한 실시예들을 설명한다. 첨부된 도면 및 도면에 대한 설명에서, 동일하거나 실질적으로 동등한(substantially equivalent) 구성요소에는 동일한 참조부호가 부여될 수 있다. 또한, 이하 다양한 실시예들의 설명에서, 동일하거나 대응하는 구성요소를 중복하여 기술하는 것이 생략될 수 있으나, 이는 그 구성요소가 그 실시예에 포함되지 않는 것을 의미하지는 않는다.
도 1은 본 개시의 일 실시예에 따른 장치들이 적용될 수 있는 환경을 도시한다. 이 환경은, 주문 처리 장치(110), 수요자 단말(120), 배달 수행자 단말(130) 및 공급자 단말(140)을 포함할 수 있다. 도 1은 1개의 수요자 단말(120), 1개의 배달 수행자 단말(130) 및 1개의 공급자 단말(140)이 주문 처리 장치(110)에 적용된 일례를 도시하고 있으나, 이는 이해의 편의를 제공하기 위한 것일 뿐이고, 수요자 단말(120)의 개수, 배달 수행자 단말(130)의 개수 및 공급자 단말(140)의 개수는 얼마든지 달라질 수 있다. 즉, 주문 처리 장치(110)는 하나 이상의 주문을 처리하기 위해, 하나 이상의 수요자 단말(120), 하나 이상의 배달 수행자 단말(130) 또는 하나 이상의 공급자 단말(140)과 상호 작용할 수 있다. 또한, 도 1은 본 개시의 목적을 달성하기 위한 바람직한 실시예를 도시하고 있을 뿐이고, 필요에 따라 일부 구성요소가 추가되거나 삭제될 수 있다.
이하, 도 1에 도시된 각 구성요소에 대해 보다 구체적으로 설명한다.
주문 처리 장치(110)는 배달 서비스를 사용자들에게 제공하는 플랫폼의 서버 장치일 수 있다. 즉, 주문 처리 장치(110)는 플랫폼의 운영 주체의 관리 하에 운영되는 서버 장치로서 이해될 수 있다.
주문 처리 장치(110)는 배달 서비스와 관계된 플랫폼의 동작들을 구현하기 위해, 네트워크를 통해 수요자 단말(120), 배달 수행자 단말(130) 및/또는 공급자 단말(140)과 각종 정보 또는 요청을 교환할 수 있다. 예를 들어, 주문 처리 장치(110)는 수요자 단말(120)로부터 상품의 주문(예: 배달 요청, 배달 요청에 수반된 상품의 정보)을 수신하고, 그 주문에 대응되는 공급자 단말(140)에 그 주문을 전송하는 등의 주문의 접수에 관계된 처리를 수행할 수 있다. 다른 예를 들어, 주문 처리 장치(110)는 공급자 단말(140)로부터 주문에 대응되는 상품의 준비 완료 메시지를 수신하고, 그 준비 완료 메시지에 응답하여 그 주문을 배달 수행자 단말(130)에 배정하는 등의 주문의 배정에 관계된 처리를 수행할 수도 있다. 또 다른 예를 들어, 주문 처리 장치(110)는 배달 수행자 단말(130)로부터 배달 완료 메시지를 수신하고, 그 배달 완료 메시지에 응답하여 수요자 단말(120)에 배달 완료의 알림을 전송하는 등의 주문의 완료에 관계된 처리를 수행할 수도 있다.
주문 처리 장치(110)는 수요자 단말(120), 배달 수행자 단말(130) 및/또는 공급자 단말(140)로부터 수신된 정보에 대해 다양한 처리 동작을 수행할 수 있다. 예를 들어, 주문 처리 장치(110)는 그 정보를 수정, 삭제, 선택, 산출, 결정 또는 추출 등의 가공을 수행할 수 있다. 다른 예를 들어, 주문 처리 장치(110)는 그 정보 또는 그 가공된 정보를 주문 처리 장치(110)의 내부 스토리지 또는 외부 스토리지에 저장할 수도 있다. 이외에도 주문 처리 장치(110)는 사용자의 플랫폼 사용에 따라 획득되는 다양한 정보를 필요한 형식으로 처리하는 공지된 다양한 동작들을 수행할 수 있다.
일 실시예에서, 주문 처리 장치(110)는 배달 서비스의 일례로서, 배달 수행자가 공급자로부터 상품을 전달받고, 그 상품을 수요자에게 배달하기 위한 최적의 경로를 결정할 수 있다. 이 최적의 경로는, 예를 들어, 소요 시간이 가장 짧은 경로이거나 이동 거리가 최단인 경로 등일 수 있다. 경우에 따라서, 최적의 경로는 "추천 경로"로 지칭될 수 있다. 다만, 중복된 설명의 배제를 위하여, 추천 경로의 결정에 관계된 다양한 동작들에 대해서는 추후 도 4 이하의 도면을 참조하여 구체적으로 설명한다.
주문 처리 장치(110)는 하나 이상의 컴퓨팅 장치로 구현될 수 있다. 예를 들어, 주문 처리 장치(110)의 모든 기능은 단일 컴퓨팅 장치에서 구현될 수 있다. 다른 예를 들어, 주문 처리 장치(110)의 제1 기능은 제1 컴퓨팅 장치에서 구현되고, 제1 기능과 구별되는 제2 기능은 제1 컴퓨팅 장치와 구별되는 제2 컴퓨팅 장치에서 구현될 수도 있다. 예를 들어, 컴퓨팅 장치는 데스크톱(desktop), 랩탑(laptop), 애플리케이션 서버(application server), 프록시 서버(proxy server) 또는 클라우드 서버(cloud server) 등이 될 수 있으나, 이에 국한되는 것은 아니며 컴퓨팅 기능이 구비된 모든 종류의 장치를 포함할 수 있다.
수요자 단말(120), 배달 수행자 단말(130) 및 공급자 단말(140) 각각은 배달 서비스와 관계된 플랫폼을 이용하는 사용자의 단말일 수 있다. 일 실시예에서, 사용자들이 그 플랫폼을 사용케 하기 위하여, 수요자 단말(120), 배달 수행자 단말(130) 및 공급자 단말(140) 각각에는 웹 브라우저(web browser) 또는 애플리케이션(application)이 설치될 수 있다. 경우에 따라서, 주체 별로 상이한 웹 브라우저 또는 애플리케이션이 각각의 단말에 설치될 수도 있다. 구체적으로, 수요자 단말(120)에는 배달 서비스와 관계된 수요자 전용의 애플리케이션이 설치되고, 배달 수행자 단말(130)에는 배달 서비스와 관계된 배달 수행자 전용의 애플리케이션이 설치되고, 공급자 단말(140)에는 배달 서비스와 관계된 공급자 전용의 애플리케이션이 설치될 수 있다. 이러한 사용자 단말(120, 130, 140) 각각은, 예를 들어, 데스크탑, 워크스테이션(workstation), 랩탑, 태블릿 컴퓨터(tablet computer), 웨어러블 디바이스(wearable device) 또는 스마트폰(smart phone)과 같은 장치 중 어느 하나일 수 있으나, 본 예시들에 한정되지 않고, 컴퓨팅 기능이 구비된 모든 종류의 컴퓨팅 장치를 포함할 수 있다.
도 1에 도시된 주문 처리 장치(110), 수요자 단말(120), 배달 수행자 단말(130) 및 공급자 단말(140) 중 적어도 일부는 네트워크를 통해 통신할 수 있다. 네트워크는 예를 들어, 근거리 통신망(Local Area Network, LAN), 광역 통신망(Wide Area Network, WAN), 이동 통신망(Mobile Radio Communication Network), Wibro(Wireless Broadband Internet) 등과 같은 모든 종류의 유선 또는 무선 네트워크로 구현될 수 있다.
도 2는 본 개시의 일 실시예에 따른 장치를 구현할 수 있는 컴퓨팅 장치(200)를 도시한다. 본 개시에서 컴퓨팅 장치(200)는 전자 장치와 상호 교환적으로 지칭될 수 있다. 전술한 주문 처리 장치(110), 수요자 단말(120), 배달 수행자 단말(130) 및 공급자 단말(140) 각각은 이 컴퓨팅 장치(200)에 의해 구현될 수 있다. 컴퓨팅 장치(200)는, 하나 이상의 프로세서(210), 하나 이상의 메모리(220) 또는 통신 인터페이스(230)를 포함할 수 있다. 일 실시예에서, 컴퓨팅 장치(200)에서 일부 구성요소가 삭제되거나 다른 구성요소(예: 디스플레이, 입력 장치, GPS 모듈 등)가 컴퓨팅 장치(200)에 추가될 수 있다. 또한, 추가적으로 또는 대체적으로 일부의 구성요소들이 통합되어 구현되거나, 단수 또는 복수의 개체로 구현될 수 있다. 본 개시에서, 하나 이상의 프로세서(210)는 프로세서(210)라고 지칭될 수 있다. 이러한 프로세서(210)라는 용어는, 문맥상 명백히 다르게 표현하지 않는 이상, 하나 또는 그 이상의 프로세서의 집합을 의미할 수 있다. 또한, 본 개시에서, 하나 이상의 메모리(220)는 메모리(220)라고 지칭될 수 있다. 이러한 메모리(220)라는 용어는, 문맥상 명백히 다르게 표현하지 않는 이상, 하나 또는 그 이상의 메모리의 집합을 의미할 수 있다.
컴퓨팅 장치(200) 내의 적어도 일부의 구성요소들은 버스(bus), GPIO(General Purpose Input/Output), SPI(Serial Peripheral Interface) 또는 MIPI(Mobile Industry Processor Interface) 등을 통해 서로 연결되어, 데이터 또는 시그널을 주거나 받을 수 있다.
프로세서(210)는, 컴퓨팅 장치(200)의 각 구성요소들의 제어 또는 통신에 관한 연산이나 데이터 처리를 수행할 수 있다. 구체적으로, 프로세서(210)는 다른 구성요소로부터 수신된 소프트웨어(예: 명령, 인스트럭션(instruction) 또는 프로그램 등)를 구동하여 프로세서(210)에 연결된 컴퓨팅 장치(200)의 적어도 하나의 구성요소를 제어할 수 있다. 일례로서, 프로세서(210)는 명령 또는 데이터를 메모리(220)에 로드(load)하고, 메모리(220)에 저장된 명령 또는 데이터를 처리하고, 그 처리에 따른 결과 데이터를 메모리(220)에 저장할 수 있다. 또한, 프로세서(210)는 컴퓨팅 장치(200)의 구성요소들과 작동적으로 연결되어 본 개시와 관련된 다양한 연산, 처리, 데이터 생성 또는 가공 등의 동작을 수행할 수 있다.
메모리(220)는 다양한 데이터를 저장할 수 있다. 메모리(220)에 저장되는 데이터는, 컴퓨팅 장치(200)의 적어도 하나의 구성요소에 의해 획득되거나, 처리되거나, 사용되는 데이터로서, 소프트웨어(예: 명령, 인스트럭션 또는 프로그램 등)를 포함할 수 있다. 일례로서, 메모리(220)는 프로세서(210)의 동작에 대한 명령들을 컴퓨터 프로그램으로서 저장할 수 있다. 컴퓨터 프로그램은 메모리(220)에 로드될 때 프로세서(210)로 하여금 본 개시의 다양한 실시예들에 따른 동작을 수행하도록 하는 하나 이상의 명령들을 포함할 수 있다. 즉, 프로세서(210)는 전술한 하나 이상의 명령들을 실행함으로써, 본 개시의 다양한 실시예들에 따른 동작들을 수행할 수 있다. 또한, 메모리(220)는 휘발성 또는 비휘발성 메모리를 포함할 수 있다. 일 실시예에서, 프로그램은 메모리(220)에 저장되는 소프트웨어로서, 컴퓨팅 장치(200)의 리소스를 제어하기 위한 운영체제, 애플리케이션 또는 애플리케이션이 컴퓨팅 장치(200)의 리소스들을 활용할 수 있도록 다양한 기능을 애플리케이션에 제공하는 미들 웨어 등을 포함할 수 있다.
통신 인터페이스(230)는 네트워크 인터페이스라 불릴 수도 있다. 통신 인터페이스(230)는, 외부 장치와 유선 또는 무선 통신 채널을 설립하고, 그 외부 장치와 다양한 데이터를 송수신할 수 있다. 일 실시예에서, 통신 인터페이스(230)는 외부 장치와 유선으로 통신하기 위해서, 외부 장치와 유선 케이블로 연결되기 위한 적어도 하나의 포트를 포함할 수 있다. 이 경우, 통신 인터페이스(230)는 적어도 하나의 포트를 통하여 유선 연결된 외부 장치와 통신을 수행할 수 있다. 일 실시예에서, 통신 인터페이스(230)는 셀룰러 통신 모듈을 포함하여 셀룰러 네트워크(예: 3G, LTE, 5G, Wibro 또는 Wimax)에 연결되도록 구성될 수 있다. 일 실시예에서, 통신 인터페이스(230)는 근거리 통신 모듈을 포함하여 근거리 통신(예: Wi-Fi, Bluetooth, Bluetooth Low Energy(BLE), UWB)을 이용해 외부 장치와 데이터 송수신을 할 수 있다. 일 실시예에서, 통신 인터페이스(230)는 비접촉식 통신을 위한 비접촉 통신 모듈을 포함할 수 있다. 비접촉식 통신은, 예를 들면, NFC(Near Field Communication) 통신, RFID(Radio Frequency Identification) 통신 또는 MST(Magnetic Secure Transmission) 통신과 같이 적어도 하나의 비접촉 방식의 근접 통신 기술을 포함할 수 있다. 전술한 다양한 예시들 외에도, 외부 장치와 통신하기 위한 공지된 다양한 방식으로 컴퓨팅 장치(200)가 구현될 수 있으며, 전술한 예시들에 의해 본 개시의 범위가 제한되지 않는다.
일 실시예에서, 컴퓨팅 장치(200)는 디스플레이를 더 포함할 수 있다. 디스플레이는 프로세서(210)의 제어에 기반하여 다양한 화면을 표시할 수 있다. 예를 들어 디스플레이는, 프로세서(210)의 제어에 기반하여, 배달 서비스에 관계된 플랫폼의 다양한 인터페이스들이 적용된 화면을 표시할 수 있다. 여기서, 다양한 인터페이스들이 적용된 화면을 디스플레이에 표시하기 위해서, 예를 들어, 웹 브라우저 또는 전용 애플리케이션이 컴퓨팅 장치(200)에 설치될 수 있다. 또한, 디스플레이는 사용자와 상호 작용이 가능한 구성으로서, 프로세서(210)의 제어에 기반하여 다양한 화면을 표시하고, 사용자로부터 사용자 입력을 수신할 수 있다. 이러한 디스플레이는, 다양한 외부 객체(예: 손가락, 스타일러스 등)의 접촉 또는 근접을 인식할 수 있는 터치 센서 패널(Touch Sensor Panel, TSP)의 형태로 구현될 수 있다. 또한, 터치 센서 패널은 다양한 구조 및 타입을 가질 수 있으며, 본 개시는 터치 센서 패널의 구조 및 타입과 관계없이 모두 적용될 수 있다.
일 실시예에서, 컴퓨팅 장치(200)는 입력 장치(예: 마우스 또는 키보드 등)를 더 포함할 수 있다. 입력 장치는 컴퓨팅 장치(200)의 구성요소에 사용될 정보를 컴퓨팅 장치(200)의 외부(예: 사용자)로부터 수신할 수 있다.
일 실시예에서, 컴퓨팅 장치(200)는 GPS 모듈(예: GPS 수신기)를 더 포함할 수 있다. 예를 들어, GPS 모듈은 각각의 사용자 단말(120, 130, 140)에 포함되어, 수요자 단말(120)의 위치, 배달 수행자 단말(130)의 위치 및/또는 공급자 단말(140)의 위치를 수신할 수 있다.
도 3은 본 개시의 일 실시예에서 참조될 수 있는 관심 지점(321, 322), 관심 영역(310) 및 후보 경유 지점(331, 332, 333)을 도시한다.
관심 지점(Point of Interest, POI, 321, 322)은 지도 상에 표시될 수 있는 건물 등을 의미할 수 있다. 예를 들어, 관심 지점(321, 322)은 사용자 단말(120, 130, 140)에 표시될 수 있는 지도 상의 건물로서, 수요자의 주문에 대응되는 배달 장소(321) 또는 그 주문에 대응되는 상품의 픽업 장소(322)일 수 있다.
관심 영역(Area of Interest, AOI, 310)은 지도 상에 표시될 수 있는 복수의 관심 지점의 집합체로서, 그 관심 영역(310)에 포함된 복수의 관심 지점은 상호 공통 속성을 가질 수 있다. 예를 들어, 아파트 "A동", "B동" 및 "C동"이 하나의 아파트 단지에 속한 개별 관심 지점인 경우, "A동", "B동" 및 "C동"이 포함된 아파트 단지인 "A 아파트 단지"가 관심 영역일 수 있다. 다른 예를 들어, 상가 "D동" 및 "E동"이 하나의 상가 단지에 속한 개별 관심 지점인 경우, "D동" 및 "E동"이 포함된 상가 단지인 "B 상가 단지"가 관심 영역일 수도 있다. 도 3을 참조하면, 아파트 단지에 대응되는 관심 영역(310) 내부에 아파트 개별 동에 대응되는 관심 지점(321)이 위치할 수 있으나, 아파트 단지 외부의 상가 건물에 대응되는 관심 지점(322)은 관심 영역(310) 외부에 위치할 수 있음을 이해할 수 있다. 전술한 예시 외에도, 공통 속성을 가지는 개별 관심 지점의 집합체는 어떠한 속성을 공유하더라도 관심 영역일 수 있다.
후보 경유 지점(331, 332, 333)은 지도 상에 표시될 수 있는 지점으로서, 배달 수행자가 관심 지점(321, 322)에 도달하기 위해 지나칠 수 있는 지점을 의미할 수 있다. 추후 도 4 이하의 도면을 참조하여 구체적으로 설명될 실시예에 따라 추천 경로가 결정되면, 배달 수행자는 후보 경유 지점(331, 332, 333) 중 적어도 하나의 지점(예: 경유 지점)을 경유하여, 관심 지점(321, 322)에 도달할 수 있다.
후보 경유 지점(331, 332, 333)과 관련하여, 일 실시예에서, 후보 경유 지점(331, 332, 333)은 관심 영역(310)과 관계된 지점을 의미할 수 있다. 예를 들어, 후보 경유 지점(331, 332, 333)은 관심 영역(310)의 주차 지점, 도보 출입 지점, 자전거 거치 지점 또는 일반 출입 지점일 수 있다. 주차 지점은 이동 수단으로서 차량 또는 전동기를 이용하는 배달 수행자가 주차 가능한 지점을 의미할 수 있고, 도보 출입 지점은 이동 수단으로서 도보를 이용하는 배달 수행자가 경유 가능한 지점을 의미할 수 있고, 자전거 거치 지점은 이동 수단으로서 자전거를 이용하는 배달 수행자가 자전거를 거치할 수 있는 지점을 의미할 수 있으며, 일반 출입 지점은 이동 수단에 무관하게 출입 가능한 지점을 의미할 수 있다. 다만, 예시에 더 추가적으로, 관심 영역(310) 내부에 포함된 관심 지점(321)에 도달하기 위해 경유해야 하는 관심 영역(310)의 특유한 지점이 후보 경유 지점(331, 332, 333)에 더 포함될 수 있음을 유의해야 한다. 본 실시예에 따르면, 관심 영역(310)의 내부에 포함된 관심 지점(321)에 도달하기 위해 경유할 수 있는 지점으로서, 후보 경유 지점(331, 332, 333)이 관심 영역(310)과 관계되어 결정될 수 있다.
도 3과 관련하여, 일 실시예에서, 관심 지점(321)과 관심 영역(310)의 계층 관계는 실재를 반영하여 사전에 결정될 수 있다. 이와 같은 관심 지점(321)과 관심 영역(310)의 계층 관계는 추후 도 10 및 도 11을 참조하여 설명될 지도 정보의 업데이트 동작에 의해 변경된 실재를 반영하도록 구현될 수도 있다. 다른 일 실시예에서, 관심 영역(310)의 후보 경유 지점(331, 332, 333)은, 마찬가지로, 실재를 반영하여 사전에 결정될 수 있고, 지도 정보의 업데이트 동작에 의해 변경된 실재를 반영하도록 구현될 수도 있다.
이하에서는, 본 개시의 다양한 실시예들에 따른 방법들에 대하여 상세하게 설명한다. 이하의 도면에서 동작들이 특정한 순서로 도시되어 있지만, 반드시 동작들이 도시된 특정한 순서로 또는 순차적 순서로 실행되어야만 하거나 또는 모든 도시된 동작들이 실행되어야만 원하는 결과를 얻을 수 있는 것은 아님을 유의해야 한다.
또한, 이하의 도면을 참조하여 설명될 방법들의 각 단계는 컴퓨팅 장치에 의해 수행될 수 있다. 다시 말하면, 방법들의 각 단계는 컴퓨팅 장치의 프로세서에 의해 실행되는 하나 이상의 인스트럭션들로 구현될 수 있다. 이러한 방법들에 포함되는 모든 단계는 하나의 물리적인 컴퓨팅 장치에 의하여 실행될 수도 있을 것이나, 방법의 제1 단계들은 제1 컴퓨팅 장치에 의하여 수행되고, 방법의 제2 단계들은 제2 컴퓨팅 장치에 의하여 수행될 수도 있다. 이하에서는, 전술한 방법들의 각 단계가 도 1에 도시된 주문 처리 장치(110)에 의해 수행되는 것을 가정하여 설명을 이어가도록 한다. 다만, 설명의 편의상, 방법들에 포함되는 각 단계의 동작 주체는 그 기재가 생략될 수도 있다.
이하의 도면에서, 배달 수행자가 주문에 대응되는 상품의 픽업 후에, 배달 수행의 위치로부터 그 주문에 대응되는 배달 장소에 도달하기 위한 추천 경로 결정 방법을 위주로 설명하겠으나, 추천 경로 결정 방법이 본 예시에만 적용되는 것은 아니고, 예를 들어, 배달 수행자의 위치로부터 주문에 대응되는 상품의 픽업 장소에 도달하기 위한 추천 경로의 결정 등에도 적용될 수 있다.
도 4는 본 개시의 일 실시예에 따른 주문 처리 방법을 나타내는 순서도이다. 도 4에 도시된 방법은, 배달 수행자의 이동 수단에 관한 정보(즉, 이동 수단 정보)와 수요자의 주문에 대응되는 관심 지점(예: 배달 장소 등)에 기초하여 결정되는 추천 경로의 처리에 관한 일련의 동작들로 이해될 수 있다. 이하, 도 4에 도시된 동작들을 구체적으로 설명한다. 도 4에 도시된 각 단계들에서의 사용자는 주문에 대응되는 상품을 배달하는 주체, 즉, 배달 수행자로 이해될 수 있다.
사용자의 이동 수단 정보 및 주문에 대응되는 관심 지점이 획득될 수 있다(S410). 주문 처리 장치(110)는 배달 수행자 단말(130)로부터 이동 수단 정보를 수신할 수 있다. 이동 수단 정보는 배달 수행자가 이용하는 이동 수단에 관한 정보로서, 배달 수행자 단말(130)에 구현된 인터페이스에 대한 배달 수행자의 입력으로부터 차량, 전동기, 자전거 또는 도보 등의 이동 수단 정보가 수신될 수 있다. 예를 들어, 배달 수행자 단말(130)에 구현된 인터페이스에는, 차량, 전동기, 자전거 또는 도보 등의 이동 수단 정보를 선택할 수 있는 콤보 박스(combo box)가 구현될 수 있으나, 이동 수단 정보를 배달 수행자가 입력할 수 있는 방식이라면, 어떠한 방식이라도 본 개시의 범위에 포함될 수 있다. 주문 처리 장치(110)는 수요자 단말(120)로부터 배달 요청 및 그 배달 요청에 수반된 상품의 정보를 이용하여, 주문을 생성할 수 있다. 생성된 주문에는 상품의 픽업 장소 및 상품의 배달 장소 등이 포함될 수 있다. 이러한 픽업 장소 또는 배달 장소는 주문에 대응되어 배정된 배달 수행자가 도달해야하는 관심 지점으로서 이해될 수 있다. 관심 지점은 주문에 포함된 정보로서, 수요자 단말(120)에 구현된 인터페이스에 대한 수요자의 입력으로부터 수신될 수 있다. 예를 들어, 수요자 단말(120)에 구현된 인터페이스에는 배달의 대상이 되는 상품을 선택할 수 있는 버튼(button)이 구현될 수 있고, 수요자가 어느 하나의 버튼을 선택하면, 그 버튼에 대응되는 픽업 장소가 결정될 수 있다. 또한 예를 들어, 수요자 단말(120)에 구현된 인터페이스에는 배달 장소를 입력할 수 있는 입력 폼(form)이 구현될 수 있다. 전술한 예시들 외에도 픽업 장소 또는 배달 장소를 수요자가 입력할 수 있는 방식이라면, 어떠한 방식이라도 본 개시의 범위에 포함될 수 있다.
관심 지점이 포함된 관심 영역이 식별될 수 있다(S420). 도 3을 참조하여, 전술한 바와 같이, 관심 지점과 관심 영역의 계층 관계(예: 포함 관계)는 실재를 반영하여 사전에 결정될 수 있다. 이러한 결정을 위해 주문 처리 장치(110)는, 예를 들어, 위성 사진 또는 공공 데이터베이스(예: 공공 데이터 포털 등) 등을 참조할 수 있다. 이러한 결정에 기초하여, 주문 처리 장치(110)는 관심 지점에 대응되는 관심 영역을 식별할 수 있다.
도 4에 도시된 주문 처리 방법은, 배달 수행자가 도달해야 하는 관심 지점이 관심 영역에 포함된 경우를 가정하여 도시되어 있으나, 배달 수행자가 도달해야 하는 관심 지점이 관심 영역에 포함되지 않은 경우(예: 관심 지점이 단일 건물 등)도 본 개시의 범위에서 배제되지 않음을 유의해야 한다. 예를 들어, 관심 지점이 관심 영역에 포함되어 있는지 여부를 결정하는 동작이, 관심 영역의 식별 동작(S420) 이전에 수행될 수 있다. 구체적으로, 관심 지점이 관심 영역에 포함되어 있지 않다는 결정에 따라 그 관심 지점에 도달하는 경로를 결정하는 일련의 동작들이 수행될 수 있고, 관심 지점이 관심 영역에 포함된다는 결정에 따라 도 4에 도시된 일련의 후속 동작들이 수행될 수도 있다. 다만, 관심 지점이 관심 영역에 포함되어 있지 않은 경우에는, 관심 지점에 도달하기 위한 후보 경유 지점이 관심 지점의 근처에 분포되어 있을 가능성이 높으므로, 후보 경유 지점의 결정에 따라 경로가 변경될 가능성이 낮을 수 있다.
이동 수단 정보에 기초하여, 관심 영역의 경유 지점이 결정될 수 있다(S430). 구체적으로, 이동 수단 정보와 후보 경유 지점 사이의 매칭 관계가 고려됨으로써, 관심 영역과 관계된 후보 경유 지점 중에서 어느 하나가 경유 지점으로서 결정될 수 있다. 예를 들어, 차량 또는 전동기에 매칭되는 경유 지점으로서, 주차 지점 또는 일반 출입 지점이 결정될 수 있다. 다른 예를 들어, 도보에 매칭되는 경유 지점으로서, 도보 출입 지점 또는 일반 출입 지점이 결정될 수 있다. 또 다른 예를 들어, 자전거에 매칭되는 경유 지점으로서, 자전거 거치 지점 또는 일반 출입 지점이 결정될 수 있다. 다만, 전술한 예시와 달리, 얼마든지 다른 조합으로서 이동 수단 정보와 후보 경유 지점이 매칭될 수 있고, 이동 수단 정보의 속성과 후보 경유 지점 사이의 속성의 비교를 통해 경유 지점을 결정하는 모든 동작들이 본 개시의 범위에 포함될 수 있음을 유의해야 한다. 이렇게 결정된 경유 지점은, 추천 경로 상에 위치하는 지점으로서, 배달 수행자가 관심 지점에 도달하기 위해 경유하는 지점으로 이해될 수 있다.
경유 지점의 결정 동작(S430)과 관련하여, 일 실시예에서, 후보 경유 지점 중 일부를 필터링하는 동작이 수행될 수 있다. 예를 들어, 복수의 제1 후보 경유 지점 중에서 일부를 필터링하여 하나 이상의 제2 후보 경유 지점을 결정하고, 하나 이상의 제2 후보 경유 지점 중에서 어느 하나가 경유 지점으로서 결정될 수 있다. 이 동작과 관계된 구체적인 동작들은 추후 도 5 내지 도 7을 참조하여 설명한다.
경유 지점의 결정 동작(S430)과 관련하여, 다른 일 실시예에서, 컴퓨팅 리소스의 절약을 위해, 관심 영역 내의 관심 지점의 위치를 추상화하는 동작이 수행될 수 있다. 예를 들어, 관심 영역을 복수의 셀(cell)로서 분할하고, 그 복수의 셀 중 관심 지점이 위치하는 대상 셀을 결정하고, 대상 셀의 위치를 관심 지점의 위치로서 고려하여 경유 지점이 결정될 수 있다. 이 동작과 관계된 구체적인 동작들은 추후 도 8 내지 도 9를 참조하여 설명한다.
사용자 단말의 위치로부터 경유 지점을 경유하여 관심 지점에 도달하기 위한 추천 경로가 결정될 수 있다(S440). 구체적으로, 배달 수행자의 위치를 기점으로 하고, 관심 지점을 종점으로 하고, 경유 지점을 경유하는 추천 경로가 결정될 수 있다. 이러한 추천 경로의 결정 동작(S440)에는, 예를 들어, 네비게이션(navigation) 기술 분야 등의 공지된 다양한 기술이 참조될 수 있다.
추천 경로의 결정 동작(S440)과 관련하여, 일 실시예에서, 배달 수행자의 위치를 식별 및 트랙킹(tracking)하기 위해, 배달 수행자 단말(130)에 포함된 GPS 모듈이 수신한 정보가 이용될 수 있다.
추천 경로가 표시된 지도 이미지가 사용자 단말에 표시되도록 하는 정보가 사용자 단말에 전송될 수 있다(S450). 예를 들어, 주문 처리 장치(110)는 추천 경로가 표시된 지도 이미지를 배달 수행자 단말(130)에 전송하고, 배달 수행자 단말(130)은 이 수신된 이미지를 디스플레이에 표시할 수 있다. 다른 예를 들어, 주문 처리 장치(110)는 이미지 외의 정보를 배달 수행자 단말(130)에 전송하고, 배달 수행자 단말(130)은 이 정보를 가공하여 추천 경로가 표시된 지도 이미지를 생성하고, 이 생성된 이미지를 디스플레이에 표시할 수도 있다. 본 단계는, 배달 수행자 단말(130)을 기준으로 설명되었으나, 추천 경로가 표시된 지도 이미지가, 예를 들어, 수요자 단말(120) 또는 공급자 단말(140)에 표시되도록 하는 정보가 각각의 단말(120, 140)에 전송될 수도 있다.
지금까지 도 4를 참조하여, 추천 경로의 처리에 관한 일련의 동작들을 설명하였다. 도 4에서 설명된 추천 경로의 처리에 관한 동작들에 따르면, 배달 수행자의 이동 수단이 고려됨으로써, 그 이동 수단에 적합한 경유 지점이 결정되고, 그 결정된 경유 지점을 경유하도록 추천 경로가 결정될 수 있다. 예를 들어, 대단지 아파트 등과 같이 복수의 아파트 동이 집합된 공간에 대한 배달에 있어서, 배달 수행자가 어떠한 경유 지점을 경유하는 지는 배달의 소요 시간 또는 이동 거리 등에 밀접한 관련이 있으므로, 배달 수행자의 이동 수단에 적합한 경유 지점이 결정됨으로써, 배달 소요 시간 또는 이동 거리가 감소될 수 있다.
도 5는 도 4를 참조하여 설명된 경유 지점의 결정 동작(S430)의 세부 동작을 나타내는 순서도이다.
복수의 제1 후보 경유 지점 중에서, 이동 수단 정보에 매칭되는 복수의 제2 후보 경유 지점이 결정될 수 있다(S510). 본 동작은, 경유 지점의 결정 동작(S430)과 관련하여 설명된 매칭 관계를 이용한 필터링 동작으로 이해될 수 있다. 본 동작에 따라, 관심 영역과 관계된 복수의 제1 후보 경유 지점 중에서, 배달 수행자의 이동 수단 정보에 매칭되는 복수의 제2 후보 경유 지점, 즉, 배달 수행자의 이동 수단이 경유하기에 적합한 지점들이 결정될 수 있다. 만약, 본 동작에 따라, 배달 수행자의 이동 수단 정보에 매칭되는 제2 후보 경유 지점이 하나로 결정되면, 그 제2 후보 경유 지점이 경유 지점으로 결정될 수도 있다.
복수의 제2 후보 경유 지점 각각과 관심 지점 사이의 거리에 기초하여, 경유 지점이 결정될 수 있다(S520). 본 동작은, 필터링 이후의 제2 후보 경유 지점 중에서 어느 하나를 경유 지점으로 결정하는 동작으로 이해될 수 있다.
구체적으로, 주문 처리 장치(110)는 지도 정보를 이용하여, 복수의 제2 후보 경유 지점 각각과 관심 지점 사이의 거리를 산출할 수 있다. 여기서, 지도 정보란, 지도에 관한 정보로서, 주문 처리 장치(110)는, 예를 들어, 위성 사진 또는 공공 데이터베이스 등을 참조하여 지도 정보를 생성할 수 있다. 또한 여기서, 거리는 지도 상의 복수의 제2 후보 경유 지점 각각을 나타내는 복수의 다각형 각각과 관심 지점을 나타내는 다각형 사이의 중심 거리, 최소 직선 거리 또는 도로 이동 거리 등에 기초하여 산출될 수 있다. 즉, 공통된 산출 방식에 의해 거리를 산출하는 방식이라면, 어떠한 방식으로도 복수의 제2 후보 경유 지점 각각과 관심 지점 사이의 거리가 산출될 수 있다.
또한, 주문 처리 장치(110)는 산출된 거리에 기초하여, 복수의 제2 후보 경유 지점 중에서 어느 하나를 경유 지점으로 결정할 수 있다.
거리 기반의 경유 지점의 결정 동작(S520)과 관련하여, 일 실시예에서, 산출된 거리가 최소인 제2 후보 경유 지점을 경유 지점으로 결정할 수 있다. 추천 경로 상의 경유 지점을 통과한 이후에는 배달 수행자가 도보로 이동할 가능성이 높으므로, 산출된 거리가 최소인 제2 후보 경유 지점을 경유 지점으로 결정함으로써, 배달 수행자가 도보로 이동하는 거리를 최소화할 수 있다.
거리 기반의 경유 지점의 결정 동작(S520)과 관련하여, 다른 일 실시예에서, 산출된 거리와 복수의 제2 후보 경유 지점 각각과 배달 수행자 단말(130)의 위치 사이의 거리의 합이 최소인 제2 후보 경유 지점을 경유 지점으로 결정할 수도 있다. 본 실시예에 따르면, 전체 경로의 이동 거리의 합이 최소인 제2 후보 경유 지점을 경유 지점으로 결정할 수 있다.
거리 기반의 경유 지점의 결정 동작(S520)과 관련하여, 또 다른 일 실시예에서, 산출된 거리와 그 거리에 대응되는 도로의 속성(예: 평지, 오르막길, 내리막길 등)을 종합적으로 고려하여, 복수의 제2 후보 경유 지점 중 어느 하나를 경유 지점으로 결정할 수도 있다. 주문 처리 장치(110)는 지도 정보를 참조함으로써, 도로의 속성을 획득할 수 있다. 또한, 주문 처리 장치(110)는 거리와 도로의 속성 각각을 단일 수치로서 스코어링(scoring)하고, 산출된 스코어를 합산하여 하나의 지표로서 경유 지점의 결정 동작(S520)에 활용할 수 있다. 본 실시예에 따르면, 추천 경로 상의 경유 지점을 통과한 이후에, 배달 수행자가 쉽게 배달할 수 있는 도로가 경유 지점의 결정을 통해 선택될 수 있다. 예를 들어, 무게가 무거운 상품 등의 배달에 있어서, 배달 수행자의 편의가 증가될 수 있다.
전술한 예시들 외에도, 다양한 방식에 따라 복수의 제2 후보 경유 지점 중에서 어느 하나를 경유 지점으로 결정할 수 있고, 예시되지 않은 방식이지만 그 방식이 거리 기반의 결정 방식이라면 어떠한 방식이라도 본 개시의 범위에 포함될 수 있다.
도 6 및 도 7 각각은 도 4 및 도 5를 참조하여 설명된 추천 경로를 도시한다. 구체적으로, 도 6은 배달 수행자의 이동 수단이 도보인 경우에, 배달 수행자 단말(130)의 위치(610)로부터 관심 지점(620)에 도달하는 추천 경로를 도시한다. 도 7은 배달 수행자의 이동 수단이 차량인 경우에, 배달 수행자 단말(130)의 위치(710)로부터 관심 지점(720)에 도달하는 추천 경로를 도시한다.
도 6을 참조하면, 배달 수행자는 추천 경로 상의 제1 경로(641)를 따라 도보로 이동할 수 있다. 제1 경로(641)는 배달 수행자 단말(130)의 위치(610)를 기점으로 하고 경유 지점(630)을 종점으로 하는 경로일 수 있다. 이 경유 지점(630)은, 배달 수행자의 이동 수단, 즉, 도보에 적합한 경유 지점으로서, 예를 들어, 도보 출입 지점 또는 일반 출입 지점일 수 있다. 또한, 배달 수행자는 추천 경로 상의 제2 경로(642)를 따라 아파트 단지 내에 마련된 도로를 통해 도보로 이동할 수 있다. 제2 경로(642)는 경유 지점(630)을 기점으로 하고 관심 지점(620)을 종점으로 하는 경로일 수 있다.
도 7을 참조하면, 배달 수행자는 추천 경로 상의 제1 경로(741)를 따라 차량으로 이동할 수 있다. 제1 경로(741)는 배달 수행자 단말(130)의 위치(710)를 기점으로 하고 경유 지점(730)을 종점으로 하는 경로일 수 있다. 이 경유 지점(630)은, 배달 수행자의 이동 수단, 즉, 차량에 적합한 경유 지점으로서, 예를 들어, 주차 지점 또는 일반 출입 지점일 수 있다. 또한, 배달 수행자는 추천 경로 상의 제2 경로(742)를 따라 아파트 단지 내에 마련된 도로를 통해 도보로 이동할 수 있다. 제2 경로(742)는 경유 지점(730)을 기점으로 하고 관심 지점(720)을 종점으로 하는 경로일 수 있다.
도 6 및 도 7을 참조하면, 동일한 위치(610, 710)에서 출발하여 동일한 위치(620, 720)에 도착하는 경로라도, 배달 수행자의 이동 수단에 따라 경유 지점이 달라질 수 있고, 이 경유 지점에 따라 추천 경로가 달라질 수 있다. 이 경유 지점은 배달 수행자의 이동 수단에 적합하게 결정되었기 때문에, 이 경유 지점을 경유하는 추천 경로의 추천에 따라 배달 수행자의 편의가 증가될 수 있다.
도 8은 도 4를 참조하여 설명된 경유 지점의 결정 동작(S430)의 다른 세부 동작을 나타내는 순서도이다.
관심 영역이 복수의 셀로 구획될 수 있다(S810). 셀이란, 지도 상에 관심 영역을 구성하는 일 영역일 수 있다. 이 셀은, 관심 영역이 광범위하여 내부에 수많은 관심 지점을 포함하는 경우에 발생될 수 있는 관심 지점과 후보 경유 지점 사이의 거리 산출에 따른 컴퓨팅 리소스를 절약하기 위해, 관심 영역 내부에 위치한 관심 지점을 추상화하는 영역으로 이해될 수 있다.
셀과 관련하여, 일 실시예에서, 복수의 셀 각각의 넓이는 동일할 수 있다. 예를 들어, 지도 상의 관심 지점에 대응되는 다각형보다 넓은 하나의 넓이로서 셀의 넓이가 정의되어 관심 지점이 추상화될 수 있다.
셀과 관련하여, 다른 일 실시예에서, 복수의 셀 각각의 넓이는 N개(N은, 2 이상의 자연수)의 서로 다른 넓이 중 하나일 수도 있다. 예를 들어, 3개의 서로 다른 넓이를 가진 복수의 셀로써 관심 지점이 추상화될 수 있다. 경우에 따라서, N개의 넓이 중 어느 하나는 지도 상의 관심 지점에 대응되는 다각형의 넓이와 동일할 수 있다.
전술한 예시들 외에도 관심 영역을 구성하는 셀의 넓이는 얼마든지 다르게 구현할 수 있으며, 관심 영역이 광범위하여 내부에 수많은 관심 지점을 포함하는 경우에 발생될 수 있는 관심 지점과 후보 경유 지점 사이의 거리 산출에 따른 컴퓨팅 리소스를 절약할 수 있는 방식이라면, 어떠한 방식이라도 본 개시의 범위에 포함될 수 있다.
셀의 구획 동작(S810)과 관련하여, 일 실시예에서, 관심 영역을 복수의 셀로 구획하는 동작은, 추천 경로에 관한 주문 처리 방법의 수행 이전에 독립적으로 수행될 수 있다. 예를 들어, 이 동작은 특정한 주기(예: 1년 주기 등)에 따라 주기적으로 수행되거나 특정한 이벤트(예: 주문의 누적 횟수가 10,000건 등)에 따라 비주기적으로 수행될 수 있다. 플랫폼의 운영 주체는 경유 지점의 결정 동작(S430)에 있어서, 이 동작의 수행 시점을 자유롭게 변경하여 구현할 수 있다.
셀의 구획 동작(S810)과 관련하여, 다른 일 실시예에서, 주문의 누적에 따라 획득된 복수의 관심 지점의 분포에 기초하여, 복수의 셀 각각의 넓이가 업데이트될 수도 있다. 예를 들어, 수요자들의 플랫폼의 이용에 따라 누적된 총 분포가 고려되거나 특정한 기간(예: 2022년 등)의 분포가 고려됨으로써, 관심 지점으로 지정된 횟수가 많을수록(즉, 셀 내의 관심 지점을 배달 장소로 하는 주문 횟수가 많을수록) 해당 셀의 넓이가 감소되고, 관심 지점으로 지정된 횟수가 적을수록(즉, 셀 내의 관심 지점을 배달 장소로 하는 주문 횟수가 적을수록) 해당 셀의 넓이가 증가될 수 있다. 즉, 관심 지점으로 지정된 횟수가 많을수록 해당 셀의 넓이를 감소시킴으로써 관심 지점과 후보 경유 지점 사이의 거리 산출 정확도를 높일 수 있고, 관심 지점으로 지정된 횟수가 적을수록 해당 셀의 넓이를 증가시킴으로써 관심 지점과 후보 경유 지점 사이의 거리 산출에 따른 컴퓨팅 리소스를 절약시킬 수 있다. 다른 예를 들어, 분포가 고려됨으로써, 관심 지점으로 지정된 횟수가 상한 임계치 이상이면 해당 셀의 넓이가 감소되고, 관심 지점으로 지정된 횟수가 하한 임계치 이하이면 해당 셀의 넓이가 증가될 수도 있다. 여기서, 상한 임계치 및 하한 임계치는, 플랫폼의 운영 주체가 거리 산출의 정확도와 컴퓨팅 리소스 절약을 도모할 수 있는 범위에서 적절히 설정할 수 있다. 전술한 예시들에 따른 셀의 넓이의 변화는 관심 영역의 넓이가 변화되지 않는 범위에서, 관심 영역을 구성하는 셀 사이의 넓이 조정을 통해 구현될 수 있다.
복수의 셀 중에서, 관심 지점에 대응되는 대상 셀이 식별될 수 있다(S820). 구체적으로, 주문 처리 장치(110)는 지도 정보를 참조하여, 관심 지점에 대응되는 대상 셀을 식별할 수 있다.
복수의 제1 후보 경유 지점 중에서, 이동 수단 정보에 매칭되는 복수의 제2 후보 경유 지점이 결정될 수 있다(S830). 본 동작에 관한 설명은, 도 5의 필터링 동작(S510)에 관한 설명을 참조할 수 있다.
복수의 제2 후보 경유 지점 각각과 대상 셀 사이의 거리에 기초하여, 경유 지점이 결정될 수 있다(S840). 전술한 바와 같이, 대상 셀은 관심 지점에 대응되는 것으로서, 관심 영역이 광범위한 경우 컴퓨팅 리소스를 절약하기 위해 관심 지점을 추상화한 것으로 이해할 수 있다. 따라서, 본 동작에 관한 설명은, 거리 산출의 대상이 관심 지점에서 대상 셀로 변경된 것을 제외하고 도 5의 거리 기반의 경유 지점의 결정 동작(S520)과 동일하므로, 그 동작에 관한 설명을 참조할 수 있다.
도 9는 도 8을 참조하여 설명된 복수의 셀을 도시한다. 도 9를 참조하면, 관심 영역(900) 내부에는 서로 다른 넓이를 가진 복수의 셀(911, 912, 913)이 포함될 수 있다. 복수의 셀(911, 912, 913) 각각은 하나 이상의 관심 지점을 포함할 수 있다. 즉, 관심 지점을 추상화하여 셀(911, 912, 913)로써 후보 경유 지점(921, 922, 923)과의 거리를 산출함으로써, 거리 산출에 따른 컴퓨팅 리소스가 절약될 수 있다. 복수의 셀(911, 912, 913) 각각의 넓이는 그 셀 내의 관심 지점의 지정 횟수와 관계될 수 있다. 예를 들어, 넓이가 넓을수록 과거 기간(예: 특정 기간 또는 총 기간)에 해당 셀에 관심 지점의 지정 횟수가 적은 것으로 이해될 수 있다.
도 10은 본 개시의 다른 일 실시예에 따른 주문 처리 방법을 나타내는 순서도이다. 도 10에 도시된 방법은, 지도 정보의 처리에 관한 동작으로 이해될 수 있다. 이하, 도 10에 도시된 동작을 구체적으로 설명한다.
관심 지점, 관심 영역, 경유 지점 및 추천 경로 중 적어도 하나를 변경하기 위한 지도 정보가 업데이트될 수 있다(S1010). 예를 들어, 이 동작은 특정한 주기(예: 1년 주기 등)에 따라 주기적으로 수행되거나 특정한 이벤트(예: 주문의 누적 횟수가 10,000건 등)에 따라 비주기적으로 수행될 수 있다. 지도 정보의 업데이트를 위해, 주문 처리 장치(110)는, 예를 들어, 위성 사진, 플랫폼에 접수된 사용자의 리포팅(reporting) 또는 공공 데이터베이스 등을 참조하여 지도 정보를 업데이트할 수 있다.
도 11은 도 10을 참조하여 설명된 지도 정보의 업데이트 동작(S1010)의 세부 동작을 나타내는 순서도이다.
추천 경로에 대응되는 실제 이동 경로가 획득될 수 있다(S1110). 일 실시예에서, 실제 이동 경로를 획득하기 위해, 배달 수행자 단말(130)에 포함된 GPS 모듈이 수신한 정보가 이용될 수 있다.
실제 이동 경로에 대응되는 제1 이동 거리 또는 제1 소요 시간과 추천 경로에 대응되는 제2 이동 거리 또는 제2 소요 시간의 차이가 기준치 이상이면, 실제 이동 경로가 반영되도록 지도 정보가 업데이트될 수 있다(S1120). 즉, 배달 수행자에게 추천된 추천 경로와 실제 이동 경로 사이의 이동 거리의 차이 또는 소요 시간의 차이가 발생하는 경우, 지도 정보의 변화(예: 신규 도로 개통, 공사 중, 도로 폐쇄, 출입 지점의 폐쇄 등)로 인식함으로써, 지도 정보를 업데이트할 수 있다. 여기서, 기준치는 플랫폼의 운영 주체가 지도 정보의 업데이트 정확도를 높일 수 있는 범위에서 적절히 설정할 수 있다. 일 실시예에서, 이동 거리의 차이 또는 소요 시간의 차이가 기준치 이상 발생한 누적 횟수에 기초하여, 지도 정보가 업데이트될 수도 있다.
지도 정보의 업데이트 동작(S1120)과 관련하여, 일 실시예에서, 제1 이동 거리 또는 제1 소요 시간이 제2 이동 거리 또는 제2 소요 시간보다 기준치 이상 짧더라도, 실제 이동 경로에 포함된 실제 경유 지점이 예외 처리 지점이면, 실제 이동 경로가 지도 정보의 업데이트에 예외 처리될 수 있다. 여기서, 실제 경유 지점은, 관심 영역의 일 지점으로서, 추천 경로 상의 경유 지점을 경유하지 않고 배달 수행자가 실제로 경유한 지점을 의미할 수 있다. 또한 여기서, 예외 처리 지점은, 관심 영역에 대응하여 미리 결정된 지점이되, 관심 영역에 대한 경유가 허용되지 않는 지점일 수 있다. 일 실시예에서, 예외 처리 지점은, 사용자의 이동 수단 정보에 기초하여 결정되는 지점일 수 있다. 예를 들어, 관심 영역으로의 출입이 불가능한 지점(예: 담장 등)을 배달 수행자가 실제 경유 지점으로 경유한 경우, 이 실제 경유 지점을 경유한 실제 이동 경로가 지도 정보의 업데이트에 고려되지 않을 수 있다. 다른 예를 들어, 차량 또는 전동기로의 출입이 불가능한 지점(예: 도보 출입 지점, 자전거 거치 지점 등)을 배달 수행자가 실제 경유 지점으로 경유한 경우, 이 실제 경유 지점을 경유한 실제 이동 경로가 지도 정보의 업데이트에 고려되지 않을 수 있다. 또 다른 예를 들어, 도보로의 출입이 불가능한 지점(예: 주차 지점 등)을 배달 수행자가 실제 경유 지점으로 경유한 경우, 이 실제 경유 지점을 경유한 실제 이동 경로가 지도 정보의 업데이트 고려되지 않을 수 있다. 즉, 이러한 실제 이동 경로를, 배달 수행자의 이동 수단 선택의 오류에 기인한 것으로 판단하거나 배달 수행자의 예외 행동으로 판단함으로써, 이 실제 이동 경로를 지도 정보의 업데이트에서 배제할 수 있다. 이에 따라, 오류 정보를 지도 정보의 업데이트에서 예외 처리함으로써, 지도 정보를 보다 정확하게 업데이트할 수 있다.
지도 정보의 업데이트 동작(S1120)과 관련하여, 다른 일 실시예에서, 제1 이동 거리 또는 제1 소요 시간이 제2 이동 거리 또는 제2 소요 시간보다 기준치 이상 길더라도, 배달 수행자와 구별되는 다른 배달 수행자의 실제 이동 경로에 추천 경로 상의 경유 지점이 포함되면, 배달 수행자의 실제 이동 경로가 지도 정보의 업데이트에 예외 처리될 수 있다. 즉, 배달 수행자가 추천 경로 이외의 다른 실제 이동 경로로 배달을 수행하더라도, 다른 배달 수행자의 실제 이동 경로를 고려하여, 배달 수행자의 실제 이동 경로를 배달 수행자의 예외 행동으로 판단함으로써, 이 실제 이동 경로를 지도 정보의 업데이트에서 배제할 수 있다. 이에 따라, 오류 정보를 지도 정보의 업데이트에서 예외 처리함으로써, 지도 정보를 보다 정확하게 업데이트할 수 있다.
도 10에 도시된 방법에 따르면, 지도 정보를 업데이트함으로써, 배달 수행자에게 보다 최적의 경로를 추천할 수 있다. 특히, 도 11에 도시된 방법에 따르면, 플랫폼의 이용 주체들이 플랫폼의 이용에 따라 발생시킨 정보에 기초하여 지도 정보를 정확하게 업데이트할 수 있다.
도 12는 본 개시의 또 다른 일 실시예에 따른 주문 처리 방법을 나타내는 순서도이다. 도 12에 도시된 방법은, 배달 수행자가 추천 경로를 이탈했을 때의 대체 경로의 처리에 관한 동작으로 이해될 수 있다. 이하, 도 12에 도시된 동작을 구체적으로 설명한다. 도 12에 도시된 각 단계들에서의 사용자는 주문에 대응되는 상품을 배달하는 주체, 즉, 배달 수행자로 이해될 수 있다.
사용자 단말의 위치가 추천 경로를 벗어나면, 관심 영역의 대체 지점을 경유하여 관심 지점에 도달하기 위한 대체 경로가 결정될 수 있다(S1210). 여기서, 대체 지점은, 경유 지점에 대체되는 지점으로서, 관심 영역의 일 지점으로 이해될 수 있다. 또한 여기서, 대체 경로는 추천 경로에 대체되는 경로로서, 추천 경로를 이탈한 경우, 그 이탈 시점에 배달 수행자의 위치에서 관심 지점에 도달하기 위한 최적의 경로로 이해될 수 있다. 구체적으로, 추천 경로와 기준 거리만큼 벗어난 경우, 대체 지점을 경유하여 관심 지점에 도달하기 위한 대체 경로가 결정될 수 있다. 플랫폼 운영 주체는, 대체 경로의 결정 동작(S1210)이 과도하게 반복되지 않도록 기준 거리를 적절히 설정할 수 있다.
추천 경로의 이탈을 판정하는 동작과 관련하여, 일 실시예에서, 배달 수행자 단말(130)에 포함된 GPS 모듈이 수신한 정보가 이용될 수 있다.
본 동작은, 추천 경로의 이탈을 판정하는 동작 및 그 판정에 따른 대체 경로의 결정 시점을 제외하고는, 추천 경로의 처리에 관한 동작과 유사하게 이해될 수 있다. 따라서, 본 개시의 추천 경로의 처리에 관한 모든 기술적 사상이 본 동작에 적용될 수 있다.
도 12에 도시된 방법에 따르면, 배달 수행자가 추천 경로를 이탈한 경우라도, 그 추천 경로를 이탈한 시점에 최적의 경로가 될 수 있는 대체 경로가 추천될 수 있다.
도 13은 본 개시의 또 다른 일 실시예에 따른 주문 처리 방법을 나타내는 순서도이다. 도 13에 도시된 방법은, 추천 경로에 대응되는 소요 시간의 처리에 관한 동작으로 이해될 수 있다. 이하, 도 13에 도시된 동작을 구체적으로 설명한다. 도 13에 도시된 각 단계들에서의 사용자는 주문에 대응되는 상품을 배달하는 주체, 즉, 배달 수행자로 이해될 수 있다.
추천 경로에 대응되는 소요 시간이 산출될 수 있다(S1310). 소요 시간은 배달 수행자의 이동 수단 정보에 기초하여 결정되는 시간으로서, 배달 수행자의 위치에서 배달 장소에 도착할 때까지 소요되는 시간으로 이해될 수 있다. 일 실시예에서, 배달 수행자의 이동 수단의 평균 속력과 추천 경로의 이동 거리에 기초하여 소요 시간이 산출될 수 있다. 여기서, 평균 속력은 통상의 알려진 이동 수단의 평균 속력이 활용되거나 배달 수행자들의 플랫폼 이용에 따라 획득된 평균 속력이 활용될 수 있다.
소요 시간이 사용자 단말에 전송될 수 있다(S1320). 예를 들어, 주문 처리 장치(110)는 소요 시간을 배달 수행자 단말(130)에 전송하고, 배달 수행자 단말(130)은 이 수신된 소요 시간을 디스플레이에 표시할 수 있다. 본 단계는, 배달 수행자 단말(130)을 기준으로 설명되었으나, 소요 시간이, 예를 들어, 수요자 단말(120) 또는 공급자 단말(140)에 전송될 수도 있다.
도 13에 도시된 방법에 따르면, 사용자가 잔여 배달 소요 시간을 확인할 수 있게 됨으로써, 사용자의 편의가 증가될 수 있다.
본 개시의 기술적 사상에 따른 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 본 개시의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
본 개시에 따른 순서도에서, 방법 또는 알고리즘의 각 단계들은 순차적인 순서로 설명되었지만, 각 단계들은 순차적으로 수행되는 것 외에, 임의로 조합될 수 있는 순서에 따라 수행될 수도 있다. 본 개시의 순서도 또는 흐름도에 관한 설명은, 방법 또는 알고리즘에 변화 또는 수정을 가하는 것을 제외하지 않으며, 임의의 단계가 필수적이거나 바람직하다는 것을 의미하지 않는다. 일 실시예에서, 적어도 일부의 단계가 병렬적, 반복적 또는 휴리스틱하게 수행될 수 있다. 다른 일 실시예에서, 적어도 일부의 단계가 생략되거나, 다른 단계가 추가될 수 있다.
본 개시에 따른 다양한 실시예들은 기기(Machine)가 읽을 수 있는 저장매체(Machine-Readable Storage Medium)에 소프트웨어로 구현될 수 있다. 소프트웨어는 본 개시에 기재된 다양한 실시예들을 구현하기 위한 소프트웨어일 수 있다. 소프트웨어는 본 개시가 속하는 기술분야의 프로그래머들에 의해 본 개시에 기재된 다양한 실시예들로부터 추론될 수 있다. 예를 들어 소프트웨어는 기기가 읽을 수 있는 명령(예를 들어, 인스트럭션, 코드 또는 코드 세그먼트)을 포함하는 프로그램일 수 있다. 기기는 저장 매체로부터 호출된 명령에 따라 동작이 가능한 장치로서, 예를 들어 컴퓨터일 수 있다. 일 실시예에서, 기기는 본 개시에 기재된 다양한 실시예들에 따른 컴퓨팅 장치일 수 있다. 일 실시예에서, 기기의 프로세서는 호출된 명령을 실행하여, 기기의 구성요소들이 이 명령에 대응하는 기능을 수행하게 할 수 있다. 저장 매체는 기기에 의해 읽혀질 수 있는, 데이터가 저장되는 모든 종류의 기록 매체(Recording Medium)를 의미할 수 있다. 저장 매체는, 예를 들어 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장장치 등을 포함할 수 있다. 일 실시예에서, 저장매체는 네트워크로 연결된 컴퓨터 시스템 등에 분산된 형태로서 구현될 수 있다. 이때, 소프트웨어는 컴퓨터 시스템 등에 분산되어 저장되고, 실행될 수 있다. 다른 일 실시예에서, 저장 매체는 비일시적(non-transitory) 저장매체일 수 있다. 비일시적 저장매체는, 데이터가 반영구적 또는 임시적으로 저장되는 것과 무관하게 실재하는 매체(Tangible Medium)를 의미하며, 일시적(transitory)으로 전파되는 신호(Signal)를 포함하지 않는다.
이상 다양한 실시예들에 의해 본 개시에 따른 기술적 사상이 설명되었지만, 본 개시에 따른 기술적 사상은 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 이해할 수 있는 범위에서 이루어질 수 있는 다양한 치환, 변형 및 변경을 포함한다. 또한, 그러한 치환, 변형 및 변경은 첨부된 청구범위 내에 포함될 수 있는 것으로 이해되어야 한다.
Claims (20)
- 전자 장치에 의해 수행되는 주문 처리 방법에 있어서,주문에 대응되는 상품을 배달하는 사용자의 이동 수단 정보 및 상기 주문에 대응되고 상기 상품의 픽업 또는 배달과 관련된 관심 지점을 획득하는 단계;상기 관심 지점이 포함된 관심 영역을 식별하는 단계 - 상기 관심 영역은, 공통의 속성을 갖는 복수의 관심 지점의 집합체임 -;상기 이동 수단 정보에 기초하여, 상기 관심 영역 내에서 경유 지점을 결정하는 단계; 및상기 사용자의 사용자 단말의 위치로부터 상기 경유 지점을 경유하여 상기 관심 지점에 도달하기 위한 추천 경로를 결정하는 단계를 포함하는, 방법.
- 제1항에 있어서,상기 관심 지점, 상기 관심 영역, 상기 경유 지점 및 상기 추천 경로 중 적어도 하나를 변경하기 위한 지도 정보를 업데이트하는 단계를 더 포함하는, 방법.
- 제2항에 있어서,상기 지도 정보를 업데이트하는 단계는,상기 사용자 단말로부터, 상기 추천 경로에 대응되는 실제 이동 경로를 획득하는 단계; 및상기 실제 이동 경로에 대응되는 제1 이동 거리와 상기 추천 경로에 대응되는 제2 이동 거리의 차이가 기준치 이상이면, 상기 실제 이동 경로가 반영되도록 상기 지도 정보를 업데이트하는 단계를 포함하는, 방법.
- 제3항에 있어서,상기 제1 이동 거리와 상기 제2 이동 거리의 차이가 기준치 이상이면, 상기 지도 정보를 업데이트하는 단계는,상기 제1 이동 거리가 상기 제2 이동 거리보다 상기 기준치 이상 짧더라도, 상기 실제 이동 경로에 포함된 실제 경유 지점이 예외 처리 지점이면, 상기 실제 이동 경로를 상기 지도 정보의 업데이트에 예외 처리하는 단계를 포함하되,상기 실제 경유 지점은, 상기 관심 영역의 일 지점이고,상기 예외 처리 지점은, 상기 관심 영역에 대응하여 미리 결정된 지점이되, 상기 관심 영역에 대한 경유가 허용되지 않는 지점인, 방법.
- 제4항에 있어서,상기 예외 처리 지점은, 상기 사용자의 상기 이동 수단 정보에 기초하여 결정되는 지점인, 방법.
- 제3항에 있어서,상기 제1 이동 거리와 상기 제2 이동 거리의 차이가 기준치 이상이면, 상기 지도 정보를 업데이트하는 단계는,상기 제1 이동 거리가 상기 제2 이동 거리보다 상기 기준치 이상 길더라도, 상기 사용자와 구별되는 다른 사용자의 실제 이동 경로에 상기 경유 지점이 포함되면, 상기 사용자의 실제 이동 경로를 상기 지도 정보의 업데이트에 예외 처리하는 단계를 포함하는, 방법.
- 제1항에 있어서,상기 관심 영역은 복수의 제1 후보 경유 지점을 포함하고,상기 경유 지점을 결정하는 단계는,상기 복수의 제1 후보 경유 지점 중에서, 상기 이동 수단 정보에 매칭되는 복수의 제2 후보 경유 지점을 결정하는 단계; 및상기 복수의 제2 후보 경유 지점 중에서, 상기 복수의 제2 후보 경유 지점 각각과 상기 관심 지점 사이의 거리에 기초하여, 상기 경유 지점을 결정하는 단계를 포함하는, 방법.
- 제7항에 있어서,상기 복수의 제1 후보 경유 지점은,상기 관심 영역에 대응되는 지점으로서, 주차 지점, 도보 출입 지점, 자전거 거치 지점 및 일반 출입 지점 중 적어도 일부를 포함하는, 방법.
- 제7항에 있어서,상기 경유 지점을 결정하는 단계는,상기 관심 영역을 복수의 셀(cell)로 구획하는 단계; 및상기 복수의 셀 중에서, 상기 관심 지점에 대응되는 대상 셀을 식별하는 단계를 더 포함하되,상기 경유 지점을 결정하는 단계는,상기 복수의 제2 후보 경유 지점 각각과 상기 대상 셀 사이의 거리에 기초하여, 상기 경유 지점을 결정하는 단계를 포함하는, 방법.
- 제9항에 있어서,상기 복수의 셀 각각의 넓이는,N개(N은, 2 이상의 자연수)의 서로 다른 넓이 중 하나인, 방법.
- 제9항에 있어서,상기 복수의 셀로 구획하는 단계는,주문의 누적에 따라 획득된 복수의 관심 지점의 분포에 기초하여, 상기 복수의 셀 각각의 넓이를 업데이트하는 단계를 포함하는, 방법.
- 제7항에 있어서,상기 거리에 기초하여, 상기 경유 지점을 결정하는 단계는,상기 복수의 제2 후보 경유 지점 중에서, 상기 복수의 제2 후보 경유 지점 각각과 상기 관심 지점 사이의 거리가 최소인 지점을 상기 경유 지점으로 결정하는 단계를 포함하는, 방법.
- 제7항에 있어서,상기 거리에 기초하여, 상기 경유 지점을 결정하는 단계는,상기 복수의 제2 후보 경유 지점 중에서, 상기 복수의 제2 후보 경유 지점 각각과 상기 관심 지점 사이의 거리 및 상기 복수의 제2 후보 경유 지점 각각과 상기 사용자 단말의 위치 사이의 거리의 합이 최소인 지점을 상기 경유 지점으로 결정하는 단계를 포함하는, 방법.
- 제1항에 있어서,상기 사용자 단말의 위치가 상기 추천 경로를 벗어나면, 상기 관심 영역의 대체 지점을 경유하여 상기 관심 지점에 도달하기 위한 대체 경로를 결정하는 단계를 더 포함하는, 방법.
- 제1항에 있어서,상기 추천 경로에 대응되는 소요 시간을 산출하는 단계; 및상기 소요 시간을 상기 사용자 단말에 전송하는 단계를 더 포함하되,상기 소요 시간은, 상기 이동 수단 정보에 기초하여 결정되는, 방법.
- 제1항에 있어서,상기 추천 경로가 표시된 지도 이미지가 상기 사용자 단말에 표시되도록 하는 정보를 상기 사용자 단말에 전송하는 단계를 더 포함하는, 방법.
- 프로세서;네트워크 인터페이스;메모리; 및상기 메모리에 로드(load)되고, 상기 프로세서에 의해 실행되는 컴퓨터 프로그램을 포함하되,상기 컴퓨터 프로그램은,주문에 대응되는 상품을 배달하는 사용자의 이동 수단 정보 및 상기 주문에 대응되고 상기 상품의 픽업 또는 배달과 관련된 관심 지점을 획득하는 인스트럭션(instruction);상기 관심 지점이 포함된 관심 영역을 식별하는 인스트럭션 - 상기 관심 영역은, 공통의 속성을 갖는 복수의 관심 지점의 집합체임 -;상기 이동 수단 정보에 기초하여, 상기 관심 영역 내에서 경유 지점을 결정하는 인스트럭션; 및상기 사용자의 사용자 단말의 위치로부터 상기 경유 지점을 경유하여 상기 관심 지점에 도달하기 위한 추천 경로를 결정하는 인스트럭션을 포함하는, 전자 장치.
- 제17항에 있어서,상기 컴퓨터 프로그램은,상기 관심 지점, 상기 관심 영역, 상기 경유 지점 및 상기 추천 경로 중 적어도 하나를 변경하기 위한 지도 정보를 업데이트하는 인스트럭션을 더 포함하는, 전자 장치.
- 제17항에 있어서,상기 컴퓨터 프로그램은,상기 사용자 단말의 위치가 상기 추천 경로를 벗어나면, 상기 관심 영역의 대체 지점을 경유하여 상기 관심 지점에 도달하기 위한 대체 경로를 결정하는 인스트럭션을 더 포함하는, 전자 장치.
- 제17항에 있어서,상기 컴퓨터 프로그램은,상기 추천 경로가 표시된 지도 이미지가 상기 사용자 단말에 표시되도록 하는 정보를 상기 사용자 단말에 전송하는 인스트럭션을 더 포함하는, 전자 장치.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR10-2022-0127010 | 2022-10-05 | ||
| KR1020220127010A KR102675300B1 (ko) | 2022-10-05 | 2022-10-05 | 주문을 처리하는 방법 및 그 장치 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2024075879A1 true WO2024075879A1 (ko) | 2024-04-11 |
Family
ID=90608233
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/KR2022/015236 Ceased WO2024075879A1 (ko) | 2022-10-05 | 2022-10-11 | 주문을 처리하는 방법 및 그 장치 |
Country Status (3)
| Country | Link |
|---|---|
| KR (2) | KR102675300B1 (ko) |
| TW (2) | TWI912167B (ko) |
| WO (1) | WO2024075879A1 (ko) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR102837731B1 (ko) * | 2024-08-09 | 2025-07-23 | 쿠팡 주식회사 | 상품 주문을 관리하는 전자 장치, 방법 및 기록 매체 |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2010113146A (ja) * | 2008-11-06 | 2010-05-20 | Miyagi Seikatsu Kyodo Kumiai | 配達用地図作成装置、配達用地図作成方法、及び配達用地図作成プログラム |
| KR20200008915A (ko) * | 2018-07-17 | 2020-01-29 | 주식회사 비즈모델라인 | 무선단말을 이용한 이륜이동수단을 위한 오프로드 경로 등록 방법 |
| JP2021157652A (ja) * | 2020-03-27 | 2021-10-07 | パナソニックIpマネジメント株式会社 | 配送支援サーバおよび配送支援方法 |
| KR20220028514A (ko) * | 2020-08-28 | 2022-03-08 | 한국외국어대학교 연구산학협력단 | 배송지 간 접근성 및 다중 모드 사용을 고려한 계층적 경로 추천 방법 및 시스템 |
| KR102426384B1 (ko) * | 2021-07-30 | 2022-07-29 | 쿠팡 주식회사 | 배송 정보를 제공하는 전자 장치 및 그 방법 |
| JP2022121839A (ja) * | 2021-02-09 | 2022-08-22 | 株式会社オプティマインド | 経路案内プログラム及び経路案内装置 |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR101271541B1 (ko) * | 2011-10-24 | 2013-06-05 | 엘지전자 주식회사 | 이동 단말기 및 그의 길 찾기 방법 |
| TWI620143B (zh) * | 2016-04-18 | 2018-04-01 | 神達電腦股份有限公司 | 即時物流訂單處理系統 |
| KR102029557B1 (ko) * | 2017-12-27 | 2019-10-07 | 중앙대학교 산학협력단 | 개인 맞춤형 교통 경로 제공 방법 및 장치 |
| CN109002902B (zh) * | 2018-06-11 | 2021-11-12 | 华东理工大学 | 分区域多阶段生鲜农产品动态车辆路径优化方法 |
| KR102235068B1 (ko) * | 2019-04-01 | 2021-04-02 | 네이버 주식회사 | 경유지를 포함하는 추천 경로를 결정하는 방법 |
-
2022
- 2022-10-05 KR KR1020220127010A patent/KR102675300B1/ko active Active
- 2022-10-11 WO PCT/KR2022/015236 patent/WO2024075879A1/ko not_active Ceased
-
2023
- 2023-08-24 TW TW114110076A patent/TWI912167B/zh active
- 2023-08-24 TW TW112131798A patent/TWI877739B/zh active
-
2024
- 2024-06-10 KR KR1020240074770A patent/KR20240087630A/ko active Pending
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2010113146A (ja) * | 2008-11-06 | 2010-05-20 | Miyagi Seikatsu Kyodo Kumiai | 配達用地図作成装置、配達用地図作成方法、及び配達用地図作成プログラム |
| KR20200008915A (ko) * | 2018-07-17 | 2020-01-29 | 주식회사 비즈모델라인 | 무선단말을 이용한 이륜이동수단을 위한 오프로드 경로 등록 방법 |
| JP2021157652A (ja) * | 2020-03-27 | 2021-10-07 | パナソニックIpマネジメント株式会社 | 配送支援サーバおよび配送支援方法 |
| KR20220028514A (ko) * | 2020-08-28 | 2022-03-08 | 한국외국어대학교 연구산학협력단 | 배송지 간 접근성 및 다중 모드 사용을 고려한 계층적 경로 추천 방법 및 시스템 |
| JP2022121839A (ja) * | 2021-02-09 | 2022-08-22 | 株式会社オプティマインド | 経路案内プログラム及び経路案内装置 |
| KR102426384B1 (ko) * | 2021-07-30 | 2022-07-29 | 쿠팡 주식회사 | 배송 정보를 제공하는 전자 장치 및 그 방법 |
Also Published As
| Publication number | Publication date |
|---|---|
| KR20240087630A (ko) | 2024-06-19 |
| KR102675300B1 (ko) | 2024-06-17 |
| TW202526742A (zh) | 2025-07-01 |
| TWI877739B (zh) | 2025-03-21 |
| KR20240047685A (ko) | 2024-04-12 |
| TWI912167B (zh) | 2026-01-11 |
| TW202422462A (zh) | 2024-06-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2019132410A1 (en) | Electronic device and control method thereof | |
| WO2022145564A1 (ko) | 딥러닝 모델 서빙 최적화를 위한 모델 자동 경량화 방법 및 장치, 이를 이용한 클라우드 추론 서비스 제공 방법 | |
| WO2025154980A1 (ko) | Ai 기반의 건설 현장 감리 서비스 제공 방법, 장치 및 프로그램 | |
| KR102721652B1 (ko) | 예약 호출 기반 대도시권 수요응답형 대중 교통 노선 실시간 생성 시스템 및 그 방법 | |
| CN116307637A (zh) | 煤矿瓦斯巡检任务的生成分发方法和装置 | |
| WO2019235653A1 (ko) | 근거리 무선 통신을 기반으로 근처 지인을 파악하기 위한 방법과 시스템 및 비-일시적인 컴퓨터 판독 가능한 기록 매체 | |
| JP5955580B2 (ja) | 経路案内方法、経路案内装置、及びコンピュータプログラム | |
| JP6267276B2 (ja) | 経路案内方法、経路案内装置、及びコンピュータプログラム | |
| WO2024150869A1 (ko) | 물품의 출고를 관리하는 방법 및 그 장치 | |
| KR20240087630A (ko) | 주문을 처리하는 방법 및 그 장치 | |
| WO2023033250A1 (ko) | 블록체인 기반의 운송 이력 매칭을 이용한 운송 중개 플랫폼 시스템, 운송 중개 방법 및 이를 위한 컴퓨터 프로그램 | |
| WO2018199445A1 (ko) | 전파 맵 생성 장치 및 방법 | |
| WO2018012653A1 (ko) | 무선랜 핑거프린트에 대한 가맹점 라벨링 방법, 가맹점 라벨링 장치 및 가맹점 라벨링 시스템 | |
| WO2024154854A1 (ko) | 사용자의 정보를 관리하는 방법 및 그 장치 | |
| CN115884369A (zh) | 机器人楼层定位方法及装置 | |
| US11864079B2 (en) | System for communicating information relating to long period ground motion, server for communicating information relating to long period ground motion, mobile terminal, and method for communicating information relating to long period ground motion | |
| WO2014030842A1 (ko) | 정보 제공 시스템 및 방법, 이를 위한 장치 및 단말기 | |
| WO2025116130A1 (ko) | 사용자 위치를 보정하는 방법, 장치 및 기록 매체 | |
| US20250111393A1 (en) | Return area prediction device | |
| WO2024195930A1 (ko) | 배송 수행률을 관리하는 방법 및 그 장치 | |
| JP2000205868A (ja) | 走行履歴記憶装置 | |
| WO2026023763A1 (ko) | 이동 경로를 기반으로 주문을 배차하는 방법 및 그 시스템 | |
| KR102704973B1 (ko) | 안전관리 통합 서비스 제공 방법 및 시스템 | |
| WO2023106612A1 (ko) | 로봇을 제어하는 방법 및 시스템 | |
| KR102589833B1 (ko) | 가상 정류장 기반의 수요응답형 모빌리티 서비스 제공방법, 장치 및 컴퓨터 프로그램 |
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: 22961524 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 22961524 Country of ref document: EP Kind code of ref document: A1 |