Delivery order management method and system

WO2026192155A1PCT designated stage Publication Date: 2026-09-17COUPANG CORP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
PCT/KR2025/021089
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2025-03-13
Filing Date
2025-12-09
Publication Date
2026-09-17

Smart Images

  • Figure KR2025021089_17092026_PF_FP_ABST
    Figure KR2025021089_17092026_PF_FP_ABST
Patent Text Reader

Abstract

The present disclosure relates to a delivery order management method and system. The delivery order management method comprises the steps of: identifying a plurality of delivery orders; identifying a plurality of delivery persons; on the basis of information on the plurality of delivery orders and information on the plurality of delivery persons, generating a plurality of first assignment plans for assigning the plurality of delivery orders to the plurality of delivery persons; on the basis of the number of bundle orders included in each of the plurality of first assignment plans, selecting first assignment plans satisfying a predetermined condition among the plurality of first assignment plans, thereby generating a plurality of second assignment plans; calculating a distance gain according to each of the plurality of second assignment plans; and selecting a final assignment plan on the basis of the calculated distance gains.
Need to check novelty before this filing date? Find Prior Art

Description

Methods and systems for managing delivery orders

[0001] The present disclosure relates to a method and system for managing delivery orders.

[0002] With the advancement of e-commerce, applications provided on various online platforms are being widely used. Users can install applications on personal devices such as smartphones or tablets and easily perform various activities, including shopping, ordering food, and watching videos. These applications offer diverse features to maximize user convenience, and each service provider can offer a unique user experience through their own applications.

[0003] In particular, through delivery applications, customers can request delivery orders for specific items, such as food, and delivery personnel (or delivery partners) can pick them up from the point of sale and deliver them to a location designated by the customer. Amidst fierce competition among various delivery service platforms, the ability to provide high-quality delivery services can be a critical factor in determining the success or failure of a platform, especially in sectors where rapid delivery is essential, such as prepared food or ingredients.

[0004] However, since the resources required to perform deliveries, particularly the number of delivery personnel, are limited, it is necessary to efficiently allocate received delivery orders to delivery personnel in order to provide rapid delivery services.

[0005] The present disclosure provides a method and system for managing delivery orders to solve the above-mentioned problems.

[0006] The present disclosure may be implemented in various ways, including a computer-readable non-transient recording medium that records instructions for execution in a method, device (system), and / or computer.

[0007] A method for managing delivery orders according to some embodiments of the present disclosure for solving technical problems may be performed by at least one processor. The method for managing delivery orders includes the steps of: identifying a plurality of delivery orders; identifying a plurality of delivery personnel who are in a state to process at least one of the plurality of delivery orders; generating a plurality of first allocation plans for allocating a plurality of delivery orders to a plurality of delivery personnel based on information about the plurality of delivery orders and information about the plurality of delivery personnel; generating a plurality of second allocation plans by selecting a first allocation plan that satisfies a predetermined condition among the plurality of first allocation plans based on the number of bundle orders included in each of the plurality of first allocation plans; calculating a distance gain according to each of the plurality of second allocation plans; and selecting a final allocation plan based on the calculated distance gain, wherein each of the plurality of first allocation plans may include at least one bundle order in which two or more delivery orders are combined.

[0008] According to some embodiments of the present disclosure, the step of generating a plurality of second allocation plans may include: calculating the number of bundle orders included in each of a plurality of first allocation plans; identifying, among the plurality of first allocation plans, the first allocation plan having the largest number of calculated bundle orders as the maximum bundle plan; and selecting a first allocation plan that satisfies a predetermined condition based on the number of bundle orders included in the identified maximum bundle plan to generate a plurality of second allocation plans.

[0009] According to some embodiments of the present disclosure, a predetermined condition may be satisfied by a first allocation plan having a number of bundle orders greater than or equal to a predetermined ratio of the number of bundle orders included in the maximum bundle plan.

[0010] According to some embodiments of the present disclosure, the step of calculating a distance gain according to each of a plurality of second allocation plans may include the step of calculating a distance gain for each bundle order included in the plurality of second allocation plans and the step of calculating an average value of the distance gains for each bundle order for each of the plurality of second allocation plans.

[0011] According to some embodiments of the present disclosure, the step of selecting a final allocation plan may include determining, among a plurality of second allocation plans, the second allocation plan having the lowest calculated average value as the final allocation plan.

[0012] According to some embodiments of the present disclosure, a bundle order is associated with a plurality of pickup locations and a plurality of delivery locations corresponding to the plurality of pickup locations, and the step of calculating a distance gain for each bundle order may include: a step of calculating a first distance when a product is received by visiting a plurality of pickup locations sequentially, and then a delivery is completed by visiting a plurality of delivery locations sequentially; a step of calculating a second distance by summing the distances of delivery from each of the plurality of pickup locations to each of the delivery locations corresponding to the plurality of pickup locations; and a step of calculating a value obtained by dividing the first distance by the second distance as the distance gain of the bundle order.

[0013] According to some embodiments of the present disclosure, a bundle order is associated with a first pickup location, a second pickup location, a first delivery location corresponding to the first pickup location, and a second delivery location corresponding to the second pickup location, and the step of calculating a distance gain for each bundle order may include the step of calculating a first distance by the sum of the distance from the first pickup location to the second pickup location, the distance from the second pickup location to the second delivery location, and the distance from the second delivery location to the first delivery location; the step of calculating a second distance by the sum of the distance from the first pickup location to the first delivery location and the distance from the second pickup location to the second delivery location; and the step of calculating a value obtained by dividing the first distance by the second distance as the distance gain of the bundle order.

[0014] According to some embodiments of the present disclosure, the step of generating a plurality of first assignment plans may include: generating a plurality of delivery order combinations by combining identified plurality of delivery orders; assigning a candidate delivery person to each of the plurality of delivery order combinations; splitting a bundle order to which no candidate delivery person is assigned into a single delivery order; assigning a candidate delivery person to the split delivery order; and finally assigning one of the candidate delivery persons to each of the plurality of delivery order combinations.

[0015] According to some embodiments of the present disclosure, the step of generating a plurality of first allocation plans may further include, after the step of generating a plurality of delivery order combinations, the step of selecting a predetermined number of delivery order combinations based on the number of bundle orders included in the plurality of delivery order combinations.

[0016] According to some embodiments of the present disclosure, a method for managing delivery orders may further include the step of transmitting delivery orders to each of a plurality of delivery personnel's user terminals according to a selected final allocation plan.

[0017] According to some embodiments of the present disclosure, a method for managing delivery orders may further include receiving whether an assigned delivery order is accepted from each of a plurality of delivery personnel's user terminals, and utilizing the unaccepted delivery order to generate a subsequent assignment plan.

[0018] According to some embodiments of the present disclosure, the step of identifying a plurality of delivery orders may include receiving delivery orders from each of a plurality of customer user terminals located within a certain distance from a specific location.

[0019] According to some embodiments of the present disclosure, information for a plurality of delivery orders may include at least one of a pickup location of a delivery order, a delivery location of a delivery order, an estimated preparation time of a delivery order, a request time of a delivery order, a time when a delivery order is created, an estimated delivery distance of a delivery order, or a product type of a delivery order.

[0020] According to some embodiments of the present disclosure, information regarding a plurality of delivery personnel may include at least one of the delivery personnel's current location, the delivery personnel's evaluation score, the delivery personnel's order acceptance and rejection history, the delivery personnel's estimated arrival time, the delivery personnel's speed of movement, or the delivery personnel's possible distance of movement.

[0021] According to some embodiments of the present disclosure, a computer-readable, non-transient recording medium may be provided that records instructions for executing a method for managing delivery orders on a computer.

[0022] An information processing system according to some embodiments of the present disclosure comprises a memory and at least one processor connected to the memory and configured to execute at least one computer-readable program included in the memory, wherein the at least one program includes instructions for identifying a plurality of delivery orders, identifying a plurality of delivery personnel who are in a state to process at least one of the plurality of delivery orders, generating a plurality of first allocation plans for allocating a plurality of delivery orders to a plurality of delivery personnel based on information about the plurality of delivery orders and information about the plurality of delivery personnel, generating a plurality of second allocation plans by selecting a first allocation plan that satisfies a predetermined condition among the plurality of first allocation plans based on the number of bundle orders included in each of the plurality of first allocation plans, calculating a distance gain according to each of the plurality of second allocation plans, and selecting a final allocation plan based on the calculated distance gain, wherein each of the plurality of first allocation plans may include at least one bundle order in which two or more delivery orders are combined.

[0023] According to various embodiments of the present disclosure, delivery efficiency can be improved, such as by reducing the number of delivery personnel required to process delivery orders and reducing logistics costs.

[0024] According to various embodiments of the present disclosure, delivery orders are efficiently allocated, so delivery times are reduced and user satisfaction with the delivery service can be improved.

[0025] The effects of the present disclosure are not limited to those mentioned above, and other unmentioned effects will be clearly understood by a person skilled in the art to which the present disclosure pertains (referred to as "person skilled in the art") from the description in the claims.

[0026] Embodiments of the present disclosure will be described with reference to the accompanying drawings described below, wherein similar reference numerals indicate similar elements, but are not limited thereto.

[0027] Figure 1 is a diagram illustrating an example of using an application installed on a user terminal.

[0028] FIG. 2 is a schematic diagram showing a configuration in which an information processing system is connected to communicate with a plurality of user terminals to provide a delivery service according to one embodiment of the present disclosure.

[0029] FIG. 3 is a block diagram showing the internal configuration of a user terminal and an information processing system according to one embodiment of the present disclosure.

[0030] FIG. 4 is a drawing illustrating an example of a method for managing delivery orders according to one embodiment of the present disclosure.

[0031] FIG. 5 is a diagram illustrating an example of a method for generating an allocation plan according to one embodiment of the present disclosure.

[0032] FIG. 6 is a diagram illustrating an example of a method for generating a first allocation plan according to one embodiment of the present disclosure.

[0033] FIGS. 7 to 9 are drawings for explaining the process of generating a first allocation plan according to some embodiments of the present disclosure.

[0034] FIG. 10 is a drawing illustrating an example of a method for generating a second allocation plan according to one embodiment of the present disclosure.

[0035] FIG. 11 is a drawing illustrating an example of a method for selecting a final allocation plan according to one embodiment of the present disclosure.

[0036] FIG. 12 is a drawing illustrating an example of a method for calculating distance gain according to one embodiment of the present disclosure.

[0037] FIG. 13 is a drawing for explaining the process of calculating distance gain according to one embodiment of the present disclosure.

[0038] Hereinafter, specific details for implementing the present disclosure will be described in detail with reference to the attached drawings. However, in the following description, specific descriptions regarding well-known functions or configurations will be omitted if there is a risk that the gist of the present disclosure may be unnecessarily obscured.

[0039] In the attached drawings, identical or corresponding components are assigned the same reference numerals. Additionally, in the description of the following embodiments, the description of identical or corresponding components may be omitted. However, even if a description of a component is omitted, it is not intended that such component is not included in any embodiment.

[0040] The advantages and features of the disclosed embodiments and the methods for achieving them will become clear by referring to the embodiments described below in conjunction with the accompanying drawings. However, the present disclosure is not limited to the embodiments disclosed below but may be implemented in various different forms, and the embodiments provided are merely to make the present disclosure complete and to fully inform those skilled in the art of the scope of the invention.

[0041] The terms used in this specification will be briefly explained, and the disclosed embodiments will be described in detail. The terms used in this specification have been selected to be as generally used as possible, taking into account their functions in this disclosure; however, these terms may vary depending on the intent of those skilled in the art, case law, the emergence of new technologies, etc. Additionally, in specific cases, terms may be arbitrarily selected by the applicant, and in such cases, their meanings will be described in detail in the relevant description of the invention. Therefore, the terms used in this disclosure should be defined not merely by their names, but based on their meanings and the content throughout this disclosure.

[0042] In this specification, singular expressions include plural expressions unless the context clearly specifies them as singular. Additionally, plural expressions include singular expressions unless the context clearly specifies them as plural. Throughout the specification, when a part is described as including a certain component, this means that, unless specifically stated otherwise, it does not exclude other components but may include additional components.

[0043] In this specification, terms such as "transmission," "communication," "transmission," "reception," and other similar terms regarding signals or information include not only the direct transmission of signals or information from one component to another but also transmission through other components.

[0044] In this specification, the statement that two or more data or information are “related” or “associated” means that if one data (or information) is obtained, at least a portion of another data (or information) can be obtained based thereon.

[0045] As used herein, the expression “based on” is used to describe one or more factors affecting an act or action of a decision or judgment described in the phrase or sentence containing such expression, and this expression does not exclude additional factors affecting an act or action of a decision or judgment.

[0046] Additionally, the terms 'module' or 'part' as used in the specification refer to software or hardware components, and the 'module' or 'part' performs certain roles. However, the meaning of 'module' or 'part' is not limited to software or hardware. The 'module' or 'part' may be configured to reside in an addressable storage medium or configured to run on one or more processors. Thus, as an example, the 'module' or 'part' may include components such as software components, object-oriented software components, class components, and task components, and at least one of processes, functions, attributes, procedures, subroutines, segments of program code, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays, or variables. The components and the functions provided within the 'module' or 'part' may be combined into a smaller number of components and 'modules' or 'parts', or further separated into additional components and 'modules' or 'parts'.

[0047] According to one embodiment of the present disclosure, a ‘module’ or ‘part’ may be implemented as a processor and memory. The term ‘processor’ should be broadly interpreted to include a general-purpose processor, a central processing unit (CPU), a microprocessor, a digital signal processor (DSP), a controller, a microcontroller, a state machine, etc. In some environments, the term ‘processor’ may refer to an application-specific integrated circuit (ASIC), a programmable logic device (PLD), a field programmable gate array (FPGA), etc. The term ‘processor’ may also refer to a combination of processing devices, such as, for example, a combination of a DSP and a microprocessor, a combination of multiple microprocessors, a combination of one or more microprocessors combined with a DSP core, or any other combination of such configurations. Additionally, the term ‘memory’ should be broadly interpreted to include any electronic component capable of storing electronic information. 'Memory' may refer to various types of processor-readable media, such as Random Access Memory (RAM), Read-Only Memory (ROM), Non-Volatile Random Access Memory (NVRAM), Programmable Read-Only Memory (PROM), Erasable-Programmable Read-Only Memory (EPROM), Electrically Erasable PROM (EEPROM), Flash Memory, Magnetic or Optical Data Storage Devices, Registers, etc. If a processor can read information from memory and / or write information to memory, the memory is said to be in an electronic communication state with the processor. Memory integrated into a processor is in an electronic communication state with the processor.

[0048] In the present disclosure, the 'system' may include at least one of a server device and a cloud device, but is not limited thereto. For example, the system may be composed of one or more server devices. As another example, the system may be composed of one or more cloud devices. As yet another example, the system may be configured and operated with both a server device and a cloud device.

[0049] In the present disclosure, 'display' may refer to any display device associated with a computing device, for example, any display device capable of displaying any information / data controlled by or provided by the computing device.

[0050] In the present disclosure, 'each of a plurality of A' or 'each of a plurality of A' may refer to each of all components included in a plurality of A, or each of some components included in a plurality of A.

[0051] In the present disclosure, 'user' may refer to a user utilizing the application or a user account of the application. Here, a user account may represent an account created and utilized by the user within the application or data associated therewith.

[0052] In the present disclosure, "customer" may refer to a user or user account requesting a delivery order for specific goods (e.g., food) using an application. The customer uses a delivery service through an application installed on their user terminal (e.g., customer terminal), specifies the goods requiring delivery and the delivery address, and requests the provision of the said service.

[0053] In the present disclosure, "delivery person" may refer to a user or user account that performs delivery tasks in response to a request for a delivery order. The delivery person may receive a delivery request through an application installed on their user terminal (e.g., delivery person terminal), and accordingly, perform the role of receiving specific goods from a place of sale and delivering them to a location designated by the customer. The application installed on the delivery person's user terminal is a delivery person-specific application and may differ from, but is not limited to, the application installed on the customer's user terminal.

[0054] In the present disclosure, a "bundle order" may refer to an order in which two or more delivery orders are combined. That is, a "bundle order" may be an order that includes a complex delivery operation in which goods must be received at two or more pickup locations and delivered to two or more delivery locations. A "bundle order" may be configured so that multiple delivery orders are combined and bundled into an efficient route to perform delivery.

[0055] In the present disclosure, "assignment plan" may refer to a plan for combining delivery orders to create a bundle order for identified or collected delivery orders and assigning it to a delivery person. The "assignment plan" aims to combine delivery orders as efficiently as possible to create a bundle order and may include single orders as necessary.

[0056] Various embodiments of the present disclosure will be described in detail below with reference to the accompanying drawings. The size or location of display screens, images, buttons, etc., as illustrated and described in the drawings are exemplary and are not limited thereto. For example, some buttons may be added or omitted, or configured with sizes and locations different from those illustrated. Furthermore, the flowcharts and descriptions illustrated in the drawings are merely examples and may be implemented differently in some embodiments. For example, one or more steps may be omitted, the order of each step may be changed, one or more steps may be performed in overlap, or one or more steps may be performed repeatedly.

[0057] Figure 1 is a diagram illustrating an example of using an application installed on a user terminal.

[0058] Referring to FIG. 1, a user (100) can use a delivery service through an application installed on a user terminal (110). In some embodiments, the user (100) may be a customer who creates a delivery order or a delivery worker who performs a delivery task according to a delivery order. FIG. 1 illustrates an example in which an application for creating a delivery order is provided through the screen (120) of the user terminal (110), that is, an example of an application used by a customer, but the present disclosure is not limited thereto. For example, a delivery worker who performs a delivery task may be provided with an application for being assigned a delivery task through the screen (120) of their user terminal (110). At this time, the application used by the customer to create a delivery order and the application used by the delivery worker to be assigned a delivery task may be different, but are not limited thereto.

[0059] If the user (100) is a customer, the customer may create a delivery order for a specific item (e.g., food) using a user terminal (110) owned by the customer. The customer may create a delivery order for a specific item using an application installed on the user terminal (110). The customer's user terminal (110) may create a delivery order and transmit it to a server device (e.g., the information processing system (230) of FIG. 2) that manages delivery orders. In the present disclosure, a "delivery order" may be a request to have a specific item delivered to a location designated by the customer. A delivery order may include information about the specific item to be delivered, information about a place of sale (e.g., a restaurant) selling the specific item (e.g., the location of the place of sale), information about a desired delivery location designated by the customer, and other information necessary for performing the delivery of the specific item. By creating a delivery order, the customer may refer to a user who requests the delivery of a specific item and receives the specific item at a desired location.

[0060] If the user (100) is a delivery person, the delivery person may be assigned a delivery task for a specific item through a user terminal (110) owned by the delivery person. A server device managing delivery orders may manage delivery orders by assigning the identified delivery order to an appropriate delivery person. The delivery person may perform the assigned delivery task. Specifically, the delivery person may visit the origin of the delivery task (e.g., a place of sale) to receive the delivery item and deliver the delivery item to the destination of the delivery task (e.g., a desired delivery location designated by the customer). If the delivery task assigned to the delivery person is a bundle order, the delivery person may sequentially visit multiple origins to receive all delivery items and sequentially visit multiple destinations to deliver the delivery items. However, the delivery method for a bundle order is not limited to this.

[0061] According to various embodiments of the present disclosure, a method and system for managing delivery orders may be provided. Through this, a server device for managing delivery orders may generate a plurality of allocation plans by combining a plurality of delivery orders to include at least one bundle order, and may select a final allocation plan based on the number of bundle orders included in each of the plurality of allocation plans or a distance gain according to each of the plurality of allocation plans. Through such a configuration, delivery efficiency may be improved, such as by reducing the number of delivery personnel required to process delivery orders and reducing logistics costs. In addition, since delivery orders are efficiently allocated, delivery times may be shortened, thereby improving user satisfaction with the delivery service.

[0062] FIG. 2 is a schematic diagram showing a configuration in which an information processing system is connected to communicate with a plurality of user terminals to provide a delivery service according to one embodiment of the present disclosure.

[0063] The information processing system (230) may include system(s) capable of providing delivery services. In one embodiment, the information processing system (230) may include one or more server devices and / or databases capable of storing, providing, and executing computer-executable programs (e.g., downloadable applications) and data related to providing delivery services, or one or more distributed computing devices and / or distributed databases based on cloud computing services. For example, the information processing system (230) may include separate systems (e.g., servers) for providing delivery services.

[0064] Delivery services, etc. provided by the information processing system (230) may be provided to the user through applications, etc. installed on each of the plurality of user terminals (210_1, 210_2, 210_3). In some embodiments, the plurality of user terminals (210_1, 210_2, 210_3) may be user terminals owned by a customer or user terminals owned by a delivery person.

[0065] Multiple user terminals (210_1, 210_2, 210_3) can communicate with an information processing system (230) through a network (220). The network (220) can be configured to enable communication between the multiple user terminals (210_1, 210_2, 210_3) and the information processing system (230). Depending on the installation environment, the network (220) may be configured as a wired network such as Ethernet, Power Line Communication, telephone line communication devices and RS-serial communication, a mobile communication network, a Wireless LAN (WLAN), Wi-Fi, Bluetooth and ZigBee, or a combination thereof. The communication method is not limited and may include not only communication methods utilizing communication networks that the network (220) may include (e.g., mobile communication networks, wired internet, wireless internet, broadcasting networks, satellite networks, etc.), but also short-range wireless communication between user terminals (210_1, 210_2, 210_3). For example, the information processing system (230) may receive a delivery order from a user terminal owned by a customer and determine a delivery person to process the received delivery order. The information processing system (230) may transmit the delivery order to a user terminal owned by the determined delivery person. The delivery person may perform a delivery operation for the received delivery order.

[0066] In FIG. 2, a mobile phone terminal (210_1), a tablet terminal (210_2), and a PC terminal (210_3) are illustrated as examples of user terminals, but are not limited thereto, and the user terminals (210_1, 210_2, 210_3) may be any computing device capable of wired and / or wireless communication and capable of installing and running applications, etc. For example, user terminals may include smartphones, mobile phones, navigation systems, computers, laptops, digital broadcasting terminals, PDAs (Personal Digital Assistants), PMPs (Portable Multimedia Players), tablet PCs, game consoles, wearable devices, IoT (Internet of Things) devices, VR (Virtual Reality) devices, AR (Augmented Reality) devices, etc. Additionally, FIG. 2 illustrates three user terminals (210_1, 210_2, 210_3) communicating with an information processing system (230) through a network (220), but is not limited thereto, and may be configured so that a different number of user terminals communicate with an information processing system (230) through a network (220).

[0067] In one embodiment, each of the user terminals (210_1, 210_2, 210_3) can receive information or data from another user terminal or transmit it to another user terminal through the network (220).

[0068] In FIG. 2, the information processing system (230) is shown as an independent device separated from the user terminals (210_1, 210_2, 210_3), but is not limited thereto, and the information processing system (230) may be implemented in an integrated manner with the user terminals (210_1, 210_2, 210_3).

[0069] FIG. 3 is a block diagram showing the internal configuration of a user terminal and an information processing system according to one embodiment of the present disclosure.

[0070] The user terminal (210) may refer to any computing device capable of running applications, web browsers, etc., and capable of wired / wireless communication, and may include, for example, the mobile phone terminal (210_1), tablet terminal (210_2), PC terminal (210_3) of FIG. 2. As illustrated, the user terminal (210) may include memory (312), a processor (314), a communication module (316), and an input / output interface (318). Similarly, the information processing system (230) may include memory (332), a processor (334), a communication module (336), and an input / output interface (338). As illustrated in FIG. 3, the user terminal (210) and the information processing system (230) may be configured to communicate information and / or data through a network (220) using their respective communication modules (316, 336). Additionally, the input / output device (320) may be configured to input information and / or data to the user terminal (210) or output information and / or data generated from the user terminal (210) through the input / output interface (318).

[0071] The memory (312, 332) may include any non-transient computer-readable recording medium. According to one embodiment, the memory (312, 332) may include a permanent mass storage device such as ROM (read-only memory), a disk drive, a solid-state drive (SSD), or flash memory. As another example, a permanent mass storage device such as ROM, an SSD, flash memory, or a disk drive may be included in the user terminal (210) or information processing system (230) as a separate permanent storage device distinct from the memory. Additionally, an operating system and at least one program code may be stored in the memory (312, 332).

[0072] These software components may be loaded from a computer-readable recording medium separate from memory (312, 332). This separate computer-readable recording medium may include a recording medium that can be directly connected to the user terminal (210) and the information processing system (230), for example, a computer-readable recording medium such as a floppy drive, disk, tape, DVD / CD-ROM drive, or memory card. As another example, the software components may be loaded into memory (312, 332) via a communication module (316, 336) rather than a computer-readable recording medium. For example, at least one program may be loaded into memory (312, 332) based on a computer program installed by files provided through a network (220) by developers or a file distribution system that distributes installation files for the application.

[0073] The processor (314, 334) may be configured to process instructions of a computer program by performing basic arithmetic, logic, and input / output operations. Instructions may be provided to the processor (314, 334) by memory (312, 332) or a communication module (316, 336). For example, the processor (314, 334) may be configured to execute instructions received according to program code stored in a recording device such as memory (312, 332).

[0074] The communication module (316, 336) may provide a configuration or function for the user terminal (210) and the information processing system (230) to communicate with each other via the network (220), and may provide a configuration or function for the user terminal (210) and / or the information processing system (230) to communicate with another user terminal or another system (e.g., a separate cloud system). For example, a request or data generated by the processor (314) of the user terminal (210) according to program code stored in a recording device such as memory (312) may be transmitted to the information processing system (230) via the network (220) under the control of the communication module (316). Conversely, a control signal or command provided under the control of the processor (334) of the information processing system (230) may be received by the user terminal (210) through the communication module (316) of the user terminal (210) via the communication module (336) and the network (220).

[0075] The input / output interface (318) may be a means for interfacing with an input / output device (320). As an example, the input device may include a device such as a camera including an audio sensor and / or an image sensor, a keyboard, a microphone, or a mouse, and the output device may include a device such as a display, a speaker, or a haptic feedback device. As another example, the input / output interface (318) may be a means for interfacing with a device in which the configuration or function for performing input and output is integrated into one, such as a touchscreen. For example, when the processor (314) of the user terminal (210) processes instructions of a computer program loaded in memory (312), a service screen configured using information and / or data provided by an information processing system (230) or another user terminal may be displayed on a display through the input / output interface (318). In FIG. 3, the input / output device (320) is depicted as not being included in the user terminal (210), but is not limited thereto and may be configured as a single device with the user terminal (210). Additionally, the input / output interface (338) of the information processing system (230) may be a means for interfacing with a device (not shown) for input or output that is connected to the information processing system (230) or that the information processing system (230) may include. In FIG. 3, the input / output interface (318, 338) is shown as an element configured separately from the processor (314, 334), but is not limited thereto, and the input / output interface (318, 338) may be configured to be included in the processor (314, 334).

[0076] The user terminal (210) and the information processing system (230) may include more components than those of FIG. 3. However, it is not necessary to clearly illustrate most of the prior art components. In one embodiment, the user terminal (210) may be implemented to include at least some of the input / output devices (320) described above. Additionally, the user terminal (210) may further include other components such as a transceiver, a GPS (Global Positioning System) module, a camera, various sensors, a database, etc. For example, if the user terminal (210) is a smartphone, it may include components that are generally included in a smartphone, and may be implemented to include various components such as an accelerometer, a gyroscope, a microphone module, a camera module, various physical buttons, buttons using a touch panel, input / output ports, and a vibrator for vibration.

[0077] While a program for an application including a delivery service is running, the processor (314) can receive text, images, video, voice and / or actions, etc. that are input or selected through an input device such as a touch screen, keyboard, audio sensor and / or image sensor, camera, microphone, etc. connected to an input / output interface (318), and can store the received text, images, video, voice and / or actions, etc. in memory (312) or provide them to an information processing system (230) through a communication module (316) and a network (220).

[0078] The processor (314) of the user terminal (210) may be configured to manage, process, and / or store information and / or data received from an input / output device (320), another user terminal, an information processing system (230), and / or a plurality of external systems. The information and / or data processed by the processor (314) may be provided to the information processing system (230) through a communication module (316) and a network (220). The processor (314) of the user terminal (210) may transmit information and / or data to the input / output device (320) through an input / output interface (318) and output it. For example, the processor (314) may display the received information and / or data on the screen of the user terminal (210).

[0079] The processor (334) of the information processing system (230) may be configured to manage, process, and / or store information and / or data received from a plurality of user terminals (210) and / or a plurality of external systems. The information and / or data processed by the processor (334) may be provided to the user terminals (210) through a communication module (336) and a network (220).

[0080] FIG. 4 is a drawing illustrating an example of a method for managing delivery orders according to one embodiment of the present disclosure.

[0081] In one embodiment, the method (400) for managing delivery orders can be performed by at least one processor (e.g., at least one processor (334) of the information processing system (230) of FIG. 3).

[0082] Referring to FIG. 4, a method (400) for managing delivery orders can be initiated by a processor identifying multiple delivery orders (S410). The processor may receive multiple delivery orders from multiple customer user terminals. Additionally or alternatively, the processor may receive multiple delivery orders from multiple store user terminals. At this time, the processor may also receive information regarding the delivery orders, such as the pickup location of the delivery order, the delivery location of the delivery order, the estimated preparation time of the delivery order, the request time of the delivery order, the time when the delivery order was created, the estimated delivery distance of the delivery order, the product type of the delivery order, etc.

[0083] In one embodiment, the processor can identify delivery orders received during a set time interval. For example, the processor can identify delivery orders received during 30 seconds, but is not limited thereto. The processor can establish an allocation plan to efficiently allocate delivery orders received during a set time interval to multiple delivery personnel. That is, the processor can establish an allocation plan by identifying delivery orders received during a set time interval in real time, periodically at predetermined intervals, or non-periodically.

[0084] In one embodiment, the processor may additionally identify delivery orders that were used in the process of establishing a prior allocation plan but were ultimately not accepted by the delivery person. According to an embodiment, the processor may be configured to prioritize the allocation of delivery orders that were not accepted in the prior allocation process during the ongoing allocation plan establishment process.

[0085] In one embodiment, a processor can receive and identify a delivery order from a customer's user terminal located within a certain distance from a specific location. For example, the processor may divide a region into units based on regional conditions, select a specific point within each zone, and then utilize this to establish an allocation plan for delivery orders generated within a certain radius from that point. Here, the location where the delivery order was generated may be the place where the customer is located at the time the delivery order is generated.

[0086] Additionally, the processor can identify multiple delivery personnel who are in a state to process at least one of the identified multiple delivery orders (S420).

[0087] In one embodiment, the processor can identify a delivery person who is capable of processing a delivery order among delivery persons located within a certain radius based on a straight-line distance from the location where the delivery order originated. Here, whether a delivery person is capable of processing a delivery order can be determined by various factors such as distance conditions, regional conditions, and delivery conditions.

[0088] In one embodiment, the processor can identify a delivery person who is capable of processing a delivery order among delivery persons located within a certain distance from the location where the delivery order originated, based on the length of a movable path on a map.

[0089] In addition, the processor can generate multiple allocation plans by matching multiple delivery orders with multiple delivery personnel (S430).

[0090] In one embodiment, the processor may generate a plurality of assignment plans, each comprising at least one bundle order in which two or more delivery orders are combined. For example, the processor may generate a plurality of assignment plans by combining two or more delivery orders based on information about a plurality of delivery orders and information about a plurality of delivery personnel, and assigning them to a delivery personnel capable of processing them. Accordingly, each of the plurality of assignment plans may include a pair of bundle orders and a corresponding delivery personnel, and a pair of single orders and a corresponding delivery personnel.

[0091] The process of generating multiple allocation plans will be described in detail later with reference to FIGS. 5 to 10.

[0092] Additionally, the processor can calculate distance gains according to multiple allocation plans (S440).

[0093] In one embodiment, the processor calculates a distance gain per bundle order included in a plurality of allocation plans and, for each of the plurality of allocation plans, calculates an average value of the distance gain per bundle order. Here, the average value of the distance gain per bundle order can be used as an indicator for selecting the final allocation plan.

[0094] In one embodiment, the processor may calculate the travel distance as a first distance when sequentially visiting multiple pickup locations included in each bundle order to receive products, and then sequentially visiting multiple delivery locations to complete deliveries. Additionally, the processor may calculate the sum of the travel distances for deliveries from each of the multiple pickup locations to the delivery location corresponding to each of the multiple pickup locations as a second distance. Furthermore, the processor may calculate the value obtained by dividing the first distance by the second distance as the distance gain of the bundle order. The process of calculating the distance gain will be described in detail later with reference to FIG. 13.

[0095] For example, in the case of a bundle order combining two delivery orders, it may be associated with a first pickup location, a second pickup location, a first delivery location corresponding to the first pickup location, and a second delivery location corresponding to the second pickup location. In this case, the processor may calculate the first distance as the sum of the distance from the first pickup location to the second pickup location, the distance from the second pickup location to the second delivery location, and the distance from the second delivery location to the first delivery location. Additionally, the processor may calculate the second distance as the sum of the distance from the first pickup location to the first delivery location and the distance from the second pickup location to the second delivery location. However, the present disclosure is not limited thereto.

[0096] Additionally, the processor can select a final allocation plan based on the calculated distance gain (S450).

[0097] In one embodiment, the processor may select the allocation plan with the lowest average value of the calculated distance gain among a plurality of allocation plans as the final allocation plan.

[0098] In one embodiment, the processor may select the allocation plan with the lowest sum of calculated distance gains among a plurality of allocation plans as the final allocation plan.

[0099] In addition, the processor can transmit delivery orders to each of the multiple delivery drivers' user terminals according to the final allocation plan (S460).

[0100] In one embodiment, the processor may transmit a single order or a bundle order to each delivery person's user terminal according to the final allocation plan. In response to receiving this, the delivery person may determine whether to accept the allocated delivery order and transmit the result to an information processing system. Unaccepted delivery orders may be used to establish a subsequent allocation plan.

[0101] The flowchart illustrated in FIG. 4 and the description above are merely examples and may be implemented differently in other embodiments. For example, the order of some steps may be changed, some steps may be omitted, some steps may be repeated, or some steps described as being performed sequentially may be performed simultaneously.

[0102] FIG. 5 is a diagram illustrating an example of a method for generating an allocation plan according to one embodiment of the present disclosure.

[0103] In one embodiment, the method (500) for generating an allocation plan may be performed by at least one processor (e.g., at least one processor (334) of the information processing system (230) of FIG. 3).

[0104] Referring to FIG. 5, a method (500) for generating an allocation plan can be initiated by a processor generating a plurality of first allocation plans (S510).

[0105] In one embodiment, the processor may generate a plurality of first assignment plans for assigning a plurality of delivery orders to a plurality of delivery personnel based on information about a plurality of delivery orders and information about a plurality of delivery personnel. Here, each of the plurality of first assignment plans may include at least one bundle order in which two or more delivery orders are combined.

[0106] Additionally, the processor can calculate the number of bundle orders included in each of the plurality of first allocation plans (S520).

[0107] In one embodiment, the processor can calculate the number of bundle orders in which two or more delivery orders are combined for each of a plurality of first allocation plans.

[0108] In one embodiment, the processor may give a higher weight to bundle orders that have a larger number of delivery orders combined, taking into account the number of delivery orders included in each bundle order. For example, the processor may give a higher weight to bundle orders that have three delivery orders combined than to bundle orders that have two delivery orders combined.

[0109] Additionally, the processor can identify the most bundled plan among a plurality of first allocation plans (S530).

[0110] In one embodiment, the processor can identify the first allocation plan with the largest number of calculated bundle orders among a plurality of first allocation plans as the most bundle plan.

[0111] In one embodiment, the processor can identify the first allocation plan with the largest number of bundle orders calculated by considering weights among a plurality of first allocation plans as the maximum bundle plan.

[0112] Additionally, the processor can generate multiple second allocation plans (S540).

[0113] In one embodiment, the processor may generate a plurality of second allocation plans by selecting a first allocation plan that satisfies a predetermined condition based on the number of bundle orders included in the identified maximum bundle plan. For example, the predetermined condition may be satisfied by a first allocation plan having a number of bundle orders equal to or greater than a predetermined ratio of the number of bundle orders included in the maximum bundle plan. As another example, the predetermined condition may be satisfied by a first allocation plan having a number of bundle orders equal to or greater than a predetermined number less than the number of bundle orders included in the maximum bundle plan. However, the predetermined condition is not limited to the examples described above.

[0114] The flowchart illustrated in FIG. 5 and the description above are merely examples and may be implemented differently in other embodiments. For example, the order of some steps may be changed, some steps may be omitted, some steps may be repeated, or some steps described as being performed sequentially may be performed simultaneously.

[0115] FIG. 6 is a diagram illustrating an example of a method for generating a first allocation plan according to one embodiment of the present disclosure.

[0116] In one embodiment, the method (600) for generating the first allocation plan may be performed by at least one processor (e.g., at least one processor (334) of the information processing system (230) of FIG. 3).

[0117] Referring to FIG. 6, a method (600) for generating a first allocation plan can be initiated by a processor generating a plurality of delivery order combinations (S610).

[0118] In one embodiment, the processor may generate multiple delivery order combinations having any combination by combining two or more delivery orders based on information regarding multiple delivery orders. Here, the information regarding multiple delivery orders may include a pickup location of a delivery order, a delivery location of a delivery order, an estimated preparation time of a delivery order, a request time of a delivery order, a time when a delivery order was created, an estimated delivery distance of a delivery order, a product type of a delivery order, etc.

[0119] For example, if there are five identified orders, from the first to the fifth order, the processor may combine the first order with the second order and combine the third order with the fourth order. Thus, a delivery order combination having a total of two bundle orders and one single order may be generated. Additionally, the processor may combine the first order with the third order and combine the second order with the fifth order. Thus, a delivery order combination having a total of two bundle orders and one single order may be generated.

[0120] In one embodiment, the processor may select a predetermined number of delivery order combinations based on the number of bundle orders included in a plurality of delivery order combinations. For example, the processor may select a predetermined number of delivery order combinations in order of the number of bundle orders included in each delivery order combination. This prevents excessive load from being placed on the information processing system managing delivery orders and optimizes the processing performance of the system. However, the present disclosure is not limited thereto, and the processor may generate only a predetermined number of delivery order combinations.

[0121] Additionally, the processor can assign candidate delivery personnel to the generated delivery order combination (S620).

[0122] In one embodiment, the processor may assign candidate delivery personnel capable of processing a single order or a bundle order included in a delivery order combination, based on information regarding a plurality of delivery personnel. Here, the information regarding the plurality of delivery personnel may include the delivery personnel's current location, the delivery personnel's evaluation score, the delivery personnel's order acceptance and rejection history, the delivery personnel's estimated arrival time, the delivery personnel's movement speed, the delivery personnel's travelable distance, etc.

[0123] Additionally, the processor can split bundle orders to which no candidate delivery person has been assigned into single delivery orders (S630). For example, if there are bundle orders to which no candidate delivery person has been assigned due to regional conditions, distance conditions, delivery conditions, etc., the processor can split the bundle orders into single delivery orders to reassign a candidate delivery person.

[0124] Additionally, the processor can assign candidate delivery personnel to divided delivery orders (S640).

[0125] In one embodiment, the processor may assign a candidate delivery person who is capable of processing a delivery order split from a bundle order into a single order, based on information about a plurality of delivery persons.

[0126] Additionally, the processor can finally assign one of the candidate delivery personnel for each combination of multiple delivery orders (S650).

[0127] In one embodiment, the processor may ultimately assign one of the candidate delivery personnel to a single order or a bundle order included in each delivery order combination. As an example, the processor may assign a delivery personnel preferentially to a single order and assign a delivery personnel later to a bundle order. Alternatively, the processor may assign a delivery personnel preferentially to a bundle order and assign a delivery personnel later to a single order. However, the present disclosure does not limit the criteria for which candidate delivery personnel is ultimately assigned, and this may be determined flexibly according to various operating conditions.

[0128] The flowchart illustrated in FIG. 6 and the description above are merely examples and may be implemented differently in other embodiments. For example, the order of some steps may be changed, some steps may be omitted, some steps may be repeated, or some steps described as being performed sequentially may be performed simultaneously.

[0129] FIGS. 7 through 9 are drawings for explaining the process of generating a first allocation plan according to some embodiments of the present disclosure. FIGS. 7 through 9 each illustrate an example of generating a first allocation plan.

[0130] For the sake of explanation, it is assumed that orders 1 through 5 (O1 to O5) have been identified, and that first to third delivery personnel (C1 to C3) capable of processing at least one of orders 1 through 5 (O1 to O5) have been identified. However, the present disclosure is not limited thereto.

[0131] First, referring to FIG. 7, a processor (e.g., at least one processor (334) of the information processing system (230) of FIG. 3) can generate a delivery order combination by combining two or more delivery orders based on information about a plurality of delivery orders.

[0132] Referring to the first example (710), the processor may combine the first order (O1) and the second order (O2) to create a first bundle order (BUNDLE1), and combine the third order (O3) and the fourth order (O4) to create a second bundle order (BUNDLE2). Additionally, the fifth order (O5) may be maintained as the first single order (SINGLE1).

[0133] And, the processor may assign candidate delivery personnel to the generated delivery order combinations. In the first example (710), the processor may assign a first delivery personnel (C1) and a second delivery personnel (C2) to a first bundle order (BUNDLE1), assign a second delivery personnel (C2) and a third delivery personnel (C3) to a second bundle order (BUNDLE2), and assign a second delivery personnel (C2) and a third delivery personnel (C3) to a first single order (SINGLE1).

[0134] And, the processor may finally assign one of the candidate delivery personnel to the combination of delivery orders. In the second example (720), the processor may finally assign a first delivery personnel (C1) to the first bundle order (BUNDLE1), finally assign a second delivery personnel (C2) to the second bundle order (BUNDLE2), and finally assign a third delivery personnel (C3) to the first single order (SINGLE1).

[0135] In this way, a first allocation plan (PLAN A) can be generated. The first allocation plan (PLAN A) may refer to a plan for allocating a first bundle order (BUNDLE1) to a first delivery person (C1), allocating a second bundle order (BUNDLE2) to a second delivery person (C2), and allocating a first single order (SINGLE1) to a third delivery person (C3).

[0136] Additionally, referring to FIG. 8, the processor can generate a delivery order combination by combining two or more delivery orders based on information regarding multiple delivery orders.

[0137] Referring to the first example (810), the processor may combine the first order (O1) and the third order (O3) to create a first bundle order (BUNDLE1), and combine the second order (O2) and the fourth order (O4) to create a second bundle order (BUNDLE2). Additionally, the fifth order (O5) may be maintained as the first single order (SINGLE1).

[0138] And, the processor may assign candidate delivery personnel to the generated delivery order combinations. In the first example (810), the processor may assign a first delivery personnel (C1) to the first bundle order (BUNDLE1) and assign a second delivery personnel (C2) and a third delivery personnel (C3) to the first single order (SINGLE1). However, due to local conditions, distance conditions, delivery conditions, etc., a delivery personnel may not be assigned to the second bundle order (BUNDLE2).

[0139] At this time, the processor can split bundle orders to which no candidate delivery person has been assigned into single delivery orders. In the second example (820), the processor can split the second bundle order (BUNDLE2) into a second_1 single order (SINGLE2_1) and a second_2 single order (SINGLE2_2).

[0140] Additionally, the processor may assign candidate delivery personnel to divided delivery orders. In the second example (820), the processor may assign a second delivery personnel (C2) to a second_1 single order (SINGLE2_1) and assign a third delivery personnel (C3) to a second_2 single order (SINGLE2_2).

[0141] And, the processor may finally assign one of the candidate delivery personnel to the combination of delivery orders. In the third example (730), the processor may finally assign a first delivery personnel (C1) to the first bundle order (BUNDLE1), finally assign a second delivery personnel (C2) to the second single order (SINGLE2_1), and finally assign a third delivery personnel (C3) to the first single order (SINGLE1). At this time, a candidate delivery personnel may not be assigned to the second single order (SINGLE2_2). Alternatively, the processor may finally assign a third delivery personnel (C3) to the second single order (SINGLE2_2). As a result, a candidate delivery personnel may not be assigned to the first single order (SINGLE1).

[0142] In this way, a first allocation plan (PLAN B) can be generated. The first allocation plan (PLAN B) may refer to a plan to allocate a first bundle order (BUNDLE1) to a first delivery person (C1), an second single order (SINGLE21) to a second delivery person (C2), and an first single order (SINGLE1) to a third delivery person (C3).

[0143] Additionally, referring to FIG. 9, the processor can generate a delivery order combination by combining two or more delivery orders based on information regarding multiple delivery orders.

[0144] Referring to the first example (910), the processor may combine the first order (O1) and the fourth order (O4) to create a first bundle order (BUNDLE1), and combine the second order (O2) and the fifth order (O5) to create a second bundle order (BUNDLE2). Additionally, the third order (O5) may be maintained as a first single order (SINGLE1).

[0145] And, the processor may assign candidate delivery personnel to the generated delivery order combinations. In the first example (910), the processor may assign a first delivery personnel (C1) and a second delivery personnel (C2) to a first bundle order (BUNDLE1), assign a second delivery personnel (C2) to a second bundle order (BUNDLE2), and assign a first delivery personnel (C1), a second delivery personnel (C2), and a third delivery personnel (C3) to a first single order (SINGLE1).

[0146] And, the processor may finally assign one of the candidate delivery personnel to the combination of delivery orders. In the second example (920), the processor may finally assign a first delivery personnel (C1) to the first bundle order (BUNDLE1), finally assign a second delivery personnel (C2) to the second bundle order (BUNDLE2), and finally assign a third delivery personnel (C3) to the first single order (SINGLE1).

[0147] In this way, a first allocation plan (PLAN C) can be generated. The first allocation plan (PLAN C) may refer to a plan for allocating a first bundle order (BUNDLE1) to a first delivery person (C1), allocating a second bundle order (BUNDLE2) to a second delivery person (C2), and allocating a first single order (SINGLE1) to a third delivery person (C3).

[0148] FIG. 10 is a drawing illustrating an example of a method for generating a second allocation plan according to one embodiment of the present disclosure.

[0149] In one embodiment, the method (1000) for generating a second allocation plan may be performed by at least one processor (e.g., at least one processor (334) of the information processing system (230) of FIG. 3).

[0150] Referring to FIG. 10, a method (1000) for generating a second allocation plan can be initiated by a processor generating a plurality of first allocation plans (S1010).

[0151] In some embodiments, the processor may generate a plurality of first allocation plans, such as the examples in FIGS. 7 through 9. Each first allocation plan may include a pair of bundle orders and delivery personnel or a pair of single orders and delivery personnel.

[0152] Additionally, the processor can calculate the number of bundle orders included in each of the plurality of first allocation plans (S1020).

[0153] In one embodiment, the processor may calculate the number of bundle orders, each comprising two or more delivery orders, for each of a plurality of first allocation plans. Referring to the examples of FIGS. 7 through 9, the number of bundle orders included in the first allocation plan of FIG. 7 may be calculated as 2, the number of bundle orders included in the first allocation plan of FIG. 8 as 1, and the number of bundle orders included in the first allocation plan of FIG. 9 as 2.

[0154] In another embodiment, the processor may give a higher weight to bundle orders that have a larger number of delivery orders combined, taking into account the number of delivery orders included in each bundle order. For example, the processor may give a higher weight to bundle orders that have three delivery orders combined than to bundle orders that have two delivery orders combined.

[0155] Additionally, the processor can identify the maximum bundle plan (S1030).

[0156] In one embodiment, the processor may identify the first allocation plan with the largest number of calculated bundle orders among a plurality of first allocation plans as the maximum bundle plan. Referring to the examples of FIGS. 7 through 9, the processor may identify the first allocation plan of FIG. 7 or the first allocation plan of FIG. 9, which has a number of calculated bundle orders of 2, as the maximum bundle plan.

[0157] In one embodiment, the processor can identify the first allocation plan with the largest number of bundle orders calculated by considering weights among a plurality of first allocation plans as the maximum bundle plan.

[0158] Additionally, the processor can determine whether each first allocation plan satisfies a predetermined condition based on the number of bundle orders included in the identified maximum bundle plan (S1040).

[0159] In one embodiment, a predetermined condition may be satisfied by a first allocation plan having a number of bundle orders greater than or equal to a predetermined ratio than the number of bundle orders included in the maximum bundle plan. Here, the predetermined ratio may be 90%, but is not limited thereto.

[0160] In another embodiment, a predetermined condition may be satisfied by a first allocation plan having a number of bundle orders greater than or equal to a predetermined number less than the number of bundle orders included in the maximum bundle plan.

[0161] If a predetermined condition is satisfied (YES), the processor may classify the corresponding first allocation plan as a second allocation plan (S1050). If the predetermined condition is not satisfied (NO), the processor may perform step S1060.

[0162] Additionally, the processor may determine whether the above process has been performed for all first allocation plans (S1060). If the processor determines that the above process has been performed for all first allocation plans (YES), it may terminate the method for generating second allocation plans (1000). If the processor determines that the above process has not been performed for all first allocation plans (NO), it may perform step S1040 for the remaining first allocation plans.

[0163] For example, when referring to the examples in FIGS. 7 to 9, if the predetermined ratio is 90%, the number of bundle orders included in the maximum bundle plan is 2, so the first allocation plan of FIG. 7 and the first allocation plan of FIG. 9, which have a number of bundle orders of 1.8 or more, can be classified as the second allocation plan.

[0164] As another example, referring to the examples in FIGS. 7 through 9, when the predetermined number is 1, the number of bundle orders included in the maximum bundle plan is 2, so the first allocation plan of FIG. 7, the first allocation plan of FIG. 8, and the first allocation plan of FIG. 9, which have a number of 1 or more bundle orders, can be classified as the second allocation plan.

[0165] The flowchart illustrated in FIG. 10 and the description above are merely examples and may be implemented differently in other embodiments. For example, the order of some steps may be changed, some steps may be omitted, some steps may be repeated, or some steps described as being performed sequentially may be performed simultaneously.

[0166] FIG. 11 is a drawing illustrating an example of a method for selecting a final allocation plan according to one embodiment of the present disclosure.

[0167] In one embodiment, the method (1100) for selecting the final allocation plan may be performed by at least one processor (e.g., at least one processor (334) of the information processing system (230) of FIG. 3).

[0168] Referring to FIG. 11, a method (1100) for selecting a final allocation plan can be initiated by the processor calculating a distance gain per bundle order (S1110).

[0169] In one embodiment, the processor calculates a first distance corresponding to the travel distance when delivering according to a bundle order, calculates a second distance corresponding to the travel distance when delivering according to an individual order, and calculates the value obtained by dividing the first distance by the second distance as the distance gain of the bundle order.

[0170] In one embodiment, the processor can calculate a distance gain according to each bundle order for each of the plurality of bundle orders included in each of the plurality of second allocation plans.

[0171] Additionally, the processor can calculate the average value of the distance gain per bundle order (S1120). Then, based on the calculated average value, the processor can determine the final allocation plan among a plurality of second allocation plans (S1130). In one embodiment, the processor can determine the second allocation plan with the lowest average value of the calculated distance gain among the plurality of second allocation plans as the final allocation plan.

[0172] The flowchart illustrated in FIG. 11 and the description above are merely examples and may be implemented differently in other embodiments. For example, the order of some steps may be changed, some steps may be omitted, some steps may be repeated, or some steps described as being performed sequentially may be performed simultaneously.

[0173] FIG. 12 is a drawing illustrating an example of a method for calculating distance gain according to one embodiment of the present disclosure.

[0174] In one embodiment, the method (1200) for calculating distance gain can be performed by at least one processor (e.g., at least one processor (334) of the information processing system (230) of FIG. 3).

[0175] Referring to FIG. 12, a method for calculating distance gain (1200) can be initiated by calculating a first distance corresponding to the travel distance when the processor delivers according to a bundle order (S1210).

[0176] In one embodiment, the processor may calculate the travel distance as the first distance when it sequentially visits a plurality of pickup locations included in each bundle order to receive the product, and then sequentially visits a plurality of delivery locations to complete the delivery.

[0177] In addition, the processor can calculate a second distance corresponding to the travel distance when delivering according to individual orders (S1220).

[0178] In one embodiment, the processor can calculate the sum of the travel distances from each of the plurality of pickup locations to the delivery location corresponding to each of the plurality of pickup locations as the second distance.

[0179] Additionally, the processor can calculate the value obtained by dividing the first distance by the second distance as the distance gain of the bundle order (S1230).

[0180] The flowchart illustrated in FIG. 12 and the description above are merely examples and may be implemented differently in other embodiments. For example, the order of some steps may be changed, some steps may be omitted, some steps may be repeated, or some steps described as being performed sequentially may be performed simultaneously.

[0181] FIG. 13 is a diagram illustrating a process for calculating distance gain according to one embodiment of the present disclosure. An exemplary process for calculating the distance gain of a bundle order combining two delivery orders is described.

[0182] Referring to FIG. 13, in the case of a bundle order combining two delivery orders, it may be associated with a first pickup location (P1), a second pickup location (P2), a first delivery location (D1) corresponding to the first pickup location (P1), and a second delivery location (D2) corresponding to the second pickup location (P2). For example, the pickup location may include a restaurant, and the delivery location may include a place designated by the customer.

[0183] First, the travel distance when visiting multiple pickup locations included in a bundle order sequentially to receive the product, and then visiting multiple delivery locations sequentially to complete the delivery, can be calculated as the first distance. Accordingly, the sum of the distance (DIS1) from the first pickup location (P1) to the second pickup location (P2), the distance (DIS2) from the second pickup location (P2) to the second delivery location (D2), and the distance (DIS3) from the second delivery location (D2) to the first delivery location (D1) can be calculated as the first distance. Meanwhile, although a delivery route from the second pickup location (P2) to the second delivery location (D2) is illustrated in FIG. 13, it is not limited thereto. A delivery route from the second pickup location (P2) to the first delivery location (D1) may also be formed, and this can be determined by various conditions.

[0184] Additionally, the sum of the travel distances from each of the multiple pickup locations to the delivery location corresponding to each of the multiple pickup locations can be calculated as the second distance. Accordingly, the sum of the distance (DIS5) from the first pickup location (P1) to the first delivery location (D1) and the distance (DIS4) from the second pickup location (P2) to the second delivery location (D2) can be calculated as the second distance.

[0185] In addition, the value obtained by dividing the first distance by the second distance can be calculated as the distance gain of the bundle order. Thus, in the example of FIG. 13, the distance gain of the bundle order can be calculated as (DIS1 + DIS2 + DIS3) / (DIS4 + DIS5).

[0186] The method described above may be provided as a computer program stored on a computer-readable recording medium for execution on a computer. The medium may continuously store a program executable by a computer, or temporarily store it for execution or download. Additionally, the medium may be various recording or storage means in the form of a single or multiple hardware components combined, and may not be limited to a medium directly connected to a computer system but may exist distributed over a network. Examples of media may include magnetic media such as hard disks, floppy disks, and magnetic tapes; optical recording media such as CD-ROMs and DVDs; magneto-optical media such as floptical disks; and media configured to store program instructions, including ROM, RAM, and flash memory. Furthermore, other examples of media may include recording or storage media managed by app stores that distribute applications or sites and servers that supply or distribute various other software.

[0187] The methods, operations, or techniques of the present disclosure may be implemented by various means. For example, these techniques may be implemented in hardware, firmware, software, or a combination thereof. Those skilled in the art will understand that the various exemplary logical blocks, modules, circuits, and algorithmic steps described in connection with the disclosure herein may be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate such interchangeability between hardware and software, various exemplary components, blocks, modules, circuits, and steps have been generally described above in terms of their functional aspects. Whether such functions are implemented in hardware or in software depends on the design requirements imposed on the specific application and the overall system. Those skilled in the art may implement the functions described in various ways for each specific application, but such implementations should not be construed as departing from the scope of the present disclosure.

[0188] In a hardware implementation, the processing units used to perform the techniques may be implemented in one or more ASICs, DSPs, digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), processors, controllers, microcontrollers, microprocessors, electronic devices, other electronic units designed to perform the functions described in this disclosure, computers, or a combination thereof.

[0189] Accordingly, the various exemplary logic blocks, modules, and circuits described in connection with the present disclosure may be implemented or performed by any combination of general-purpose processors, DSPs, ASICs, FPGAs or other programmable logic devices, discrete gate or transistor logic, discrete hardware components, or those designed to perform the functions described herein. A general-purpose processor may be a microprocessor, but alternatively, the processor may be any conventional processor, controller, microcontroller, or state machine. The processor may also be implemented as a combination of computing devices, for example, a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors coupled with a DSP core, or any other combination of configurations.

[0190] In firmware and / or software implementations, techniques may be implemented as instructions stored on a computer-readable medium such as random access memory (RAM), read-only memory (ROM), non-volatile random access memory (NVRAM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable PROM (EEPROM), flash memory, compact disc (CD), magnetic or optical data storage devices, etc. The instructions may be executable by one or more processors, and may cause the processor(s) to perform specific aspects of the functions described in this disclosure.

[0191] Where implemented in software, the techniques may be stored on a computer-readable medium as one or more instructions or code, or transmitted through a computer-readable medium. Computer-readable media include both computer storage media and communication media, including any medium that facilitates the transmission of a computer program from one place to another. Storage media may be any available medium accessible by a computer. As a non-limiting example, such computer-readable media may include RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium accessible by a computer that can be used to transfer or store desired program code in the form of instructions or data structures. Additionally, any connection is appropriately referred to as a computer-readable medium.

[0192] For example, if software is transmitted from a website, server, or other remote source using coaxial cable, fiber optic cable, twisted pair cable, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, coaxial cable, fiber optic cable, twisted pair cable, digital subscriber line, or wireless technologies such as infrared, radio, and microwave are included within the definition of a medium. As used herein, disk and disc include CD, laser disc, optical disc, DVD (digital versatile disc), floppy disk, and Blu-ray disc, wherein disks usually play data magnetically, whereas discs play data optically using a laser. The above combinations should also be included within the scope of computer-readable media.

[0193] The software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, a hard disk, a removable disk, a CD-ROM, or any other known form of storage medium. An exemplary storage medium may be connected to a processor so that the processor can read information from the storage medium or write information to the storage medium. Alternatively, the storage medium may be integrated into the processor. The processor and the storage medium may exist within an ASIC. The ASIC may exist within a user terminal. Alternatively, the processor and the storage medium may exist as separate components within the user terminal.

[0194] Although the embodiments described above have been described as utilizing aspects of the subject matter disclosed herein in one or more standalone computer systems, the present disclosure is not limited thereto and may be implemented in conjunction with any computing environment, such as a network or a distributed computing environment. Furthermore, aspects of the subject matter in the present disclosure may be implemented in a plurality of processing chips or devices, and storage may be similarly affected across a plurality of devices. Such devices may include PCs, network servers, and portable devices.

[0195] Although the present disclosure has been described in relation to some embodiments, various modifications and changes may be made without departing from the scope of the present disclosure as understood by a person skilled in the art to which the invention of the present disclosure pertains. Furthermore, such modifications and changes should be considered to fall within the scope of the claims appended to this specification.

Claims

1. A method for managing a delivery order, performed by at least one processor, Step of identifying multiple delivery orders; A step of identifying a plurality of delivery personnel capable of processing at least one of the plurality of delivery orders; A step of generating a plurality of first assignment plans for assigning the plurality of delivery orders to the plurality of delivery personnel based on information regarding the plurality of delivery orders and information regarding the plurality of delivery personnel—each of the plurality of first assignment plans includes at least one bundle order in which two or more delivery orders are combined—; A step of generating a plurality of second allocation plans by selecting a first allocation plan that satisfies a predetermined condition among the plurality of first allocation plans based on the number of bundle orders included in each of the plurality of first allocation plans; A step of calculating a distance gain according to each of the plurality of second allocation plans; and Step of selecting the final allocation plan based on the distance gain calculated above A method for managing delivery orders, including 2. In Paragraph 1, The step of generating the above plurality of second allocation plans is, A step of calculating the number of bundle orders included in each of the plurality of first allocation plans; Among the plurality of first allocation plans, a step of identifying the first allocation plan with the largest number of calculated bundle orders as the maximum bundle plan; and Based on the number of bundle orders included in the identified maximum bundle plan, selecting a first allocation plan that satisfies the predetermined conditions and generating the plurality of second allocation plans A method for managing delivery orders, including 3. In Paragraph 2, A method for managing delivery orders, wherein the above-determined condition is satisfied by a first allocation plan having a number of bundle orders that is greater than or equal to a predetermined ratio than the number of bundle orders included in the above-determined maximum bundle plan.

4. In Paragraph 1, The step of calculating distance gain according to each of the plurality of second allocation plans above is, A step of calculating distance gain for each bundle order included in the plurality of second allocation plans above; and For each of the above plurality of second allocation plans, a step of calculating the average value of the distance gain per bundle order A method for managing delivery orders, including 5. In Paragraph 4, The step of selecting the above final allocation plan is, Among the plurality of second allocation plans, the step of determining the second allocation plan with the lowest calculated average value as the final allocation plan. A method for managing delivery orders, including 6. In Paragraph 4, The above bundle order is associated with a plurality of pickup locations and a plurality of delivery locations corresponding to the plurality of pickup locations, and The step of calculating the distance gain for each bundle order above is, A step of calculating the travel distance as a first distance in the case where the product is received by sequentially visiting the plurality of pickup locations and then the delivery is completed by sequentially visiting the plurality of delivery locations; A step of calculating the sum of the travel distances from each of the plurality of pickup locations to the delivery location corresponding to each of the plurality of pickup locations as a second distance; and A step of calculating the value obtained by dividing the first distance by the second distance as the distance gain of the bundle order. A method for managing delivery orders, including 7. In Paragraph 4, The above bundle order is associated with a first pickup location, a second pickup location, a first delivery location corresponding to the first pickup location, and a second delivery location corresponding to the second pickup location, and The step of calculating the distance gain for each bundle order above is, A step of calculating the sum of the distance from the first pickup location to the second pickup location, the distance from the second pickup location to the second delivery location, and the distance from the second delivery location to the first delivery location as the first distance; A step of calculating the sum of the distance from the first pickup location to the first delivery location and the distance from the second pickup location to the second delivery location as the second distance; and A step of calculating the value obtained by dividing the first distance by the second distance as the distance gain of the bundle order. A method for managing delivery orders, including 8. In Paragraph 1, The step of generating the above plurality of first allocation plans is A step of generating a plurality of delivery order combinations by combining the above-mentioned identified plurality of delivery orders; A step of assigning a candidate delivery person to each of the above multiple delivery order combinations; A step of splitting bundle orders that have not been assigned to the above candidate delivery person into single delivery orders; A step of assigning the candidate delivery person to the above divided delivery order; and Step of finally assigning one of the candidate delivery personnel to each of the above multiple delivery order combinations A method for managing delivery orders, including 9. In Paragraph 8, The step of generating the above plurality of first allocation plans is After the step of generating the plurality of delivery order combinations, a step of selecting a predetermined number of delivery order combinations based on the number of bundle orders included in the plurality of delivery order combinations. A method for managing delivery orders, including further 10. In Paragraph 1, A step of transmitting a delivery order to each of the multiple delivery personnel's user terminals according to the above-selected final allocation plan. A method for managing delivery orders, including further 11. In Paragraph 10, A step of receiving whether to accept an assigned delivery order from each of the user terminals of the plurality of delivery personnel; and Step of utilizing unaccepted delivery orders to generate subsequent allocation plans A method for managing delivery orders, including further 12. In Paragraph 1, The step of identifying the above multiple delivery orders is, A step of receiving delivery orders from user terminals of multiple customers located within a certain distance from a specific location. A method for managing delivery orders, including 13. In Paragraph 1, A method for managing delivery orders, wherein information regarding the plurality of delivery orders includes at least one of a pickup location of a delivery order, a delivery location of a delivery order, an estimated preparation time of a delivery order, a request time of a delivery order, a time when a delivery order is created, an estimated delivery distance of a delivery order, or a product type of a delivery order.

14. In Paragraph 1, A method for managing delivery orders, wherein information regarding the plurality of delivery personnel includes at least one of the delivery personnel's current location, the delivery personnel's evaluation score, the delivery personnel's order acceptance and rejection history, the delivery personnel's estimated arrival time, the delivery personnel's speed of movement, or the delivery personnel's possible distance of movement.

15. A computer-readable, non-transient recording medium recording instructions for executing the method according to paragraph 1 on a computer.

16. In information processing systems, Memory; and It includes at least one processor connected to the memory and configured to execute at least one computer-readable program contained in the memory, and The above at least one program is, Identify multiple delivery orders, Identifying a plurality of delivery personnel who are in a state to process at least one of the plurality of delivery orders, and Based on information regarding the plurality of delivery orders and information regarding the plurality of delivery personnel, a plurality of first assignment plans are generated for assigning the plurality of delivery orders to the plurality of delivery personnel—each of the plurality of first assignment plans includes at least one bundle order in which two or more delivery orders are combined—, Based on the number of bundle orders included in each of the plurality of first allocation plans, a plurality of second allocation plans are generated by selecting a first allocation plan that satisfies a predetermined condition among the plurality of first allocation plans. Calculate distance gains according to each of the above plurality of second allocation plans, and Instructions for selecting the final allocation plan based on the distance gain calculated above An information processing system including