[go: up one dir, main page]

WO2019219088A1 - Systems and methods for order allocation - Google Patents

Systems and methods for order allocation Download PDF

Info

Publication number
WO2019219088A1
WO2019219088A1 PCT/CN2019/087496 CN2019087496W WO2019219088A1 WO 2019219088 A1 WO2019219088 A1 WO 2019219088A1 CN 2019087496 W CN2019087496 W CN 2019087496W WO 2019219088 A1 WO2019219088 A1 WO 2019219088A1
Authority
WO
WIPO (PCT)
Prior art keywords
order
location
vehicle
user terminal
route
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/CN2019/087496
Other languages
French (fr)
Inventor
Lu Li
Niping ZHANG
Lei YIN
Jing Lin
Xin Yan
Wei Zhang
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Didi Infinity Technology and Development Co Ltd
Original Assignee
Beijing Didi Infinity Technology and Development Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from CN201810482072.2A external-priority patent/CN108805411A/en
Priority claimed from CN201810573367.0A external-priority patent/CN110570263B/en
Application filed by Beijing Didi Infinity Technology and Development Co Ltd filed Critical Beijing Didi Infinity Technology and Development Co Ltd
Publication of WO2019219088A1 publication Critical patent/WO2019219088A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/02Reservations, e.g. for tickets, services or events
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/40Business processes related to the transportation industry

Definitions

  • an order allocation system may include at least one storage device, and at least one processor in communication with the at least one storage device.
  • the at least one storage device may include a set of instructions.
  • the at least one processor may be directed to obtain a departure location of an order and a current location of a vehicle; determine a first route from the current location of the vehicle to the departure location of the order, and determine a direction adjustment location of the vehicle based on the first route, the direction adjustment location being used for adjusting a driving direction of the vehicle; in response to a determination that the first estimated duration is greater than or equal to a first predetermined duration, allocate the order to the vehicle; or in response to a determination that the first estimated duration is less than the first predetermined duration, determine an expected driving route of the vehicle, and determine whether to allocate the order to the vehicle based on the expected driving route of the vehicle.
  • FIG. 1 is a schematic diagram illustrating an exemplary online to offline (O2O) service system according to some embodiments of the present disclosure
  • FIG. 8 is a flowchart illustrating an exemplary process for car-hailing order allocation according to some embodiments of the present disclosure
  • FIG. 13 is a flowchart illustrating an exemplary process for order allocation according to some embodiments of the present disclosure
  • FIG. 15 is a block diagram illustrating an exemplary order allocation device 1500 according to some embodiments of the present disclosure.
  • FIG. 16 is a block diagram illustrating an exemplary allocation unit 1506 according to some embodiments of the present disclosure.
  • FIG. 17 is a schematic block diagram of a computer device 1700 according to some embodiments of the present disclosure.
  • the flowcharts used in the present disclosure illustrate operations that systems implement according to some embodiments in the present disclosure. It is to be expressly understood, the operations of the flowchart may be implemented not in order. Conversely, the operations may be implemented in inverted order, or simultaneously. Moreover, one or more other operations may be added to the flowcharts. One or more operations may be removed from the flowcharts.
  • Embodiments of the present disclosure may be applied to different transportation systems including but not limited to land transportation, sea transportation, air transportation, space transportation, or the like, or any combination thereof.
  • a vehicle of the transportation systems may include a rickshaw, travel tool, taxi, chauffeured car, hitch, bus, rail transportation (e.g., a train, a bullet train, high-speed rail, and subway) , ship, airplane, spaceship, hot-air balloon, driverless vehicle, or the like, or any combination thereof.
  • the transportation system may also include any transportation system that applies management and/or distribution, for example, a system for sending and/or receiving an express.
  • passenger, ” “requester, ” “requestor, ” “service requester, ” “service requestor” and “customer” in the present disclosure are used interchangeably to refer to an individual, an entity or a tool that may request or order a service.
  • driver, ” “provider, ” “service provider, ” and “supplier” in the present disclosure are used interchangeably to refer to an individual, an entity or a tool that may provide a service or facilitate the providing of the service.
  • user in the present disclosure may refer to an individual, an entity or a tool that may request a service, order a service, provide a service, or facilitate the providing of the service.
  • the user may be a requester, a passenger, a driver, an operator, or the like, or any combination thereof.
  • requester and “requester terminal” may be used interchangeably, and “provider” and “provider terminal” may be used interchangeably.
  • An aspect of the present disclosure provides devices and methods for order allocation.
  • the devices and methods may receive location information including departure location information and destination information of a user terminal (e.g., a driver terminal) sent by the user terminal.
  • the devices and methods may send at least one order that matches the location information to the user terminal, and receive an order acceptance to one order of the at least one order from the user terminal.
  • the devices and methods may further determine whether to allocate the order to the user terminal based on a screening model.
  • the devices and methods may obtain a departure location of an order and a current location of a vehicle.
  • the devices and methods may determine a first route from the current location of the vehicle to the departure location of the order, and determine a direction adjustment location of the vehicle based on the first route.
  • the direction adjustment location may be used for adjusting a driving direction of the vehicle.
  • the devices and methods may determine a first estimated duration driving from the current location to the direction adjustment location.
  • the devices and methods may allocate the order to the vehicle.
  • the devices and methods may determine an expected driving route of the vehicle, and determine whether to allocate the order to the vehicle based on the expected driving route of the vehicle
  • the O2O service system 100 may provide a plurality of services.
  • Exemplary service may include a taxi-hailing service, a chauffeur service, an express car service, a carpool service, a bus service, a driver hire service, and a shuttle service.
  • the O2O service may be any online service, such as booking a meal, shopping, or the like, or any combination thereof.
  • the server 110 may be a single server or a server group.
  • the server group may be centralized, or distributed (e.g., the server 110 may be a distributed system) .
  • the server 110 may be local or remote.
  • the server 110 may access information and/or data stored in the requester terminal 130, the provider terminal 140, and/or the storage device 160 via the network 120.
  • the server 110 may be directly connected to the requester terminal 130, the provider terminal 140, and/or the storage device 160 to access stored information and/or data.
  • the server 110 may be implemented on a cloud platform.
  • the cloud platform may include a private cloud, a public cloud, a hybrid cloud, a community cloud, a distributed cloud, an inter-cloud, a multi-cloud, or the like, or any combination thereof.
  • the server 110 may be implemented on a computing device 200 having one or more components illustrated in FIG. 2 in the present disclosure.
  • a passenger may be an owner of the requester terminal 130. In some embodiments, the owner of the requester terminal 130 may be someone other than the passenger. For example, an owner A of the requester terminal 130 may use the requester terminal 130 to transmit a service request for a passenger B or receive a service confirmation and/or information or instructions from the server 110.
  • a service provider may be a user of the provider terminal 140. In some embodiments, the user of the provider terminal 140 may be someone other than the service provider. For example, a user C of the provider terminal 140 may use the provider terminal 140 to receive a service request for a service provider D, and/or information or instructions from the server 110.
  • passenger and “passenger terminal” may be used interchangeably, and “service provider” and “provider terminal” may be used interchangeably.
  • the provider terminal may be associated with one or more service providers (e.g., a night-shift service provider, or a day-shift service provider) .
  • the requester terminal 130 may include a mobile device 130-1, a tablet computer 130-2, a laptop computer 130-3, a built-in device in a vehicle 130-4, or the like, or any combination thereof.
  • the mobile device 130-1 may include a smart home device, a wearable device, a smart mobile device, a virtual reality device, an augmented reality device, or the like, or any combination thereof.
  • the smart home device may include a smart lighting device, a control device of an intelligent electrical apparatus, a smart monitoring device, a smart television, a smart video camera, an interphone, or the like, or any combination thereof.
  • the wearable device may include a smart bracelet, a smart footgear, smart glasses, a smart helmet, a smart watch, smart clothing, a smart backpack, a smart accessory, or the like, or any combination thereof.
  • the smart mobile device may include a smartphone, a personal digital assistance (PDA) , a gaming device, a navigation device, a point of sale (POS) device, or the like, or any combination thereof.
  • the virtual reality device and/or the augmented reality device may include a virtual reality helmet, virtual reality glasses, a virtual reality patch, an augmented reality helmet, augmented reality glasses, an augmented reality patch, or the like, or any combination thereof.
  • the provider terminal 140 may include a plurality of provider terminals 140-1, 140-2, ..., 140-n. In some embodiments, the provider terminal 140 may be similar to, or the same device as the requester terminal 130. In some embodiments, the provider terminal 140 may be customized to be able to implement the O2O service 100. In some embodiments, the provider terminal 140 may be a device with positioning technology for locating the service provider, the provider terminal 140, and/or a vehicle 150 associated with the provider terminal 140. In some embodiments, the requester terminal 130 and/or the provider terminal 140 may communicate with another positioning device to determine the position of the passenger, the requester terminal 130, the service provider, and/or the provider terminal 140.
  • the requester terminal 130 and/or the provider terminal 140 may periodically transmit the positioning information to the server 110.
  • the provider terminal 140 may also periodically transmit the availability status to the server 110.
  • the availability status may indicate whether a vehicle 150 associated with the provider terminal 140 is available to carry a passenger.
  • the requester terminal 130 and/or the provider terminal 140 may transmit the positioning information and the availability status to the server 110 every thirty minutes.
  • the requester terminal 130 and/or the provider terminal 140 may transmit the positioning information and the availability status to the server 110 each time the user logs into the mobile application associated with the O2O transportation service 100.
  • the provider terminal 140 may include a processing device similar to or the same as the processing device 112. In some embodiments, the provider terminal 140 may correspond to one or more vehicles 150.
  • the vehicles 150 may carry the passenger and travel to the destination.
  • the vehicles 150 may include a plurality of vehicles 150-1, 150-2, ..., 150-n.
  • One vehicle may correspond to one type of services (e.g., a taxi-hailing service, a chauffeur service, an express car service, a carpool service, a bus service, a driver hire service, or a shuttle service) .
  • the storage device 160 may store data and/or instructions. In some embodiments, the storage device 160 may store data obtained from the requester terminal 130 and/or the provider terminal 140. In some embodiments, the storage device 160 may store data and/or instructions that the server 110 may execute or use to perform exemplary methods described in the present disclosure. In some embodiments, the storage device 160 may include a mass storage, removable storage, a volatile read-and-write memory, a read-only memory (ROM) , or the like, or any combination thereof. Exemplary mass storage may include a magnetic disk, an optical disk, solid-state drives, etc. Exemplary removable storage may include a flash drive, a floppy disk, an optical disk, a memory card, a zip disk, a magnetic tape, etc.
  • Exemplary volatile read-and-write memory may include a random-access memory (RAM) .
  • RAM may include a dynamic RAM (DRAM) , a double date rate synchronous dynamic RAM (DDR SDRAM) , a static RAM (SRAM) , a thyristor RAM (T-RAM) , and a zero-capacitor RAM (Z-RAM) , etc.
  • Exemplary ROM may include a mask ROM (MROM) , a programmable ROM (PROM) , an erasable programmable ROM (EPROM) , an electrically-erasable programmable ROM (EEPROM) , a compact disk ROM (CD-ROM) , and a digital versatile disk ROM, etc.
  • MROM mask ROM
  • PROM programmable ROM
  • EPROM erasable programmable ROM
  • EEPROM electrically-erasable programmable ROM
  • CD-ROM compact disk ROM
  • digital versatile disk ROM etc.
  • the storage device 160 may be implemented on a cloud platform.
  • the cloud platform may include a private cloud, a public cloud, a hybrid cloud, a community cloud, a distributed cloud, an inter-cloud, a multi-cloud, or the like, or any combination thereof.
  • the storage device 160 may be connected to the network 120 to communicate with one or more components of the O2O service system 100 (e.g., the server 110, the requester terminal 130, or the provider terminal 140) .
  • One or more components of the O2O service system 100 may access the data or instructions stored in the storage device 160 via the network 120.
  • the storage device 160 may be directly connected to or communicate with one or more components of the O2O service system 100 (e.g., the server 110, the requester terminal 130, the provider terminal 140) .
  • the storage device 160 may be part of the server 110.
  • the navigation system 170 may determine information associated with an object, for example, one or more of the requester terminal 130, the provider terminal 140, the vehicle 150, etc.
  • the navigation system 170 may be a global positioning system (GPS) , a global navigation satellite system (GLONASS) , a compass navigation system (COMPASS) , a BeiDou navigation satellite system, a Galileo positioning system, a quasi-zenith satellite system (QZSS) , etc.
  • the information may include a location, an elevation, a velocity, or an acceleration of the object, or a current time.
  • the navigation system 170 may include one or more satellites, for example, a satellite 170-1, a satellite 170-2, and a satellite 170-3.
  • the satellites 170-1 through 170-3 may determine the information mentioned above independently or jointly.
  • the satellite navigation system 170 may transmit the information mentioned above to the network 120, the requester terminal 130, the provider terminal 140, or the vehicle 150 via wireless connections.
  • one or more components of the O2O service system 100 may have permissions to access the storage device 160.
  • one or more components of the O2O service system 100 may read and/or modify information related to the passenger, service provider, and/or the public when one or more conditions are met.
  • the server 110 may read and/or modify one or more passengers’ information after a service is completed.
  • the server 110 may read and/or modify one or more service providers’ information after a service is completed.
  • an element or component of the O2O service system 100 performs, the element may perform through electrical signals and/or electromagnetic signals.
  • a processor of the requester terminal 130 may generate an electrical signal encoding the request.
  • the processor of the requester terminal 130 may then transmit the electrical signal to an output port. If the requester terminal 130 communicates with the server 110 via a wired network, the output port may be physically connected to a cable, which further may transmit the electrical signal to an input port of the server 110.
  • FIG. 2 illustrates a schematic diagram of an exemplary computing device according to some embodiments of the present disclosure.
  • the computing device may be a computer, such as the server 110 in FIG. 1 and/or a computer with specific functions, configured to implement any particular system according to some embodiments of the present disclosure.
  • Computing device 200 may be configured to implement any components that perform one or more functions disclosed in the present disclosure.
  • the server 110 may be implemented in hardware devices, software programs, firmware, or any combination thereof of a computer like computing device 200.
  • FIG. 2 depicts only one computing device.
  • the functions of the computing device, providing function that recommending pick-up locations may require may be implemented by a group of similar platforms in a distributed mode to disperse the processing load of the system.
  • Computing device 200 may include a communication terminal 250 that may connect with a network that may implement the data communication.
  • Computing device 200 may also include a processor 220 that is configured to execute instructions and includes one or more processors.
  • the schematic computer platform may include an internal communication bus 210, different types of program storage units and data storage units (e.g., a hard disk 270, a read-only memory (ROM) 230, a random-access memory (RAM) 240) , various data files applicable to computer processing and/or communication, and some program instructions executed possibly by the processor 220.
  • Computing device 200 may also include an I/O device 260 that may support the input and output of data flows between computing device 200 and other components. Moreover, computing device 200 may receive programs and data via the communication network.
  • FIG. 3 is a schematic diagram illustrating exemplary hardware and/or software components of an exemplary mobile device on which a terminal may be implemented according to some embodiments of the present disclosure.
  • the mobile device 300 may include a communication platform 310, a display 320, a graphic processing unit (GPU) 330, a central processing unit (CPU) 340, an I/O 350, a memory 360, a mobile operating system (OS) 370, a storage 390.
  • any other suitable component including but not limited to a system bus or a controller (not shown) , may also be included in the mobile device 300.
  • a mobile operating system 370 e.g., iOS TM , Android TM , Windows Phone TM , etc.
  • the applications 380 may include a browser or any other suitable mobile apps for receiving and rendering information relating to image processing or other information from the O2O service system 100.
  • User interactions with the information stream may be achieved via the I/O 350 and provided to the database 130, the server 105 and/or other components of the O2O service system 100.
  • the mobile device 300 may be an exemplary embodiment corresponding to the requester terminal 130 or the provider terminal 140.
  • computer hardware platforms may be used as the hardware platform (s) for one or more of the elements described herein.
  • a computer with user interface elements may be used to implement a personal computer (PC) or any other type of work station or terminal device.
  • PC personal computer
  • a computer may also act as a system if appropriately programmed.
  • FIG. 4 is a flowchart illustrating an exemplary process for car-hailing order allocation according to some embodiments of the present disclosure.
  • one or more operations of process 400 may be implemented on the O2O service system 100 as illustrated in FIG. 1, or the computing device 200 as illustrated in FIG. 2, or the mobile device 300 as illustrated in FIG. 3.
  • one or more operations in the process 400 may be stored in the storage device 150 and/or the storage (e.g., the ROM 230, the RAM 240, etc. ) as a form of instructions, and invoked and/or executed by the server 110 (e.g., the processing device 112 in the server 110, or the processor 220 of the processing device 112 in the server 110, or one or more units as illustrated in FIG. 6) .
  • the instructions may be transmitted in a form of electronic current or electrical signals.
  • the process 400 for car-hailing order allocation may include: operation 402, receiving location information sent by a driver terminal (e.g., the provider terminal 140, also referred to as a user terminal) , wherein the location information includes departure location information and destination information of the driver terminal; operation 404, sending order details of at least one car-hailing order (also referred to as “order” for briefly) that matches the location information to the driver terminal; operation 406, receiving an order acceptance to one car-hailing order of the at least one car-hailing order from the driver terminal; and operation 408, determining whether to allocate the car-hailing order to the driver terminal based on a screening model.
  • a driver terminal e.g., the provider terminal 140, also referred to as a user terminal
  • order details of at least one car-hailing order also referred to as “order” for briefly
  • the processing device 112 may be described as a subject to perform the process 400.
  • the processing device 112 may receive location information sent by a driver terminal (also referred to as a user terminal) .
  • the driver terminal may include a driver terminal providing hitchhike services, a driver terminal providing express car service, a driver terminal providing taxi services, a driver terminal providing carpool services, or the like.
  • the processing device 112 may receive the location information from the driver terminal via the network 120.
  • the location information may include departure location information of the driver terminal, destination information of the driver terminal, or the like.
  • the departure location information and/or the destination information may be represented by coordinates (e.g., latitude-longitude coordinates) .
  • the departure location information and/or the destination information may be represented by a name of a community (e.g., a home address of a user) , a name of a company (e.g., a work address of the user) , a name of a market, a name of a hospital, a name of a bus station, a name of a metro station, a name of a train station, a name of a hotel, a name of food plaza, a name of a scenic area, a name of a street, or the like.
  • a name of a community e.g., a home address of a user
  • a name of a company e.g., a work address of the user
  • a name of a market e.g., a name of a hospital
  • a name of a bus station e.g., a name of a metro station
  • a name of a hotel e.g., a name of a hotel
  • the departure location information and/or the destination information may be inputted, by a user (e.g., a driver) , via a character input device (e.g., a keyboard, a touch screen) of the driver terminal or a microphone of the driver terminal.
  • a character input device e.g., a keyboard, a touch screen
  • the departure location information may be a current location of the driver terminal, which may be automatically determined by GPS installed in the driver terminal.
  • the processing device 112 may send at least one car-hailing order (also referred to as “order” for briefly) that matches the location information to the driver terminal.
  • the processing device 112 may send order details of the at least one car-hailing order that matches the location information to the driver terminal.
  • the order details of an order may include a departure location of the order, a destination of the order, an order departure time, a travel distance of the order, a number of passengers, an estimated price of the order, or the like, or any combination thereof.
  • an order pool may include a plurality of orders (or car-hailing orders) .
  • the plurality of car-hailing orders may include real-time orders, reserved orders, local orders, city-to-city orders, hitchhike orders, express car orders, taxi orders, carpool orders, or the like.
  • the processing device 112 may determine a matching reference based on the departure location information and the destination information. For example, the processing device 112 may determine the matching reference based on a driver route formed by the departure location information and the destination information of the driver terminal. For an order (i.e., a car-hailing order) in the order pool, the processing device 112 (e.g., the calculation unit 610) may determine a matching degree between the order and the matching reference. In some embodiments, the matching degree may be related to a similarity between the driver route and an order route formed by a departure location and a destination of the order. The higher the similarity is, the higher the matching degree is.
  • the similarity between the driver route and the order route may be measured by an overlapping ratio between the driver route and the order route, a direction angle between the driver route and the order route, etc. For example, if the overlapping ratio is greater than or equal to 30%, and the direction angle is within 30°, the processing device 112 may determine that the similarity between the driver route and the order route satisfies a predetermined similarity threshold, and the processing device 112 may send the order to the driver terminal.
  • the processing device 112 may determine whether a distance between the departure location of the order and the departure location information of the driver terminal is less than a first predetermined distance threshold.
  • the first predetermined distance threshold may be a default value or an empirical value related to the O2O service system 100.
  • the processing device 112 may determine that the order does not match the driver terminal, and may not send the order to the driver terminal.
  • the processing device 112 may further determine the matching degree between the order and the matching reference based on a plurality of first parameters and a correspondent weight thereof.
  • the plurality of first parameters may include a distance between the departure location and a destination of the order, a detour ratio, a carpool ratio, or the like, or any combination thereof.
  • the processing device 112 may determine the detour ratio based on the driver route and the order route.
  • the detour ratio may relate to the overlapping ratio between the driver route and the order route, a direction angle between the driver route and the order route, a distance between the departure location of the order and the departure location information of the driver terminal, a distance between the destination of the order and the departure location information of the driver terminal, etc.
  • the detour ratio may be represented by a percentage, such as 10%, 15%, 40%, 55%, etc.
  • the carpool ratio may be related to the number of passengers carried by the driver of the driver terminal, the destination of the passengers, the routes of the passengers, etc.
  • the processing device 112 may determine the matching degree between the order and the matching reference of the driver terminal based on the distance between the departure location and the destination of the order, the detour ratio, the carpool ratio, and the correspondent weight thereof.
  • the processing device 112 may determine whether the matching degree of the order is greater than or equal to a predetermined matching threhosld. In response to a determination that the matching degree of the order is greater than or equal to the predetermined matching threshold, the processing device 112 may designate the order as one of the at least order (or car-hailing order) , and send the order (specifically order details of the order) to the driver terminal. Alternatively, in response to a determination that the matching degree of the order is less than the predetermined matching threshold, the processing device 112 may not send the order to the driver terminal. The processing device 112 may determine another driver terminal that matches the orders according to the operation described in the present disclosure. In some embodiments, the processing device 112 may match the order to multiple driver terminals, and the processing device 112 may send the order to the multiple matched driver terminals.
  • the predetermined matching threshold may be a default value or an empirical value related to the O2O service system 100.
  • the predetermined matching threshold may be manually set or adjusted by a user (e.g., a driver of the driver terminal) .
  • the predetermined matching threshold may be represented by a percentage. The higher the value of the predetermined matching threshold is, the less the number of orders that match the driver terminal is. In some embodiments, if there are plentiful orders in the order pool, the predetermined matching threshold may be given a larger value, while if the orders in the order pool are short, the predetermined matching threshold may be given a smaller value. In this case, it can ensure that a suitable number of orders are sent to the driver terminal, or at least one order is sent to the driver terminal.
  • the location information of the driver terminal may include a current location of the driver terminal.
  • the order pool may include one or more real-time orders (or real-time car-hailing orders) and one or more reserved orders (or reserved car-hailing orders) .
  • the processing device 112 may determine a distance between a departure location of the real-time order and the current location of the driver terminal. If the distance between the departure location of the real-time order and the current location of the driver terminal is less than or equal to a second predetermined distance threshold, the processing device 112 may send the real-time order to the driver terminal.
  • the processing device may determine a distance between a departure location of the reserved order and the current location of the driver terminal is less than or equal to a third predetermined distance threshold, the processing device 112 may send the reserved order to the driver terminal.
  • the matching degree may only be related to the current location of the driver terminal and the departure location of the order (e.g., a real-time order, a reserved order) . Therefore, the driver terminal may receive multiple orders.
  • the second predetermined distance threshold and/or the third predetermined distance threshold may be a default value or an empirical value related to the O2O service system 100.
  • the second predetermined distance threshold may be less than or equal to the third predetermined distance threshold.
  • the second predetermined distance threshold may be equal to the first predetermined distance threshold.
  • the processing device 112 may receive an order acceptance to one order (or car-hailing order) of the at least one order (or car-hailing orders) from the driver terminal.
  • the driver terminal receives an order and order details of the order
  • the driver may initiate an order acceptance operation for the order on an order selection page of the driver terminal.
  • the processing device 112 may receive the order acceptance from the driver terminal.
  • the processing device 112 may receive more than one order acceptance from different driver terminals for the order within a predetermined time period (e.g., 30 seconds, 1 minutes, 2 minutes, 5 minutes) .
  • the processing device 112 may determine whether to allocate the order (e.g., the car-hailing order) to the driver terminal based on a screening model. In some embodiments, in the predetermined time period, if the order is accepted by a plurality of driver terminals, the processing device 112 may determine to allocate the order to which driver terminal of the plurality of driver terminals. In some embodiments, the processing device 112 may preliminarily screen out a portion of the driver terminals, and then determine a target driver terminal from the screened driver terminals. After the preliminarily screening, the processing device 112 may determine the target driver terminal among a lesser number of driver terminals, which may reduce the computing load and improve the processing efficiency.
  • the order e.g., the car-hailing order
  • the processing device 112 may determine at least two authorized driver terminals among the plurality of driver terminals based on the screening model. In some embodiments, the processing device 112 may determine the at least two authorized driver terminals based on a response time to the order, a route between the current location of the driver terminal and the departure location of the order, traffic conditions corresponding to the route, or the like. For example, the driver terminals quickly responding to the order may be determined as the authorized driver terminals. As another example, the driver terminals with good traffic conditions may be determined as the authorized driver terminals. The processing device 112 may determine a target driver terminal from the at least two authorized driver terminals based on the screening model and a plurality of second parameters.
  • the screening model may be a machine leaning model.
  • the machine learning model may include but is not limited to a Logistic Regression (LR) , a Gradient Booting Decision Tree (GBDT) , a Support Vector Machine (SVM) , a neural network model, or the like.
  • the plurality of second parameters may include the matching degree between the order and a driver terminal, geographical location information, historical driving information of a driver terminal, historical evaluation for a driver of a driver terminal, historical transaction rate, probability of accepting other orders, or the like, or any combination thereof.
  • the processing device 112 may input information of two authorized driver terminals into the screening model.
  • the screening model may be used to compare (also referred to as “PK” ) the two authorized driver terminals based on the plurality of second parameters and its corresponding weight, and output the target driver terminal that is eligible to be allocated the order.
  • the processing device 112 may allocate the order to the target driver terminal.
  • the present disclosure provides an order allocation process considering driver’s preference for orders, which may improve the response rate and transaction rate of orders, further accelerating the order allocation efficiency and the processing speed of orders, and saving system resources.
  • the processing device 112 may determine at least one car-hailing order in the order pool that matches the location information of the driver terminal, and send the order details of the at least one car-hailing order to the driver terminal.
  • the processing device 112 may determine a target driver terminal based on a screening model.
  • the present disclosure may help to improve the transport capacity, increase the transaction rate of orders, and improve the user experience (e.g., passenger’s experience, driver’s experience) .
  • the processing device 112 may allocate the order to the driver terminal.
  • FIG. 5 is a flowchart illustrating an exemplary process for car-hailing order allocation according to some embodiments of the present disclosure.
  • one or more operations of process 500 may be implemented on the O2O service system 100 as illustrated in FIG. 1, or the computing device 200 as illustrated in FIG. 2, or the mobile device 300 as illustrated in FIG. 3.
  • one or more operations in the process 500 may be stored in the storage device 150 and/or the storage (e.g., the ROM 230, the RAM 240, etc. ) as a form of instructions, and invoked and/or executed by the processing device 112, or the processor 220 of the processing device 112, or one or more units as illustrated in FIG. 7) .
  • the instructions may be transmitted in a form of electronic current or electrical signals.
  • the processing device 112 may send location information of a driver terminal (also referred to as a user terminal) to a server via an order selection page.
  • the processing device 112 e.g., the second receiving unit 706 may receive at least car-hailing order (also referred to as order) that matches the location information sent by the server.
  • the processing device 112 may receive order details of the at least one car-hailing order that matches the location information sent by the server.
  • an O2O service (e.g., car-hailing service) platform of the driver terminal may have a home page, which includes an order selection interface.
  • the home page may be switched to the order selection page via the order selection interface.
  • the order selection page may include a location interface (including a departure location input box and a destination input box) .
  • the processing device 112 may detect departure location information and destination information of the driver terminal received via the location interface.
  • the order selection page may further include an order search button.
  • the processing device 112 may send the departure location information and the destination information of the driver terminal to the server, and receive one or more orders (e.g., order details of the one or more orders) that matches the departure location information and the destination information of the driver terminal sent by the server.
  • the one or more orders that matches the driver terminal may refer to that the matching degree between the order (s) and the driver terminal is greater than or equal to the predetermined matching threshold. More descriptions regarding the determination of the matching degree between the order (s) and the driver terminal may be found elsewhere in the present disclosure (e.g., operations 404 of process 400 and the relevant descriptions thereof) .
  • the processing device 112 may sequentially display the at least one car-hailing order (e.g., the order details of the at least one car-hailing order) on an order list page based on a predetermined sequencing rule.
  • Each of the order (or the at least one car-hailing order) may be displayed via an order card.
  • the order card may include an order acceptance interface configured to perform an order acceptance operation for the order (or the car-hailing order) , and to send the order acceptance to the server after performing the order acceptance operation.
  • the order card of an order may include an order departure time, the matching degree of the order, a travel distance of the order, a departure location of the order, a distance between the departure location of the order and the departure location information, a destination of the order, a distance between the destination of the order and the destination information, or the like, or any combination thereof.
  • the at least one order may include a plurality of real-time orders and a plurality of reserved orders.
  • the processing device 112 e.g., the sequencing unit 708, may sequence the plurality of real-time orders in front of the plurality of reserved orders. In this case, sequencing the real-time orders before the reserved orders may facilitate the driver of the driver terminal to request the real-time orders timely.
  • the processing device 112 e.g., the sequencing unit 708, may sequence the plurality of real-time orders based on estimated times of the plurality of real-time orders and/or matching degrees of the plurality of real-time orders.
  • the processing device 112 may sequence the plurality of real-time orders based on the estimated times of the plurality of real-time orders in an ascending order, e.g., real-time orders with shorter estimated times lying in front and real-time orders with longer estimated times lying in the back.
  • the processing device 112 may sequence the plurality of real-time orders based on the matching degrees of the plurality of real-time orders in a descending order, e.g., real-time orders with higher matching degrees lying in front and real-time orders with lower matching degrees lying in the back.
  • the processing device 112 may sequence the plurality of real-time orders based on the estimated times of the plurality of real-time orders, the matching degrees of the plurality of real-time orders, and the corresponding weight thereof.
  • the processing device 112 e.g., the sequencing unit 708 may sequence the plurality of reserved orders based on estimated times of the plurality of reserved orders and/or matching degrees of the plurality of reserved orders.
  • the processing device 112 may sequence the plurality of reserved orders in a similar manner with the plurality of real-time orders, and the descriptions thereof are not repeated.
  • the processing device 112 (e.g., the display unit 704) may display the sequenced real-time orders and reserved orders on the order list page.
  • the processing device 112 may detect a current location of the driver terminal via the location interface.
  • the current location of the driver terminal may be automatically obtained by GPS installed in the driver terminal.
  • the processing device 112 may send the current location of the driver terminal to the server, and receive one or more close-to-the current -location orders that matches the current location of the user terminal sent by the server.
  • the order selection page may include a preview area (e.g., the order display area 1006 as shown in FIG. 12B) for the one or more close-to-the current -location orders. If the one or more close-to-the current -location orders are more than one, the processing device 112 may display a predetermined portion of the one or more close-to-the current -location orders on the preview area.
  • the preview area may include a checking interface (e.g., the “check all hitchhike orders” button as shown in FIG. 12B) configured to display all the one or more close-to-the current -location orders and switch the order selection page to the order list page.
  • the processing device 112 e.g., the sequencing unit 708) may sequence the one or more close-to-the current -location orders based on departure times of the one or more close-to-the current -location orders.
  • the order card of a close-to-the current -location order may include a departure time, a departure location and a destination of the close-to-the current -location order, or a distance between the departure location and the current location of the user terminal, or the like, or any combination thereof.
  • the processing device 112 may refresh the order list page based on a predetermined period (e.g., 1 minute, 5 minutes, 10 minutes, etc. ) .
  • a predetermined period e.g. 1 minute, 5 minutes, 10 minutes, etc.
  • the processing device 112 may display the new order on the order list page. By refreshing the order list page and displaying new order (s) on the order list page, it may improve the instantaneity of checking orders and improve the efficiency of order allocation.
  • FIG. 6 is a block diagram illustrating an exemplary device for order allocation according to some embodiments of the present disclosure.
  • the device 600 (also referred to as the order allocation device 600) may be applicable to a server.
  • the order allocation device 600 may include a first receiving unit 602, a first sending unit 604, a determination unit 606, a generation unit 608, and a calculation unit 610.
  • the first receiving unit 602 may be configured to receive location information sent by a driver terminal.
  • the processing device 112 may receive the location information from the driver terminal via the network 120.
  • the location information may include departure location information, destination information of the driver terminal, or the like.
  • the location information may include a current location of the driver terminal. More descriptions of the location information may be found elsewhere in the present disclosure (e.g., operation 402 of process 400 and the descriptions thereof) .
  • the first receiving unit 602 may further be configured to receive an order acceptance to one car-hailing order (or order) from the driver terminal. After the driver terminal receives an order and order details of the order, if the driver of the driver terminal wants to accept the order, the driver may initiate an order acceptance operation for the order on an order selection page of the driver terminal. The first receiving unit 602 may receive the order acceptance from the driver terminal. In some embodiments, the first receiving unit 602 may receive more than one order acceptance from different driver terminals for the order within a predetermined time period (e.g., 30 seconds, 1 minutes, 2 minutes, 5 minutes) .
  • a predetermined time period e.g. 30 seconds, 1 minutes, 2 minutes, 5 minutes
  • the first sending unit 604 may be configured to send at least one car-hailing order (or order) that matches the location information to the driver terminal. For example, the first sending unit 604 may send order details of the at least one car-hailing order to the driver terminal. The first sending unit 604 may determine whether a matching degree of the order and the driver terminal is greater than or equal to a predetermined matching threshold. In response to a determination that the matching degree of the order is greater than or equal to a predetermined matching threshold, the first sending unit 604 may designate the order as one of the at least order (or car-hailing order) , and send the order (e.g., order details of the order) to the driver terminal.
  • the order e.g., order details of the order
  • the first sending unit 604 may not send the order to the driver terminal.
  • the order may be matched to multiple driver terminals, and the first sending unit 604 may send the order to the multiple matched driver terminals.
  • an order pool may include one or more real-time orders and one or more reserved orders.
  • the location information of the driver terminal may include the current location of the driver terminal.
  • the processing device 112 may determine a distance between a departure location of the real-time order and the current location of the driver terminal. If the distance between the departure location of the real-time order and the current location of the driver terminal is less than or equal to a second predetermined distance threshold, the processing device 112 may send the real-time order to the driver terminal.
  • the processing device may determine a distance between a departure location of the reserved order and the current location of the driver terminal is less than or equal to a third predetermined distance threshold, the processing device 112 may send the reserved order to the driver terminal.
  • the determination unit 606 may be configured to determine whether to allocate the car-hailing order to the driver terminal based on a screening model. In some embodiments, in a predetermined time period, if the order is accepted by a plurality of driver terminals, the determination unit 606 may determine to allocate the order to which driver terminal of the plurality of driver terminals. In some embodiments, the processing device 112 may determine at least two authorized driver terminals among the plurality of driver terminals based on the screening model. The processing device 112 may determine a target driver terminal from the at least two authorized driver terminals based on the screening model and a plurality of second parameters.
  • the generation unit 608 may be configured to generate a matching reference based on the departure location information and the destination information.
  • the processing device 112 may determine the matching reference based on a driver route formed by the departure location information and the destination information of the driver terminal.
  • the calculation unit 610 may be configured to determine a matching degree between the order and the driver terminal.
  • the matching degree may be related to a similarity between the driver route and an order route formed by a departure location and a destination of the order, such as an overlapping ratio between the driver route and the order route, a direction angle between the driver route and the order route, etc. The higher the similarity is, the higher the matching degree is.
  • the calculation unit 610 may determine the matching degree between the order and the matching reference of the driver terminal based on a plurality of first parameters and a correspondent weight thereof, such as a distance between the departure location and a destination of the order, a detour ratio, a carpool ratio.
  • the order allocation device 600 in the present disclosure may be used to perform one or more operations of process 400 as described in FIG. 4.
  • the implementation principle and technical effects of the order allocation device 600 may be similar to the process 400, which can refer to the descriptions in FIG. 4 and is not repeated herein.
  • the units of the device 600 may be hardware circuits of all or part of the processing device 112.
  • the units of the device 600 may also be implemented as an application or set of instructions read and executed by the processing device 112. Further, the units may be any combination of the hardware circuits and the application/instructions.
  • the units may be the part of the processing device 112 when the processing device 112 is executing the application/set of instructions.
  • the order allocation device 600 may further include a storage unit (not shown) .
  • the storage unit may be configured to store data generated during any process performed by the above mentioned units.
  • FIG. 7 is a block diagram illustrating an exemplary device for order allocation according to some embodiments of the present disclosure.
  • the device 700 (also referred to as the order allocation device 700) may be applicable to a user terminal (e.g., a driver terminal) .
  • the order allocation device 700 may include a second sending unit 702, a display unit 704, a second receiving unit 706, a sequencing unit 708, and a refreshing unit 710.
  • the second sending unit 702 may be configured to send location information of a driver terminal to a server via an order selection page.
  • the second sending unit 702 may detect departure location information and destination information of the driver terminal received via the location interface, and send the departure location information and the destination information of the driver terminal to the server.
  • the second sending unit 702 may detect a current location of the driver terminal via the location interface, and send the current location of the driver terminal to the server.
  • the second receiving unit 706 may be configured to receive at least one car-hailing order (or order) that matches the location information sent by the server.
  • the second receiving unit 706 may receive one or more orders (e.g., order details of the one or more orders) that matches the departure location information and the destination information of the driver terminal sent by the server.
  • the second receiving unit 706 may receive one or more close-to-the current -location orders that matches the current location of the user terminal sent by the server.
  • the display unit 704 may be configured to, if the at least one order is more than one, sequentially display the order details of the at least one car-hailing order on an order list page based on a predetermined sequencing rule.
  • the order details of each order (or the at least one car-hailing order) may be displayed via an order card.
  • the order card may include an order acceptance interface configured to perform an order acceptance operation for the order (or the car-hailing order) , and to send the order acceptance to the server after performing the order acceptance operation.
  • the sequencing unit 708 may be configured to sequence the at least one order (or the at least one car-hailing order) .
  • the at least one order may include a plurality of real-time orders and a plurality of reserved orders.
  • the sequencing unit 708 may sequence the plurality of real-time orders in front of the plurality of reserved orders.
  • the sequencing unit 708 may sequence the plurality of real-time orders based on estimated times of the plurality of real-time orders and/or matching degrees of the plurality of real-time orders.
  • the sequencing unit 708 may sequence the plurality of reserved orders based on estimated times of the plurality of reserved orders and/or matching degrees of the plurality of reserved orders. Then the sequenced real-time orders and reserved orders may be displayed by the display unit 704.
  • the refreshing unit 710 may be configured to refresh the order list page based on a predetermined period (e.g., 1 minute, 5 minutes, 10 minutes, etc. ) .
  • a predetermined period e.g. 1 minute, 5 minutes, 10 minutes, etc.
  • the refreshing unit 710 may display the new order on the order list page.
  • the order allocation device 700 in the present disclosure may be used to perform one or more operations of process 500 as described in FIG. 5.
  • the implementation principle and technical effects of the order allocation device 700 may be similar to the process 500, which can refer to the descriptions in FIG. 5 and is not repeated herein.
  • the units of the device 700 may be hardware circuits of all or part of the processing device 112.
  • the units of the device 700 may also be implemented as an application or set of instructions read and executed by the processing device 112. Further, the units may be any combination of the hardware circuits and the application/instructions.
  • the units may be the part of the processing device 112 when the processing device 112 is executing the application/set of instructions.
  • FIG. 8 is a flowchart illustrating an exemplary process for car-hailing order allocation according to some embodiments of the present disclosure.
  • one or more operations of process 800 may be implemented on the O2O service system 100 as illustrated in FIG. 1, or the computing device 200 as illustrated in FIG. 2, or the mobile device 300 as illustrated in FIG. 3.
  • one or more operations in the process 800 may be stored in the storage device 150 and/or the storage (e.g., the ROM 230, the RAM 240, etc. ) as a form of instructions, and invoked and/or executed by the processing device 112, or the processor 220 of the processing device 112) .
  • the instructions may be transmitted in a form of electronic current or electrical signals.
  • the processing device 112 may match the real-time order to a driver terminal, and determine whether the real-time order matches the driver terminal. In some embodiments, the processing device 112 may determine a distance between the departure location of the real-time order and a current location of the driver terminal. If the distance between the departure location of the real-time order and the current location of the driver terminal is less than or equal to a second predetermined distance threshold, the processing device 112 may determine that the real-time order matches the driver terminal. In some embodiments, the processing device 112 may match the real-time order to more than one driver terminal. In response to a determination that the real-time order matches the driver terminal, the processing device 112 may proceed to operation 806.
  • the processing device 112 may send the real-time order to the driver terminal. For example, the processing device 112 may send the order details of the real-time order to the driver terminal. In some embodiments, if the real-time order matches more than one driver terminal, the processing device 112 may send the order details of the real-time order to the more than one driver terminal. In 808, the processing device 112 may determine whether to allocate the order to the driver terminal based on a screening model.
  • the processing device 112 may send the departure location information and the destination information of the driver terminal to a server to perform the search operation.
  • the processing device 112 may receive one or more orders that matches the departure location information and the destination information of the driver terminal sent by the server.
  • the processing device 112 may access an order list page to check the one or more orders.
  • the order list page may include order details of the one or more orders.
  • the processing device 112 may send an order acceptance of the driver terminal via a “take” button (e.g., the take button as illustrated in FIG. 10B) .
  • the processing device 112 may determine whether the order is successfully taken by the driver terminal.
  • the order display area 1006 may display the total number of hitchhike orders (e.g., 20 orders as shown in FIG. 10B) and displays one or more hitchhike orders. As shown in FIG. 10D, a hitchhike order may be displayed via an order card 1010.
  • the order card 1010 may be configured to display order details of an order, such as a departure time, a travel distance, a departure location, a destination, a portrait of passenger, a matching degree, or the like, or any combination thereof.
  • the order card 1010 may further include a “take” button to help a driver of the driver terminal to accept the order.
  • the order display area 1006 may further include a “check all hitchhike orders” button at the bottom of the order display area 1006.
  • the order selection page may be switch to an order list page, e.g., the hitchhike order list page as shown in FIG. 10E.
  • the hitchhike order list page includes location input box 1002 and the order display area 1006.
  • the location input box 1002 includes a departure location “Houchangcun Road No. 30, South Gate” and a destination “Xi’erqi Bridge East, Bus Station. ”
  • the order display area 1006 shows the total number of hitchhike orders, e.g., 13 orders.
  • the user may check all the hitchhike orders by sliding up the hitchhike order list page.
  • the hitchhike orders may be sequenced based on the matching degree between the order and the driver terminal and/or the departure time of the order. In some embodiments, the orders with higher matching degree may be sequenced before the orders with lower matching degree. In some embodiments, the hitchhike orders may include real-time orders whose departure time is “depart now” , and reserved orders whose departure time is displayed as today, tomorrow, the day after tomorrow, or a specific data format (e.g., 2019/01/14) , etc. The real-time orders may be sequenced before the reserved orders to ensure the real-time orders are timely checked by the driver terminal.
  • a distance between the departure location of the real-time orders and the current location of the vehicle may be less than 3km such that the driver terminal can pick-up the passenger of the order timely.
  • the hitchhike orders may be refreshed based on a specific cycle. In some embodiments, the hitchhike orders may be refreshed automatically. Alternatively, the refreshment of the hitchhike orders may be initiated by the user (e.g., the driver) . For example, the user may slide up the hitchhike order list page to load new hitchhike orders.
  • the user may click the “I know” button to return the order selection page and/or the hitchhike order list page.
  • a prompt “successfully taken” may be displayed.
  • the hitchhike order list page may be switched to a pick-up page.
  • FIG. 10I shows an exemplary close-to-the current -location order list according to some embodiments of the present disclosure.
  • the close-to-the current -location order list only includes an order display area 1014.
  • the order display area 1014 shows the total number of close-to-the current -location orders (e.g., 23 close-to-the current -location orders) .
  • the user may check all the hitchhike orders by sliding up the hitchhike order list page.
  • Each close-to-the current -location order may be displayed via an order card 1014.
  • the order card 1014 may be configured to display order details of a close-to-the current -location order, such as a departure time, a travel distance, a departure location, a destination, a portrait of passenger, a matching degree, or the like, or any combination thereof.
  • the order card 1014 may further include a “take” button to help a driver of the driver terminal to accept the order.
  • the driver may select a hitchhike order.
  • the driver may select a close-to-the current -location order.
  • FIG. 11 is a block diagram illustrating an exemplary server according to some embodiments of the present disclosure.
  • the server 1100 may include a storage 1102, a processor 1104, and an order allocation device 1106.
  • the storage 1102 may store a set of instructions.
  • the processor 1104 may execute the set of instructions to implement one or more operations of the above order allocation process (e.g., the process 400, the process 800) .
  • the processor 1104 may execute the set of instructions to implement the order allocation device 1106 or the order allocation device 600.
  • the present disclosure may further provide a non-transitory computer-readable storage medium.
  • the non-transitory computer-readable storage medium may include computer programs.
  • the computer programs may be executed by a processor (e.g., the processor 1204) to implement operations including: sending location information of a driver terminal to a server via an order selection page, and receiving order details of at least one car-hailing order that matches the location information sent by the server; and if the at least one order is more than one, sequentially displaying the order details of the at least one car-hailing order on an order list page based on a predetermined sequencing rule, the order details of each of the at least one order being displayed via an order card, wherein the order card includes an order acceptance interface configured to perform an order acceptance operation for the order and to send the order acceptance to the server after performing the order acceptance operation.
  • the implementation principle and technical effects of the non-transitory computer readable storage medium may be similar to the process 500, which can refer to the descriptions in FIG. 5 and is not repeated herein.
  • the first route may be determined based on, e.g., a distance between the current location of the vehicle and the departure location of the order, a predicted travel time (e.g., a historical average travel time) driving from the current location of the vehicle to the departure location of the order, a traffic condition, the service provider’s preference, or the like, or any combination thereof.
  • the first route may be a route with a smallest distance, a route with a least predicted travel time, or a route chosen by most historical drivers.
  • the first route may also be designated by the service requester (e.g., the driver of the vehicle) .
  • the first predetermined duration may be a default value or an empirical value related to the O2O service system 100.
  • the first predetermined duration may vary with different scenarios.
  • the first predetermined duration may include a duration for the vehicle to change lanes, a response duration of the service provider (e.g., the driver of the vehicle) , a response duration of the O2O service system 100, a duration when the vehicle is banned from changing lanes near the direction adjustment location (for example, the vehicle is banned from changing lanes within a threshold distance to the direction adjustment location) , or the like, or any combination thereof.
  • the response duration of the service provider may be a time spent by the service provider from receiving an order to confirming the order.
  • the response duration of the O2O service system 100 may be a time spent from allocating the order to the service provider to being received by the service provider.
  • the machine learning model may include one or more model parameters, such as real-time road conditions, road grades, a historical average speed of a lane in which the vehicle is running, an average speed of the vehicle, a request time of the order, traffic regulations, or the like, or any combination thereof.
  • Each model parameter may be given a corresponding weight.
  • a comparison result may be determined based on the classification model.
  • the classification model may output the comparison result based on an input of the first predetermined duration and the first predetermined information, and/or the model parameter (s) and its corresponding weight.
  • the processing device 112 may allocate the order to the vehicle. If the first estimation duration is less than the first predetermined duration, which indicates that the service provider does not have enough time to adjust the driving direction of the vehicle at the direction adjustment location, the processing device 112 may further analyze a driving behavior of the service provider to determine whether to allocate the order to the vehicle. For example, the processing device 112 may determine an expected driving route of the vehicle, and further determine whether to allocate the order to the vehicle.
  • the processing device 112 may obtain a plurality of candidate driving route, and select one of the plurality of candidate driving routes as the expected driving route of the vehicle based on second predetermined information.
  • the processing device 112 may further determine whether to allocate the order to the vehicle based on the expected driving route of the vehicle.
  • the processing device 112 may determine a driving direction of the vehicle at the direction adjustment location of the vehicle based on the expected driving route.
  • the processing device 112 may allocate the order to the vehicle.
  • the expected driving route may be a segment of the first route, therefore the driving direction of the expected driving route is consistent with the first route, and it is suitable for the vehicle to execute the order.
  • the processing device 112 may determine an expected location on the expected driving route after a second predetermined duration.
  • the expected location may refer to a location after passing the direction adjustment location.
  • the processing device 112 may determine a cost for accepting the order based on the departure location and the expected location of the vehicle. For example, the processing device 112 may determine whether a distance between the expected location and the departure location of the order is less than or equal to a predetermined distance, and whether a second estimated duration driving from the expected location to the departure location of the order is less than or equal to a third predetermined duration.
  • the processing device 112 may allocate the order to the vehicle. More descriptions regarding whether to allocate the order to the vehicle may be found elsewhere in the present disclosure (e.g., FIG. 14 and the descriptions thereof) .
  • the processing device 112 may determine whether to allocate an order to a vehicle by considering the driving status of the vehicle, which may avoid the driver of the vehicle to make a detour to pick up a passenger of the order, saving the time of the driver and/or the passenger. Besides, the processing device 112 may allocate orders to suitable vehicles (or drivers) , which may improve the transaction rate of orders, increasing the efficiency of order allocation and saving computing load.
  • the processing device 112 may allocate the order to the vehicle.
  • FIG. 14 is a flowchart illustrating an exemplary process for order allocation according to some embodiments of the present disclosure.
  • one or more operations of process 1400 may be implemented on the O2O service system 100 as illustrated in FIG. 1, or the computing device 200 as illustrated in FIG. 2, or the mobile device as illustrated in FIG. 3.
  • one or more operations in the process 1400 may be implemented as a set of instructions (e.g., an application) stored in a storage device (e.g., the storage device 160, the ROM 230, the RAM 240, and/or the storage 390) .
  • a storage device e.g., the storage device 160, the ROM 230, the RAM 240, and/or the storage 390.
  • the processing device 112 may execute the set of instructions and may accordingly be directed to perform the process 1400.
  • the instructions may be transmitted in a form of electronic current or electrical signals.
  • the processing device 112 may obtain a departure location of an order and a current location of a vehicle.
  • the processing device 112 e.g., the obtaining unit 1502 may determine a first route from the current location of the vehicle to the departure location of the order, and determine a direction adjustment location of the vehicle based on the first route.
  • the processing device 112 e.g., the prediction unit 1504 may determine a first estimated duration driving from the current location to the direction adjustment location based on a first predetermined information.
  • Operations 1402-1406 may be performed in a similar manner with operations 1302-1306, and the descriptions thereof are not repeated herein.
  • the processing device 112 may determine whether the first estimated duration is greater than or equal to a first predetermined duration.
  • the processing device 112 may allocate the order to the vehicle.
  • the processing device 112 may determine an expected driving route of the vehicle. More descriptions regarding the determination of the expected driving route may be found elsewhere in the present disclosure. See, e.g., operation 1308 and the relevant descriptions thereof.
  • the processing device 112 may determine an expected location on the expected driving route after a second predetermined duration, and determine a distance between the expected location and the departure location of the order and a second estimated duration driving from the expected location to the departure location of the order.
  • the second predetermined duration may be a default value or an empirical value related to the O2O service system 100.
  • the second predetermined duration may refer to a period that the processing device 112 spent on determining the expected driving route.
  • the vehicle may have traveled a distance on the expected driving route after the second predetermined duration.
  • the expected location may refer to a location on the expected driving route where the vehicle locates after the second predetermined duration.
  • the expected location may refer to a location after passing the direction adjustment location.
  • the expected location may be determined based on, e.g., the second predetermined duration, a type of a lane in which the vehicle is running, a current speed of the vehicle, real-time road conditions, a number of vehicles at the direction adjustment location, or the like, or any combination thereof.
  • the processing device 112 may obtain the distance between the expected location and the departure location of the order from a storage device (e.g., the storage device 150) of the O2O service system 100 or an external source (e.g., a third-party map) . Similar to the determination of the first estimated duration, the second estimated duration may be determined based on a third predetermined information.
  • the third predetermined information may include the distance between the expected location and the departure location of the order, a type of a lane in which the vehicle is running, a current speed of the vehicle, road grades, speed grades, real-time road conditions, a number of vehicles on the expected driving route, or the like, or any combination thereof.
  • the second estimated duration may be determined based on the distance between the expected location and the departure location of the order, the current speed of the vehicle, or the like.
  • the processing device 112 may determine whether the distance is less than or equal to a predetermined distance and whether the second estimated duration is less than or equal to a third predetermined duration.
  • the predetermined distance and/or the third predetermined duration may be an empirical value or a default value stored in the O2O system 100.
  • the predetermined distance and/or the third predetermined duration may be set or adjusted by a passenger (e.g., a service requester) or a driver (e.g., a service provider) .
  • the predetermined distance and/or the third predetermined duration may vary under different conditions. For example, the predetermined distance may be set with a relatively small value and the third predetermined duration may be set with a relatively great value in the peak hours.
  • the processing device 112 may proceed to operation 1418.
  • the processing device 112 e.g., the allocation sub-unit 1608 of the allocation unit 1506 may allocate the order to the vehicle.
  • the processing device 112 may proceed to operation 1420.
  • the processing device 112 e.g., the allocation sub-unit 1608 of the allocation unit 1506
  • the candidate vehicle may satisfy that the distance between a current location of the candidate vehicle and the departure location of the order is less than or equal to the predetermined distance, and a second estimated duration from the current location of the candidate vehicle to the departure location of the order is less than or equal to the third predetermined duration.
  • the processing device 112 may allocate the order to the vehicle, ensuring that the order may be accepted by at least one vehicle.
  • the processing device 112 may determine whether to allocate the order to the vehicle based on the distance between the expected location of the vehicle and the departure location of the order, or the second estimated duration driving from the expected location to the departure location of the order. For example, if the distance is less than or equal to the predetermined distance, the processing device 112 may allocate the order to the vehicle. As another example, if the second estimated duration is less than or equal to the third predetermined duration, the processing device 112 may allocate the order to the vehicle.
  • FIG. 15 is a block diagram illustrating an exemplary order allocation device 1500 according to some embodiments of the present disclosure.
  • the order allocation device 112 may include an obtaining unit 1502, a prediction unit 1504, and an allocation unit 1506.
  • the obtaining unit 1502 may be configured to obtain a departure location of an order and a current location of a vehicle.
  • the obtaining unit 1502 may further be configured to determine a first route from the current location of the vehicle to the departure location of the order, and determine a direction adjustment location of the vehicle based on the first route. More descriptions regarding the departure location of an order and the current location of a vehicle may be found elsewhere in the present disclosure. See, e.g., operation 1302 of process 1300 and the relevant descriptions thereof. More descriptions regarding the determination of the first route and the determination of the direction adjustment location may be found elsewhere in the present disclosure. See, e.g., operation 1304 of process 1300 and the relevant descriptions thereof.
  • the obtaining unit 1502 may obtain information of the order and/or information of the vehicle.
  • the information of the order may include an order number, a coordinate of the departure location (e.g., latitude-longitude coordinates) , a coordinate of a destination (e.g., latitude-longitude coordinates) , a departure time, contact information (e.g., a telephone number, a Wechat TM account, a QQ TM account, etc. ) , or the like, or any combination thereof.
  • the information of the vehicle may include a coordinate of the current location (e.g., latitude-longitude coordinates) , a serial number of a driver (e.g., a service provider) of the vehicle, driving experience, a vehicle type, a license plate number, a driving license number, or the like, or any combination thereof.
  • the prediction unit 1504 may be configured to determine a first estimated duration driving from the current location to the direction adjustment location.
  • the first estimated duration may be determined based on a first predetermined information. More descriptions regarding the determination of the first estimated duration may be found elsewhere in the present disclosure. See, e.g., operation 1306 of process 1300 and the relevant descriptions thereof.
  • the allocation unit 1506 may be configured to determine whether to allocate the order to the vehicle. In response to a determination that the first estimated duration is greater than or equal to a first predetermined duration, the allocation unit 1506 may be configured to allocate the order to the vehicle. In response to a determination that the first estimated duration is less than the first predetermined duration, the allocation unit 1506 may be configured to determine an expected driving route of the vehicle, and determine whether to allocate the order to the vehicle based on the expected driving route of the vehicle. More descriptions regarding the allocation of the order, the determination of the expected driving route, and whether to allocate the order to the vehicle may be found elsewhere in the present disclosure. See, e.g., operation 1308 of process 1300 and the relevant descriptions thereof.
  • the units may be hardware circuits of all or part of the processing device 112.
  • the units may also be implemented as an application or set of instructions read and executed by the processing device 112. Further, the units may be any combination of the hardware circuits and the application/instructions.
  • the units may be the part of the processing device 112 when the processing device 112 is executing the application/set of instructions.
  • the units in the order allocation device 1500 may be connected to or communicate with each other via a wired connection or a wireless connection.
  • the wired connection may include a metal cable, an optical cable, a hybrid cable, or the like, or any combination thereof.
  • the wireless connection may include a Local Area Network (LAN) , a Wide Area Network (WAN) , a Bluetooth, a ZigBee, a Near Field Communication (NFC) , or the like, or any combination thereof.
  • LAN Local Area Network
  • WAN Wide Area Network
  • NFC Near Field Communication
  • Two or more of the modules may be combined into a single module, and any one of the modules may be divided into two or more units.
  • the allocation unit 1506 may be divided into a plurality of sub-units. In some embodiments, one or more of the units mentioned above may be omitted. In some embodiments, one or more of the modules mentioned above may be combined into a single module. For example, the prediction unit 1504 and the allocation unit 1506 may be integrated into a single module. In some embodiments, the order allocation device 1500 may further include one or more additional units, such as a storage unit.
  • FIG. 16 is a block diagram illustrating an exemplary allocation unit 1506 according to some embodiments of the present disclosure.
  • the allocation unit 1506 may include a route determination sub-unit 1602, a calculation sub-unit 1604, a judgment sub-unit 1606, and an allocation sub-unit 1608.
  • the route determination sub-unit 1602 may be configured to determine an expected driving route of a vehicle. In some embodiments, if the vehicle does not have an on-going order, the route determination sub-unit 1602 may be configured to obtain a plurality of candidate driving routes, and select one of the plurality of candidate driving routes as the expected driving route of the vehicle based on a first predetermined information. If the vehicle has an on-going order, the route determination sub-unit 1602 may be configured to obtain a second route related to the on-going order, and determine the second route as the expected driving route of the vehicle. The second route may be a route from the current location of the vehicle to a departure location or a destination of the on-going order. More descriptions regarding the determination of the expected driving route may be found elsewhere in the present disclosure. See, e.g., operation 1308 of process 1300 and the relevant descriptions thereof.
  • the calculation sub-unit 1604 may be configured to determine an expected location on the expected driving route after a second predetermined duration, and determine a distance between the expected location and the departure location of the order and a second estimated duration driving from the expected location to the departure location of the order. More descriptions regarding the determination of the expected location, and the determination of the distance and the second estimated duration may be found elsewhere in the present disclosure. See, e.g., operation 1414 of process 1400 and the relevant descriptions thereof.
  • the judgment unit 1606 may be configured to determine whether the distance is less than or equal to a predetermined distance and whether the second estimated duration is less than or equal to a third predetermined duration. More descriptions of the predetermined distance and the third predetermined duration may be found elsewhere in the present disclosure. See, e.g., operation 1416 of process 1400 and the relevant descriptions thereof.
  • the allocation sub-unit 1608 may be configured to determine the order to the vehicle or other vehicles. In response to a determination that the distance is less than or equal to the predetermined distance and the second estimated duration is less than or equal to the third predetermined duration, the allocation sub-unit 1608 may allocate the order to the vehicle. In response to a determination that the distance is greater than the predetermined distance or the second estimated duration is greater than the third predetermined duration, the allocation sub-unit 1608 may allocate the order to other vehicles (e.g., a candidate vehicle) . If no candidate vehicle is available, the allocation sub-unit 1608 may allocate the order to the vehicle. More descriptions regarding the allocation of the order may be found elsewhere in the present disclosure. See, e.g., operations 1418 and 1420 of process 1400 and the relevant descriptions thereof.
  • the above descriptions of the allocation unit 1506 is provided for the purposes of illustration, and is not intended to limit the scope of the present disclosure. For persons having ordinary skills in the art, multiple variations and modifications may be made under the teachings of the present disclosure. However, those variations and modifications do not depart from the scope of the present disclosure.
  • one or more of the sub-units mentioned above may be omitted.
  • one or more of the sub-units mentioned above may be combined into a single unit.
  • the judgment sub-unit 1606 and the allocation sub-unit 1608 may be integrated into a single unit.
  • the allocation unit 1506 may further include one or more additional sub-units, such as a storage sub-unit.
  • FIG. 17 is a schematic block diagram of a computer device 1700 according to some embodiments of the present disclosure.
  • the computer device 1700 may include a storage 1702 and a processor 1704.
  • the storage 1702 may include a set of instructions.
  • the processor 1704 may execute the set of instructions to implement one or more operations of the process for order allocation (e.g., the process 1300, the process 1400) .
  • the present disclosure may further provide a non-transitory computer-readable storage medium.
  • the non-transitory computer-readable storage medium may include computer programs.
  • the computer programs may be executed by a processor (e.g., the processor 1704) to implement one or more operations of the process for order allocation (e.g., the process 1300, the process 1400) .
  • aspects of the present disclosure may be illustrated and described herein in any of a number of patentable classes or context including any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof. Accordingly, aspects of the present disclosure may be implemented entirely hardware, entirely software (including firmware, resident software, micro-code, etc. ) or combining software and hardware implementation that may all generally be referred to herein as a "block, " “module, ” “engine, ” “unit, ” “component, ” or “system. ” Furthermore, aspects of the present disclosure may take the form of a computer program product embodied in one or more computer readable media having computer readable program code embodied thereon.
  • a computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including electro-magnetic, optical, or the like, or any suitable combination thereof.
  • a computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that may communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
  • Program code embodied on a computer readable signal medium may be transmitted using any appropriate medium, including wireless, wireline, optical fiber cable, RF, or the like, or any suitable combination of the foregoing.
  • Computer program code for carrying out operations for aspects of the present disclosure may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Scala, Smalltalk, Eiffel, JADE, Emerald, C++, C#, VB. NET, Python or the like, conventional procedural programming languages, such as the “C” programming language, Visual Basic, Fortran 1703, Perl, COBOL 1702, PHP, ABAP, dynamic programming languages such as Python, Ruby and Groovy, or other programming languages.
  • the program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server.
  • the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN) , or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider) or in a cloud computing environment or offered as a service such as a software as a service (SaaS) .
  • LAN local area network
  • WAN wide area network
  • an Internet Service Provider for example, AT&T, MCI, Sprint, EarthLink, MSN, etc.
  • SaaS software as a service

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Development Economics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Resources & Organizations (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Finance (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Accounting & Taxation (AREA)
  • Tourism & Hospitality (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Game Theory and Decision Science (AREA)
  • Educational Administration (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Traffic Control Systems (AREA)

Abstract

It relates to an order allocation method. The method may include receiving location information including departure location information and destination information of a user terminal sent by the user terminal. The method may further include sending at least one order that matches the location information to the user terminal, and receiving an order acceptance to one order of the at least one order from the user terminal. The method may further include determining whether to allocate the order to the user terminal based on a screening model.

Description

SYSTEMS AND METHODS FOR ORDER ALLOCATION
CROSS-REFERENCE TO RELATED APPLICATIONS
This application claims priority of Chinese Application No. 201810482072.2, filed on May 18, 2018, and Chinese Application No. 201810573367.0, filed on June 6, 2018, the contents of each of which are hereby incorporated by reference in its entirety.
TECHNICAL FIELD
The present disclosure generally relates to online to offline (O2O) services, and in particular, to devices and methods for order allocation.
BACKGROUND
With the development of Internet technology, online to offline services (e.g., car-hailing services) has entered a rapid developing era. For example, more and more people are willing to request an online to offline service from an online to offline platform using intelligent terminals. Taking the car-hailing service as an example, a passenger initiates a car-hailing service by sending a service request (also referred to as a car-hailing order) to a car-hailing service platform via his/her requester terminal. The car-hailing service platform then sends the service request to a provider terminal without considering the requirements of the provider (e.g., the provider’s preference, the driving route of the provider) , which may result in low transaction rate and efficiency of the car-hailing service platform. Therefore, it is desirable to provide systems and methods for allocating a service request effectively.
SUMMARY
In one aspect of the present disclosure, an order allocation method is provided. The method may be implemented on a computing device having at least one processor, at least one storage medium, and a communication platform connected to a network. The method may include receiving location information including departure location information and destination information of a user terminal sent by the user terminal. The method may  also include sending at least one order that matches the location information to the user terminal, and receiving an order acceptance to one order of the at least one order from the user terminal. The method may further include determining whether to allocate the order to the user terminal based on a screening model.
In some embodiments, the sending at least one order that matches the location information to the user terminal may include determining a matching reference based on the departure location information and the destination information; for an order in an order pool that includes a plurality of orders, determining a matching degree between the order and the matching reference; and in response to a determination that the matching degree of the order is greater than or equal to a predetermined matching threshold, designating the order as the at least one order.
In some embodiments, the determining a matching degree between the order and the matching reference may include determining whether a distance between a departure location of the order and the departure location information of the user terminal is less than or equal to a first predetermined distance threshold; and in response to a determination that the distance between the departure location of the order and the departure location information of the user terminal is less than or equal to the first predetermined distance threshold, determining the matching degree between the order and the matching reference based on a plurality of first parameters and a correspondent weight thereof, wherein the plurality of first parameters includes a distance between the departure location and a destination of the order, a detour ratio, a carpool ratio.
In some embodiments, the location information may include a current location of the user terminal. The order pool may include one or more real-time orders and one or more reserved orders. The sending at least one order that matches the location information to the user terminal may include if a distance between a departure location of a real-time order of the one or more real-time orders and the current location of the user terminal is less than or equal to a second predetermined distance threshold, sending the real-time order to the user terminal; and/or if a distance between a departure location of a  reserved order of the one or more reserved orders and the current location of the user terminal is less than or equal to a third predetermined distance threshold, sending the reserved order to the user terminal.
In some embodiments, the determining whether to allocate the order to the user terminal based on a screening model may include if the order is accepted by a plurality of user terminals of the user terminal, determining at least two authorized user terminals among the plurality of user terminals based on the screening model; determining a target user terminal from the at least two authorized user terminals based on the screening model and a plurality of second parameters; and allocating the order to the target user terminal.
In some embodiments, the method may further include if the order is accepted by only one of the user terminal, allocating the order to the user terminal.
In some embodiments, the order may be accepted by the user terminal via an order selection page of the user terminal.
In another aspect of the present disclosure, an order allocation method is provided. The method may be implemented on a user terminal having at least one processor, at least one storage medium, and a communication platform connected to a network. The method may include sending location information of the user terminal to a server via an order selection page. The method may also include receiving at least one order that matches the location information of the user terminal sent by the server. The method may further include if the at least one order is more than one, sequentially displaying the at least one order on an order list page based on a predetermined sequencing rule. Each of the at least one order may be displayed via an order card. The order card may include an order acceptance interface configured to perform an order acceptance operation for the order and to send the order acceptance to the server after performing the order acceptance operation.
In some embodiments, the order selection page may include a location interface. The sending location information of the user terminal to a server and receiving at least one  order that matches the location information of the user terminal sent by the server may include detecting departure location information and destination information of the user terminal received via the location interface; sending the departure location information and the destination information of the user terminal to the server; and receiving one or more orders that matches the departure location information and the destination information of the user terminal sent by the server.
In some embodiments, the at least one order may include a plurality of real-time orders and a plurality of reserved orders. The sequentially displaying the at least one order on an order list page based on a predetermined sequencing rule may include sequencing the plurality of real-time orders in front of the plurality of reserved orders; sequencing the plurality of real-time orders based on estimated times of the plurality of real-time orders and/or matching degrees of the plurality of real-time orders; sequencing the plurality of reserved orders based on estimated times of the plurality of reserved orders and/or matching degrees of the plurality of reserved orders; and displaying the sequenced real-time orders and reserved orders on the order list page.
In some embodiments, the order card of an order may include at least one of an order departure time, the matching degree of the order, a travel distance of the order, a departure location of the order, a distance between the departure location of the order and the departure location information, a destination of the order, or a distance between the destination of the order and the destination information.
In some embodiments, the sending location information of the user terminal to a server and receiving at least one order that matches the location information of the user terminal sent by the server may include sending a current location of the user terminal to the server; and receiving one or more close-to-the current -location orders that matches the current location of the user terminal sent by the server.
In some embodiments, if the one or more close-to-the current -location orders are more than one, the order selection page may include a preview area for the one or more close-to-the current -location orders. The sequentially displaying the at least one order  on an order list page based on a predetermined sequencing rule may include displaying a predetermined portion of the one or more close-to-the current -location orders on the preview area. The preview area may include a checking interface configured to display all the one or more close-to-the current -location orders and switch the order selection page to the order list page. The method may further include sequencing the one or more close-to-the current -location orders on the order list page based on departure times of the one or more close-to-the current -location orders.
In some embodiments, the order card of a close-to-the current -location order may further include at least one of a departure time, a departure location and a destination of the close-to-the current -location orders order, or a distance between the departure location and the current location of the user terminal.
In some embodiments, the method may further include refreshing the order list page based on a predetermined period; and when receiving a new order that matches the location information of the user terminal, displaying the new order on the order list page. In yet another aspect of the present disclosure, an order allocation device is provided. The order allocation device may be applicable to a server. The device may include a first receiving unit, a first sending unit, a determination unit. The first receiving unit may be configured to receive location information including departure location information and destination information of a user terminal sent by the user terminal. The first sending unit may be configured to send at least one order that matches the location information to the user terminal. The first receiving unit may be further configured to receive an order acceptance to one order of the at least one order from the user terminal. The determination unit may be configured determine whether to allocate the order to the user terminal based on a screening model.
In yet another aspect of the present disclosure, an order allocation device is provided. The order allocation device may be applicable to a user terminal. The device may include a second sending unit, a second receiving unit, and a display unit. The second sending unit may be configured to send location information of the user terminal to  a server via an order selection page. The second receiving unit may be configured to receive at least one order that matches the location information of the user terminal sent by the server. The display unit may be configured to, if the at least one order is more than one, sequentially display the at least one order on an order list page based on a predetermined sequencing rule. Each of the at least one order may be displayed via an order card. The order card may include an order acceptance interface configured to perform an order acceptance operation for the order and to send the order acceptance to the server after performing the order acceptance operation.
In yet another aspect of the present disclosure, an order allocation system is provided. The order allocation system may include at least one storage device and at least one processor in communication with the at least one storage device. The at least one storage device may include a set of instructions. When executing the set of instructions, the at least one processor may be directed to receive location information including departure location information and destination information of a user terminal sent by the user terminal; send at least one order that matches the location information to the user terminal; receive an order acceptance to one order of the at least one order from the user terminal; and determine whether to allocate the order to the user terminal based on a screening model.
In yet another aspect of the present disclosure, an order allocation system is provided. The order allocation system may include at least one storage device and at least one processor in communication with the at least one storage device. The at least one storage device may include a set of instructions. When executing the set of instructions, the at least one processor may be directed to send location information of the user terminal to a server via an order selection page; receive at least one order that matches the location information of the user terminal sent by the server; and if the at least one order is more than one, sequentially display the at least one order on an order list page based on a predetermined sequencing rule. Each of the at least one order may be displayed via an order card. The order card may include an order acceptance interface  configured to perform an order acceptance operation for the order and to send the order acceptance to the server after performing the order acceptance operation.
In yet another aspect of the present disclosure, a non-transitory computer-readable storage medium embodying a computer program product is provided. The computer program product may include instructions configured to cause a computing device to receive location information including departure location information and destination information of a user terminal sent by the user terminal; send at least one order that matches the location information to the user terminal; receive an order acceptance to one order of the at least one order from the user terminal; and determine whether to allocate the order to the user terminal based on a screening model.
In yet another aspect of the present disclosure, a non-transitory computer-readable storage medium embodying a computer program product is provided. The computer program product may include instructions configured to cause a computing device to send location information of the user terminal to a server via an order selection page; receive at least one order that matches the location information of the user terminal sent by the server; and if the at least one order is more than one, sequentially display the at least one order on an order list page based on a predetermined sequencing rule. Each of the at least one order may be displayed via an order card. The order card may include an order acceptance interface configured to perform an order acceptance operation for the order, and to send the order acceptance to the server after performing the order acceptance operation.
In yet another aspect of the present disclosure, an order allocation method is provided. The order allocation method may be implemented on a computing device having at least one processor, at least one storage medium, and a communication platform connected to a network. The method may include obtaining a departure location of an order and a current location of a vehicle; determining a first route from the current location of the vehicle to the departure location of the order, and determining a direction adjustment location of the vehicle based on the first route, the direction adjustment location being  used for adjusting a driving direction of the vehicle; determining a first estimated duration driving from the current location to the direction adjustment location; in response to a determination that the first estimated duration is greater than or equal to a first predetermined duration, allocating the order to the vehicle; or in response to a determination that the first estimated duration is less than the first predetermined duration, determining an expected driving route of the vehicle, and determining whether to allocate the order to the vehicle based on the expected driving route of the vehicle.
In yet another aspect of the present disclosure, an order allocation system is provided. The method may include an obtaining unit and an allocation unit. The obtaining unit may be configured to obtain a departure location of an order and a current location of a vehicle. The obtaining unit may further be configured to determine a first route from the current location of the vehicle to the departure location of the order, and determine a direction adjustment location of the vehicle based on the first route. The direction adjustment location may be used for adjusting a driving direction of the vehicle. The allocation unit may be configured to in response to a determination that the first estimated duration is greater than or equal to a first predetermined duration, allocate the order to the vehicle. The allocation unit may also be configured to in response to a determination that the first estimated duration is less than the first predetermined duration, determine an expected driving route of the vehicle, and determine whether to allocate the order to the vehicle based on the expected driving route of the vehicle.
In yet another aspect of the present disclosure, an order allocation system is provided. The system may include at least one storage device, and at least one processor in communication with the at least one storage device. The at least one storage device may include a set of instructions. When executing the set of instructions, the at least one processor may be directed to obtain a departure location of an order and a current location of a vehicle; determine a first route from the current location of the vehicle to the departure location of the order, and determine a direction adjustment location of the vehicle based on the first route, the direction adjustment location being used for adjusting  a driving direction of the vehicle; in response to a determination that the first estimated duration is greater than or equal to a first predetermined duration, allocate the order to the vehicle; or in response to a determination that the first estimated duration is less than the first predetermined duration, determine an expected driving route of the vehicle, and determine whether to allocate the order to the vehicle based on the expected driving route of the vehicle.
In yet another aspect of the present disclosure, a non-transitory computer-readable storage medium embodying a computer program product is provided. The computer program product may include instructions configured to cause a computing device to obtain a departure location of an order and a current location of a vehicle; determine a first route from the current location of the vehicle to the departure location of the order, and determine a direction adjustment location of the vehicle based on the first route, the direction adjustment location being used for adjusting a driving direction of the vehicle; in response to a determination that the first estimated duration is greater than or equal to a first predetermined duration, allocate the order to the vehicle; or in response to a determination that the first estimated duration is less than the first predetermined duration, determine an expected driving route of the vehicle, and determine whether to allocate the order to the vehicle based on the expected driving route of the vehicle.
Additional features will be set forth in part in the description which follows, and in part will become apparent to those skilled in the art upon examination of the following and the accompanying drawings or may be learned by production or operation of the examples. The features of the present disclosure may be realized and attained by practice or use of various aspects of the methodologies, instrumentalities and combinations set forth in the detailed examples discussed below.
BRIEF DESCRIPTION OF THE DRAWINGS
The present disclosure is further described in terms of exemplary embodiments. These exemplary embodiments are described in detail with reference to the drawings. These embodiments are non-limiting exemplary embodiments, in which like reference  numerals represent similar structures throughout the several views of the drawings, and wherein:
FIG. 1 is a schematic diagram illustrating an exemplary online to offline (O2O) service system according to some embodiments of the present disclosure;
FIG. 2 is a schematic diagram illustrating exemplary hardware and software components of a computing device according to some embodiments of the present disclosure;
FIG. 3 is a schematic diagram illustrating exemplary hardware and/or software components of a mobile device on which a terminal may be implemented according to some embodiments of the present disclosure;
FIG. 4 is a flowchart illustrating an exemplary process for car-hailing order allocation according to some embodiments of the present disclosure;
FIG. 5 is a flowchart illustrating an exemplary process for car-hailing order allocation according to some embodiments of the present disclosure;
FIG. 6 is a block diagram illustrating an exemplary device for order allocation according to some embodiments of the present disclosure;
FIG. 7 is a block diagram illustrating an exemplary device for order allocation according to some embodiments of the present disclosure;
FIG. 8 is a flowchart illustrating an exemplary process for car-hailing order allocation according to some embodiments of the present disclosure;
FIG. 9 is a flowchart illustrating an exemplary process for car-hailing order allocation according to some embodiments of the present disclosure;
FIGs. 10A-10I are schematic diagrams illustrating an exemplary car-hailing service platform on a driver terminal according to some embodiments of the present disclosure;
FIG. 11 is a block diagram illustrating an exemplary server according to some embodiments of the present disclosure;
FIG. 12 is a block diagram illustrating an exemplary user terminal according to some embodiments of the present disclosure;
FIG. 13 is a flowchart illustrating an exemplary process for order allocation according to some embodiments of the present disclosure;
FIG. 14 is a flowchart illustrating an exemplary process for order allocation according to some embodiments of the present disclosure;
FIG. 15 is a block diagram illustrating an exemplary order allocation device 1500 according to some embodiments of the present disclosure;
FIG. 16 is a block diagram illustrating an exemplary allocation unit 1506 according to some embodiments of the present disclosure; and
FIG. 17 is a schematic block diagram of a computer device 1700 according to some embodiments of the present disclosure.
DETAILED DESCRIPTION
In the following detailed description, numerous specific details are set forth by way of examples in order to provide a thorough understanding of the relevant disclosure. However, it should be apparent to those skilled in the art that the present disclosure may be practiced without such details. In other instances, well-known methods, procedures, systems, components, and/or circuitry have been described at a relatively high-level, without detail, in order to avoid unnecessarily obscuring aspects of the present disclosure. Various modifications to the disclosed embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other embodiments and applications without departing from the spirit and scope of the present disclosure. Thus, the present disclosure is not limited to the embodiments shown, but to be accorded the widest scope consistent with the claims.
The terminology used herein is for the purpose of describing particular example embodiments only and is not intended to be limiting. As used herein, the singular forms “a, ” “an, ” and “the” may be intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprise, ” “comprises, ” and/or “comprising, ” “include, ” “includes, ” and/or “including, ” when used in this specification, specify the presence of stated features, integers, steps, operations,  elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
It will be understood that the term “system, ” “engine, ” “unit, ” “module, ” and/or “block” used herein are one method to distinguish different components, elements, parts, section or assembly of different level in ascending order. However, the terms may be displaced by another expression if they achieve the same purpose.
Generally, the word “module, ” “unit, ” or “block, ” as used herein, refers to logic embodied in hardware or firmware, or to a collection of software instructions. A module, a unit, or a block described herein may be implemented as software and/or hardware and may be stored in any type of non-transitory computer-readable medium or other storage device. In some embodiments, a software module/unit/block may be compiled and linked into an executable program. It will be appreciated that software modules can be callable from other modules/units/blocks or from themselves, and/or may be invoked in response to detected events or interrupts. Software modules/units/blocks configured for execution on computing devices may be provided on a computer-readable medium, such as a compact disc, a digital video disc, a flash drive, a magnetic disc, or any other tangible medium, or as a digital download (and can be originally stored in a compressed or installable format that needs installation, decompression, or decryption prior to execution) . Such software code may be stored, partially or fully, on a storage device of the executing computing device, for execution by the computing device. Software instructions may be embedded in a firmware, such as an erasable programmable read-only memory (EPROM) . It will be further appreciated that hardware modules/units/blocks may be included in connected logic components, such as gates and flip-flops, and/or can be included of programmable units, such as programmable gate arrays or processors. The modules/units/blocks or computing device functionality described herein may be implemented as software modules/units/blocks, but may be represented in hardware or firmware. In general, the modules/units/blocks described herein refer to logical modules/units/blocks that may be combined with other modules/units/blocks or divided into sub-modules/sub-units/sub- blocks despite their physical organization or storage. The description may be applicable to a system, an engine, or a portion thereof.
It will be understood that when a unit, engine, module or block is referred to as being “on, ” “connected to, ” or “coupled to, ” another unit, engine, module, or block, it may be directly on, connected or coupled to, or communicate with the other unit, engine, module, or block, or an intervening unit, engine, module, or block may be present, unless the context clearly indicates otherwise. As used herein, the term “and/or” includes any and all combinations of one or more of the associated listed items.
These and other features, and characteristics of the present disclosure, as well as the methods of operation and functions of the related elements of structure and the combination of parts and economies of manufacture, may become more apparent upon consideration of the following description with reference to the accompanying drawings, all of which form a part of this disclosure. It is to be expressly understood, however, that the drawings are for the purpose of illustration and description only and are not intended to limit the scope of the present disclosure. It is understood that the drawings are not to scale.
The flowcharts used in the present disclosure illustrate operations that systems implement according to some embodiments in the present disclosure. It is to be expressly understood, the operations of the flowchart may be implemented not in order. Conversely, the operations may be implemented in inverted order, or simultaneously. Moreover, one or more other operations may be added to the flowcharts. One or more operations may be removed from the flowcharts.
Embodiments of the present disclosure may be applied to different transportation systems including but not limited to land transportation, sea transportation, air transportation, space transportation, or the like, or any combination thereof. A vehicle of the transportation systems may include a rickshaw, travel tool, taxi, chauffeured car, hitch, bus, rail transportation (e.g., a train, a bullet train, high-speed rail, and subway) , ship, airplane, spaceship, hot-air balloon, driverless vehicle, or the like, or any combination  thereof. The transportation system may also include any transportation system that applies management and/or distribution, for example, a system for sending and/or receiving an express.
The application scenarios of different embodiments of the present disclosure may include but not limited to one or more webpages, browser plugins and/or extensions, client terminals, custom systems, intracompany analysis systems, artificial intelligence robots, or the like, or any combination thereof. It should be understood that application scenarios of the system and method disclosed herein are only some examples or embodiments. Those having ordinary skills in the art, without further creative efforts, may apply these drawings to other application scenarios. For example, other similar server.
The term “passenger, ” “requester, ” “requestor, ” “service requester, ” “service requestor” and “customer” in the present disclosure are used interchangeably to refer to an individual, an entity or a tool that may request or order a service. Also, the term “driver, ” “provider, ” “service provider, ” and “supplier” in the present disclosure are used interchangeably to refer to an individual, an entity or a tool that may provide a service or facilitate the providing of the service. The term “user” in the present disclosure may refer to an individual, an entity or a tool that may request a service, order a service, provide a service, or facilitate the providing of the service. For example, the user may be a requester, a passenger, a driver, an operator, or the like, or any combination thereof. In the present disclosure, “requester” and “requester terminal” may be used interchangeably, and “provider” and “provider terminal” may be used interchangeably.
The term “request, ” “service, ” “service request, ” and “order” in the present disclosure are used interchangeably to refer to a request that may be initiated by a passenger, a requester, a service requester, a customer, a driver, a provider, a service provider, a supplier, or the like, or any combination thereof. The service request may be accepted by any one of a passenger, a requester, a service requester, a customer, a driver, a provider, a service provider, or a supplier. The service request may be chargeable or free.
An aspect of the present disclosure provides devices and methods for order allocation. The devices and methods may receive location information including departure location information and destination information of a user terminal (e.g., a driver terminal) sent by the user terminal. The devices and methods may send at least one order that matches the location information to the user terminal, and receive an order acceptance to one order of the at least one order from the user terminal. The devices and methods may further determine whether to allocate the order to the user terminal based on a screening model.
Another aspect of the present disclosure provides devices and methods order allocation. The devices and methods may obtain a departure location of an order and a current location of a vehicle. The devices and methods may determine a first route from the current location of the vehicle to the departure location of the order, and determine a direction adjustment location of the vehicle based on the first route. The direction adjustment location may be used for adjusting a driving direction of the vehicle. The devices and methods may determine a first estimated duration driving from the current location to the direction adjustment location. In response to a determination that the first estimated duration is greater than or equal to a first predetermined duration, the devices and methods may allocate the order to the vehicle. Alternatively, in response to a determination that the first estimated duration is less than the first predetermined duration, the devices and methods may determine an expected driving route of the vehicle, and determine whether to allocate the order to the vehicle based on the expected driving route of the vehicle
FIG. 1 is a block diagram illustrating an exemplary O2O service system 100 according to some embodiments of the present disclosure. For example, the O2O service system 100 may be an online transportation service platform for transportation services. The O2O service system 100 may include a server 110, a network 120, a requester terminal 130, a provider terminal 140, a vehicle 150, a storage device 160, and a navigation system 170.
The O2O service system 100 may provide a plurality of services. Exemplary service may include a taxi-hailing service, a chauffeur service, an express car service, a carpool service, a bus service, a driver hire service, and a shuttle service. In some embodiments, the O2O service may be any online service, such as booking a meal, shopping, or the like, or any combination thereof.
In some embodiments, the server 110 may be a single server or a server group. The server group may be centralized, or distributed (e.g., the server 110 may be a distributed system) . In some embodiments, the server 110 may be local or remote. For example, the server 110 may access information and/or data stored in the requester terminal 130, the provider terminal 140, and/or the storage device 160 via the network 120. As another example, the server 110 may be directly connected to the requester terminal 130, the provider terminal 140, and/or the storage device 160 to access stored information and/or data. In some embodiments, the server 110 may be implemented on a cloud platform. Merely by way of example, the cloud platform may include a private cloud, a public cloud, a hybrid cloud, a community cloud, a distributed cloud, an inter-cloud, a multi-cloud, or the like, or any combination thereof. In some embodiments, the server 110 may be implemented on a computing device 200 having one or more components illustrated in FIG. 2 in the present disclosure.
In some embodiments, the server 110 may include a processing device 112. The processing device 112 may process information and/or data relating to a request to perform one or more functions described in the present disclosure. In some embodiments, the processing device 112 may include one or more processing engines (e.g., single-core processing engine (s) or multi-core processor (s) ) . Merely by way of example, the processing device 112 may include a central processing unit (CPU) , an application-specific integrated circuit (ASIC) , an application-specific instruction-set processor (ASIP) , a graphics processing unit (GPU) , a physics processing unit (PPU) , a digital signal processor (DSP) , a field-programmable gate array (FPGA) , a programmable  logic device (PLD) , a controller, a microcontroller unit, a reduced instruction-set computer (RISC) , a microprocessor, or the like, or any combination thereof.
The network 120 may facilitate exchange of information and/or data. In some embodiments, the network 120 may facilitate communication in the O2O service system 100. One or more components of the O2O service system 100 (e.g., the server 110, the requester terminal 130, the provider terminal 140, the vehicle 150, the storage device 160, and the navigation system 170) may transmit information and/or data to other component (s) of the O2O service system 100 via the network 120. For example, the server 110 may receive a service request from the requester terminal 130 via the network 120. In some embodiments, the network 120 may be any type of wired or wireless network, or combination thereof. Merely by way of example, the network 120 may include a cable network, a wireline network, an optical fiber network, a telecommunications network, an intranet, an Internet, a local area network (LAN) , a wide area network (WAN) , a wireless local area network (WLAN) , a metropolitan area network (MAN) , a wide area network (WAN) , a public telephone switched network (PSTN) , a Bluetooth network, a ZigBee network, a near field communication (NFC) network, or the like, or any combination thereof. In some embodiments, the network 120 may include one or more network access points. For example, the network 120 may include wired or wireless network access points such as base stations and/or internet exchange points 120-1, 120-2, through which one or more components of the O2O service system 100 may be connected to the network 120 to exchange data and/or information.
In some embodiments, a passenger may be an owner of the requester terminal 130. In some embodiments, the owner of the requester terminal 130 may be someone other than the passenger. For example, an owner A of the requester terminal 130 may use the requester terminal 130 to transmit a service request for a passenger B or receive a service confirmation and/or information or instructions from the server 110. In some embodiments, a service provider may be a user of the provider terminal 140. In some embodiments, the user of the provider terminal 140 may be someone other than the  service provider. For example, a user C of the provider terminal 140 may use the provider terminal 140 to receive a service request for a service provider D, and/or information or instructions from the server 110. In some embodiments, "passenger" and "passenger terminal" may be used interchangeably, and "service provider" and "provider terminal" may be used interchangeably. In some embodiments, the provider terminal may be associated with one or more service providers (e.g., a night-shift service provider, or a day-shift service provider) .
In some embodiments, the requester terminal 130 may include a mobile device 130-1, a tablet computer 130-2, a laptop computer 130-3, a built-in device in a vehicle 130-4, or the like, or any combination thereof. In some embodiments, the mobile device 130-1 may include a smart home device, a wearable device, a smart mobile device, a virtual reality device, an augmented reality device, or the like, or any combination thereof. In some embodiments, the smart home device may include a smart lighting device, a control device of an intelligent electrical apparatus, a smart monitoring device, a smart television, a smart video camera, an interphone, or the like, or any combination thereof. In some embodiments, the wearable device may include a smart bracelet, a smart footgear, smart glasses, a smart helmet, a smart watch, smart clothing, a smart backpack, a smart accessory, or the like, or any combination thereof. In some embodiments, the smart mobile device may include a smartphone, a personal digital assistance (PDA) , a gaming device, a navigation device, a point of sale (POS) device, or the like, or any combination thereof. In some embodiments, the virtual reality device and/or the augmented reality device may include a virtual reality helmet, virtual reality glasses, a virtual reality patch, an augmented reality helmet, augmented reality glasses, an augmented reality patch, or the like, or any combination thereof. For example, the virtual reality device and/or the augmented reality device may include Google TM Glasses, an Oculus Rift, a HoloLens, a Gear VR, etc. In some embodiments, the built-in device in the vehicle 130-4 may include an onboard computer, an onboard television, etc. In some embodiments, the requester  terminal 130 may be a device with positioning technology for locating the position of the passenger and/or the requester terminal 130.
The provider terminal 140 may include a plurality of provider terminals 140-1, 140-2, …, 140-n. In some embodiments, the provider terminal 140 may be similar to, or the same device as the requester terminal 130. In some embodiments, the provider terminal 140 may be customized to be able to implement the O2O service 100. In some embodiments, the provider terminal 140 may be a device with positioning technology for locating the service provider, the provider terminal 140, and/or a vehicle 150 associated with the provider terminal 140. In some embodiments, the requester terminal 130 and/or the provider terminal 140 may communicate with another positioning device to determine the position of the passenger, the requester terminal 130, the service provider, and/or the provider terminal 140. In some embodiments, the requester terminal 130 and/or the provider terminal 140 may periodically transmit the positioning information to the server 110. In some embodiments, the provider terminal 140 may also periodically transmit the availability status to the server 110. The availability status may indicate whether a vehicle 150 associated with the provider terminal 140 is available to carry a passenger. For example, the requester terminal 130 and/or the provider terminal 140 may transmit the positioning information and the availability status to the server 110 every thirty minutes. As another example, the requester terminal 130 and/or the provider terminal 140 may transmit the positioning information and the availability status to the server 110 each time the user logs into the mobile application associated with the O2O transportation service 100.
In some embodiments, the provider terminal 140 may include a processing device similar to or the same as the processing device 112. In some embodiments, the provider terminal 140 may correspond to one or more vehicles 150. The vehicles 150 may carry the passenger and travel to the destination. The vehicles 150 may include a plurality of vehicles 150-1, 150-2, …, 150-n. One vehicle may correspond to one type of services  (e.g., a taxi-hailing service, a chauffeur service, an express car service, a carpool service, a bus service, a driver hire service, or a shuttle service) .
The storage device 160 may store data and/or instructions. In some embodiments, the storage device 160 may store data obtained from the requester terminal 130 and/or the provider terminal 140. In some embodiments, the storage device 160 may store data and/or instructions that the server 110 may execute or use to perform exemplary methods described in the present disclosure. In some embodiments, the storage device 160 may include a mass storage, removable storage, a volatile read-and-write memory, a read-only memory (ROM) , or the like, or any combination thereof. Exemplary mass storage may include a magnetic disk, an optical disk, solid-state drives, etc. Exemplary removable storage may include a flash drive, a floppy disk, an optical disk, a memory card, a zip disk, a magnetic tape, etc. Exemplary volatile read-and-write memory may include a random-access memory (RAM) . Exemplary RAM may include a dynamic RAM (DRAM) , a double date rate synchronous dynamic RAM (DDR SDRAM) , a static RAM (SRAM) , a thyristor RAM (T-RAM) , and a zero-capacitor RAM (Z-RAM) , etc. Exemplary ROM may include a mask ROM (MROM) , a programmable ROM (PROM) , an erasable programmable ROM (EPROM) , an electrically-erasable programmable ROM (EEPROM) , a compact disk ROM (CD-ROM) , and a digital versatile disk ROM, etc. In some embodiments, the storage device 160 may be implemented on a cloud platform. Merely by way of example, the cloud platform may include a private cloud, a public cloud, a hybrid cloud, a community cloud, a distributed cloud, an inter-cloud, a multi-cloud, or the like, or any combination thereof.
In some embodiments, the storage device 160 may be connected to the network 120 to communicate with one or more components of the O2O service system 100 (e.g., the server 110, the requester terminal 130, or the provider terminal 140) . One or more components of the O2O service system 100 may access the data or instructions stored in the storage device 160 via the network 120. In some embodiments, the storage device 160 may be directly connected to or communicate with one or more components of the  O2O service system 100 (e.g., the server 110, the requester terminal 130, the provider terminal 140) . In some embodiments, the storage device 160 may be part of the server 110.
The navigation system 170 may determine information associated with an object, for example, one or more of the requester terminal 130, the provider terminal 140, the vehicle 150, etc. In some embodiments, the navigation system 170 may be a global positioning system (GPS) , a global navigation satellite system (GLONASS) , a compass navigation system (COMPASS) , a BeiDou navigation satellite system, a Galileo positioning system, a quasi-zenith satellite system (QZSS) , etc. The information may include a location, an elevation, a velocity, or an acceleration of the object, or a current time. The navigation system 170 may include one or more satellites, for example, a satellite 170-1, a satellite 170-2, and a satellite 170-3. The satellites 170-1 through 170-3 may determine the information mentioned above independently or jointly. The satellite navigation system 170 may transmit the information mentioned above to the network 120, the requester terminal 130, the provider terminal 140, or the vehicle 150 via wireless connections.
In some embodiments, one or more components of the O2O service system 100 (e.g., the server 110, the requester terminal 130, the provider terminal 140) may have permissions to access the storage device 160. In some embodiments, one or more components of the O2O service system 100 may read and/or modify information related to the passenger, service provider, and/or the public when one or more conditions are met. For example, the server 110 may read and/or modify one or more passengers’ information after a service is completed. As another example, the server 110 may read and/or modify one or more service providers’ information after a service is completed.
One of ordinary skill in the art would understand that when an element (or component) of the O2O service system 100 performs, the element may perform through electrical signals and/or electromagnetic signals. For example, when a requester terminal 130 transmits out a service request to the server 110, a processor of the requester terminal 130 may generate an electrical signal encoding the request. The processor of  the requester terminal 130 may then transmit the electrical signal to an output port. If the requester terminal 130 communicates with the server 110 via a wired network, the output port may be physically connected to a cable, which further may transmit the electrical signal to an input port of the server 110. If the requester terminal 130 communicates with the server 110 via a wireless network, the output port of the requester terminal 130 may be one or more antennas, which convert the electrical signal to electromagnetic signal. Similarly, a provider terminal 130 may receive an instruction and/or service request from the server 110 via electrical signal or electromagnet signals. Within an electronic device, such as the requester terminal 130, the provider terminal 140, and/or the server 110, when a processor thereof processes an instruction, transmits out an instruction, and/or performs an action, the instruction and/or action is conducted via electrical signals. For example, when the processor retrieves or saves data from a storage medium, it may transmit out electrical signals to a read/write device of the storage medium, which may read or write structured data in the storage medium. The structured data may be transmitted to the processor in the form of electrical signals via a bus of the electronic device. Here, an electrical signal may refer to one electrical signal, a series of electrical signals, and/or a plurality of discrete electrical signals.
FIG. 2 illustrates a schematic diagram of an exemplary computing device according to some embodiments of the present disclosure. The computing device may be a computer, such as the server 110 in FIG. 1 and/or a computer with specific functions, configured to implement any particular system according to some embodiments of the present disclosure. Computing device 200 may be configured to implement any components that perform one or more functions disclosed in the present disclosure. For example, the server 110 may be implemented in hardware devices, software programs, firmware, or any combination thereof of a computer like computing device 200. For brevity, FIG. 2 depicts only one computing device. In some embodiments, the functions of the computing device, providing function that recommending pick-up locations may  require, may be implemented by a group of similar platforms in a distributed mode to disperse the processing load of the system.
Computing device 200 may include a communication terminal 250 that may connect with a network that may implement the data communication. Computing device 200 may also include a processor 220 that is configured to execute instructions and includes one or more processors. The schematic computer platform may include an internal communication bus 210, different types of program storage units and data storage units (e.g., a hard disk 270, a read-only memory (ROM) 230, a random-access memory (RAM) 240) , various data files applicable to computer processing and/or communication, and some program instructions executed possibly by the processor 220. Computing device 200 may also include an I/O device 260 that may support the input and output of data flows between computing device 200 and other components. Moreover, computing device 200 may receive programs and data via the communication network.
FIG. 3 is a schematic diagram illustrating exemplary hardware and/or software components of an exemplary mobile device on which a terminal may be implemented according to some embodiments of the present disclosure. As illustrated in FIG. 3, the mobile device 300 may include a communication platform 310, a display 320, a graphic processing unit (GPU) 330, a central processing unit (CPU) 340, an I/O 350, a memory 360, a mobile operating system (OS) 370, a storage 390. In some embodiments, any other suitable component, including but not limited to a system bus or a controller (not shown) , may also be included in the mobile device 300.
In some embodiments, a mobile operating system 370 (e.g., iOS TM, Android TM, Windows Phone TM, etc. ) and one or more applications 380 may be loaded into the memory 360 from the storage 390 in order to be executed by the CPU 340. The applications 380 may include a browser or any other suitable mobile apps for receiving and rendering information relating to image processing or other information from the O2O service system 100. User interactions with the information stream may be achieved via the I/O 350 and provided to the database 130, the server 105 and/or other components of the O2O service  system 100. In some embodiments, the mobile device 300 may be an exemplary embodiment corresponding to the requester terminal 130 or the provider terminal 140.
To implement various modules, units, and their functionalities described in the present disclosure, computer hardware platforms may be used as the hardware platform (s) for one or more of the elements described herein. A computer with user interface elements may be used to implement a personal computer (PC) or any other type of work station or terminal device. A computer may also act as a system if appropriately programmed.
FIG. 4 is a flowchart illustrating an exemplary process for car-hailing order allocation according to some embodiments of the present disclosure. In some embodiments, one or more operations of process 400 may be implemented on the O2O service system 100 as illustrated in FIG. 1, or the computing device 200 as illustrated in FIG. 2, or the mobile device 300 as illustrated in FIG. 3. For example, one or more operations in the process 400 may be stored in the storage device 150 and/or the storage (e.g., the ROM 230, the RAM 240, etc. ) as a form of instructions, and invoked and/or executed by the server 110 (e.g., the processing device 112 in the server 110, or the processor 220 of the processing device 112 in the server 110, or one or more units as illustrated in FIG. 6) . In some embodiments, the instructions may be transmitted in a form of electronic current or electrical signals.
As shown in FIG. 4, the process 400 for car-hailing order allocation according to some embodiments of the present disclosure may include: operation 402, receiving location information sent by a driver terminal (e.g., the provider terminal 140, also referred to as a user terminal) , wherein the location information includes departure location information and destination information of the driver terminal; operation 404, sending order details of at least one car-hailing order (also referred to as “order” for briefly) that matches the location information to the driver terminal; operation 406, receiving an order acceptance to one car-hailing order of the at least one car-hailing order from the driver terminal; and operation 408, determining whether to allocate the car-hailing order to the  driver terminal based on a screening model. In some embodiments, one or more operations of the process 400 may be described in detail below. For illustration purpose only, the processing device 112 may be described as a subject to perform the process 400.
In 402, the processing device 112 (e.g., a first receiving unit 602) may receive location information sent by a driver terminal (also referred to as a user terminal) . The driver terminal may include a driver terminal providing hitchhike services, a driver terminal providing express car service, a driver terminal providing taxi services, a driver terminal providing carpool services, or the like. The processing device 112 may receive the location information from the driver terminal via the network 120. In some embodiments, the location information may include departure location information of the driver terminal, destination information of the driver terminal, or the like. In some embodiments, the departure location information and/or the destination information may be represented by coordinates (e.g., latitude-longitude coordinates) . Alternatively, the departure location information and/or the destination information may be represented by a name of a community (e.g., a home address of a user) , a name of a company (e.g., a work address of the user) , a name of a market, a name of a hospital, a name of a bus station, a name of a metro station, a name of a train station, a name of a hotel, a name of food plaza, a name of a scenic area, a name of a street, or the like. In some embodiments, the departure location information and/or the destination information may be inputted, by a user (e.g., a driver) , via a character input device (e.g., a keyboard, a touch screen) of the driver terminal or a microphone of the driver terminal. In some embodiments, the departure location information may be a current location of the driver terminal, which may be automatically determined by GPS installed in the driver terminal.
In 404, the processing device 112 (e.g., the first sending unit 604) may send at least one car-hailing order (also referred to as “order” for briefly) that matches the location information to the driver terminal. Specifically, the processing device 112 may send order details of the at least one car-hailing order that matches the location information to the driver terminal. The order details of an order (or a car-hailing order) may include a  departure location of the order, a destination of the order, an order departure time, a travel distance of the order, a number of passengers, an estimated price of the order, or the like, or any combination thereof. In some embodiments, an order pool may include a plurality of orders (or car-hailing orders) . The plurality of car-hailing orders may include real-time orders, reserved orders, local orders, city-to-city orders, hitchhike orders, express car orders, taxi orders, carpool orders, or the like.
In some embodiments, the processing device 112 (e.g., the generation unit 608) may determine a matching reference based on the departure location information and the destination information. For example, the processing device 112 may determine the matching reference based on a driver route formed by the departure location information and the destination information of the driver terminal. For an order (i.e., a car-hailing order) in the order pool, the processing device 112 (e.g., the calculation unit 610) may determine a matching degree between the order and the matching reference. In some embodiments, the matching degree may be related to a similarity between the driver route and an order route formed by a departure location and a destination of the order. The higher the similarity is, the higher the matching degree is. The similarity between the driver route and the order route may be measured by an overlapping ratio between the driver route and the order route, a direction angle between the driver route and the order route, etc. For example, if the overlapping ratio is greater than or equal to 30%, and the direction angle is within 30°, the processing device 112 may determine that the similarity between the driver route and the order route satisfies a predetermined similarity threshold, and the processing device 112 may send the order to the driver terminal.
Alternatively or additionally, to determine the matching degree between the order and the driver terminal, the processing device 112 may determine whether a distance between the departure location of the order and the departure location information of the driver terminal is less than a first predetermined distance threshold. The first predetermined distance threshold may be a default value or an empirical value related to the O2O service system 100. In response to a determination that the distance between  the departure location of the order and the departure location information of the driver terminal is greater than the first predetermined distance threshold, the processing device 112 may determine that the order does not match the driver terminal, and may not send the order to the driver terminal. Alternatively, in response to a determination that the distance between the departure location of the order and the departure location information of the driver terminal is less than or equal to the first predetermined distance threshold, the processing device 112 may further determine the matching degree between the order and the matching reference based on a plurality of first parameters and a correspondent weight thereof. In some embodiments, the plurality of first parameters may include a distance between the departure location and a destination of the order, a detour ratio, a carpool ratio, or the like, or any combination thereof. The processing device 112 may determine the detour ratio based on the driver route and the order route. The detour ratio may relate to the overlapping ratio between the driver route and the order route, a direction angle between the driver route and the order route, a distance between the departure location of the order and the departure location information of the driver terminal, a distance between the destination of the order and the departure location information of the driver terminal, etc. In some embodiments, the detour ratio may be represented by a percentage, such as 10%, 15%, 40%, 55%, etc. The carpool ratio may be related to the number of passengers carried by the driver of the driver terminal, the destination of the passengers, the routes of the passengers, etc. The processing device 112 may determine the matching degree between the order and the matching reference of the driver terminal based on the distance between the departure location and the destination of the order, the detour ratio, the carpool ratio, and the correspondent weight thereof.
In some embodiments, the processing device 112 may determine whether the matching degree of the order is greater than or equal to a predetermined matching threhosld. In response to a determination that the matching degree of the order is greater than or equal to the predetermined matching threshold, the processing device 112 may  designate the order as one of the at least order (or car-hailing order) , and send the order (specifically order details of the order) to the driver terminal. Alternatively, in response to a determination that the matching degree of the order is less than the predetermined matching threshold, the processing device 112 may not send the order to the driver terminal. The processing device 112 may determine another driver terminal that matches the orders according to the operation described in the present disclosure. In some embodiments, the processing device 112 may match the order to multiple driver terminals, and the processing device 112 may send the order to the multiple matched driver terminals.
In some embodiments, the predetermined matching threshold may be a default value or an empirical value related to the O2O service system 100. In some embodiments, the predetermined matching threshold may be manually set or adjusted by a user (e.g., a driver of the driver terminal) . The predetermined matching threshold may be represented by a percentage. The higher the value of the predetermined matching threshold is, the less the number of orders that match the driver terminal is. In some embodiments, if there are plentiful orders in the order pool, the predetermined matching threshold may be given a larger value, while if the orders in the order pool are short, the predetermined matching threshold may be given a smaller value. In this case, it can ensure that a suitable number of orders are sent to the driver terminal, or at least one order is sent to the driver terminal.
In some embodiments, the location information of the driver terminal may include a current location of the driver terminal. The order pool may include one or more real-time orders (or real-time car-hailing orders) and one or more reserved orders (or reserved car-hailing orders) . For a real-time order, the processing device 112 may determine a distance between a departure location of the real-time order and the current location of the driver terminal. If the distance between the departure location of the real-time order and the current location of the driver terminal is less than or equal to a second predetermined distance threshold, the processing device 112 may send the real-time order to the driver  terminal. For a reserved order, the processing device may determine a distance between a departure location of the reserved order and the current location of the driver terminal is less than or equal to a third predetermined distance threshold, the processing device 112 may send the reserved order to the driver terminal. In this case, the matching degree may only be related to the current location of the driver terminal and the departure location of the order (e.g., a real-time order, a reserved order) . Therefore, the driver terminal may receive multiple orders. In some embodiments, the second predetermined distance threshold and/or the third predetermined distance threshold may be a default value or an empirical value related to the O2O service system 100. In some embodiments, the second predetermined distance threshold may be less than or equal to the third predetermined distance threshold. In some embodiments, the second predetermined distance threshold may be equal to the first predetermined distance threshold.
In 406, the processing device 112 (e.g., the first receiving unit 606) may receive an order acceptance to one order (or car-hailing order) of the at least one order (or car-hailing orders) from the driver terminal. After the driver terminal receives an order and order details of the order, if the driver of the driver terminal wants to accept the order, the driver may initiate an order acceptance operation for the order on an order selection page of the driver terminal. The processing device 112 may receive the order acceptance from the driver terminal. In some embodiments, the processing device 112 may receive more than one order acceptance from different driver terminals for the order within a predetermined time period (e.g., 30 seconds, 1 minutes, 2 minutes, 5 minutes) .
In 408, the processing device 112 (e.g., the determination unit 608) may determine whether to allocate the order (e.g., the car-hailing order) to the driver terminal based on a screening model. In some embodiments, in the predetermined time period, if the order is accepted by a plurality of driver terminals, the processing device 112 may determine to allocate the order to which driver terminal of the plurality of driver terminals. In some embodiments, the processing device 112 may preliminarily screen out a portion of the driver terminals, and then determine a target driver terminal from the screened driver  terminals. After the preliminarily screening, the processing device 112 may determine the target driver terminal among a lesser number of driver terminals, which may reduce the computing load and improve the processing efficiency. Merely by way of example, the processing device 112 may determine at least two authorized driver terminals among the plurality of driver terminals based on the screening model. In some embodiments, the processing device 112 may determine the at least two authorized driver terminals based on a response time to the order, a route between the current location of the driver terminal and the departure location of the order, traffic conditions corresponding to the route, or the like. For example, the driver terminals quickly responding to the order may be determined as the authorized driver terminals. As another example, the driver terminals with good traffic conditions may be determined as the authorized driver terminals. The processing device 112 may determine a target driver terminal from the at least two authorized driver terminals based on the screening model and a plurality of second parameters. In some embodiments, the screening model may be a machine leaning model. The machine learning model may include but is not limited to a Logistic Regression (LR) , a Gradient Booting Decision Tree (GBDT) , a Support Vector Machine (SVM) , a neural network model, or the like. In some embodiments, the plurality of second parameters may include the matching degree between the order and a driver terminal, geographical location information, historical driving information of a driver terminal, historical evaluation for a driver of a driver terminal, historical transaction rate, probability of accepting other orders, or the like, or any combination thereof. The processing device 112 may input information of two authorized driver terminals into the screening model. The screening model may be used to compare (also referred to as “PK” ) the two authorized driver terminals based on the plurality of second parameters and its corresponding weight, and output the target driver terminal that is eligible to be allocated the order. The processing device 112 may allocate the order to the target driver terminal.
The present disclosure provides an order allocation process considering driver’s preference for orders, which may improve the response rate and transaction rate of orders,  further accelerating the order allocation efficiency and the processing speed of orders, and saving system resources. In the present disclosure, the processing device 112 may determine at least one car-hailing order in the order pool that matches the location information of the driver terminal, and send the order details of the at least one car-hailing order to the driver terminal. Besides, when an order is accepted by more than one driver terminal, the processing device 112 may determine a target driver terminal based on a screening model. The present disclosure may help to improve the transport capacity, increase the transaction rate of orders, and improve the user experience (e.g., passenger’s experience, driver’s experience) .
It should be noted that the above description regarding the process 400 is merely provided for the purposes of illustration, and not intended to limit the scope of the present disclosure. For persons having ordinary skills in the art, multiple variations and modifications may be made under the teachings of the present disclosure. However, those variations and modifications do not depart from the scope of the present disclosure. In some embodiments, in the predetermined time period, if the order is accepted by only one driver terminal, the processing device 112 may allocate the order to the driver terminal.
FIG. 5 is a flowchart illustrating an exemplary process for car-hailing order allocation according to some embodiments of the present disclosure. In some embodiments, one or more operations of process 500 may be implemented on the O2O service system 100 as illustrated in FIG. 1, or the computing device 200 as illustrated in FIG. 2, or the mobile device 300 as illustrated in FIG. 3. For example, one or more operations in the process 500 may be stored in the storage device 150 and/or the storage (e.g., the ROM 230, the RAM 240, etc. ) as a form of instructions, and invoked and/or executed by the processing device 112, or the processor 220 of the processing device 112, or one or more units as illustrated in FIG. 7) . In some embodiments, the instructions may be transmitted in a form of electronic current or electrical signals.
In 502, the processing device 112 (e.g., the second sending unit 702) may send location information of a driver terminal (also referred to as a user terminal) to a server via an order selection page. The processing device 112 (e.g., the second receiving unit 706) may receive at least car-hailing order (also referred to as order) that matches the location information sent by the server. For example, the processing device 112 may receive order details of the at least one car-hailing order that matches the location information sent by the server.
In some embodiments, an O2O service (e.g., car-hailing service) platform of the driver terminal may have a home page, which includes an order selection interface. The home page may be switched to the order selection page via the order selection interface. In some embodiments, the order selection page may include a location interface (including a departure location input box and a destination input box) . The processing device 112 may detect departure location information and destination information of the driver terminal received via the location interface. In some embodiments, the order selection page may further include an order search button. When receiving a touch/click operation for the order search button, the processing device 112 may send the departure location information and the destination information of the driver terminal to the server, and receive one or more orders (e.g., order details of the one or more orders) that matches the departure location information and the destination information of the driver terminal sent by the server. The one or more orders that matches the driver terminal may refer to that the matching degree between the order (s) and the driver terminal is greater than or equal to the predetermined matching threshold. More descriptions regarding the determination of the matching degree between the order (s) and the driver terminal may be found elsewhere in the present disclosure (e.g., operations 404 of process 400 and the relevant descriptions thereof) .
In 504, if the at least one order is more than one, the processing device 112 (e.g., the display unit 704) may sequentially display the at least one car-hailing order (e.g., the order details of the at least one car-hailing order) on an order list page based on a  predetermined sequencing rule. Each of the order (or the at least one car-hailing order) may be displayed via an order card. The order card may include an order acceptance interface configured to perform an order acceptance operation for the order (or the car-hailing order) , and to send the order acceptance to the server after performing the order acceptance operation.
In some embodiments, the order card of an order may include an order departure time, the matching degree of the order, a travel distance of the order, a departure location of the order, a distance between the departure location of the order and the departure location information, a destination of the order, a distance between the destination of the order and the destination information, or the like, or any combination thereof.
In some embodiments, the at least one order (or car-hailing order) may include a plurality of real-time orders and a plurality of reserved orders. The processing device 112 (e.g., the sequencing unit 708) may sequence the plurality of real-time orders in front of the plurality of reserved orders. In this case, sequencing the real-time orders before the reserved orders may facilitate the driver of the driver terminal to request the real-time orders timely. The processing device 112 (e.g., the sequencing unit 708) may sequence the plurality of real-time orders based on estimated times of the plurality of real-time orders and/or matching degrees of the plurality of real-time orders. For example, the processing device 112 may sequence the plurality of real-time orders based on the estimated times of the plurality of real-time orders in an ascending order, e.g., real-time orders with shorter estimated times lying in front and real-time orders with longer estimated times lying in the back. As another example, the processing device 112 may sequence the plurality of real-time orders based on the matching degrees of the plurality of real-time orders in a descending order, e.g., real-time orders with higher matching degrees lying in front and real-time orders with lower matching degrees lying in the back. As a further example, the processing device 112 may sequence the plurality of real-time orders based on the estimated times of the plurality of real-time orders, the matching degrees of the plurality of real-time orders, and the corresponding weight thereof. The processing device 112 (e.g.,  the sequencing unit 708) may sequence the plurality of reserved orders based on estimated times of the plurality of reserved orders and/or matching degrees of the plurality of reserved orders. The processing device 112 may sequence the plurality of reserved orders in a similar manner with the plurality of real-time orders, and the descriptions thereof are not repeated. The processing device 112 (e.g., the display unit 704) may display the sequenced real-time orders and reserved orders on the order list page.
In some embodiments, the processing device 112 may detect a current location of the driver terminal via the location interface. The current location of the driver terminal may be automatically obtained by GPS installed in the driver terminal. The processing device 112 may send the current location of the driver terminal to the server, and receive one or more close-to-the current -location orders that matches the current location of the user terminal sent by the server.
In some embodiments, the order selection page may include a preview area (e.g., the order display area 1006 as shown in FIG. 12B) for the one or more close-to-the current -location orders. If the one or more close-to-the current -location orders are more than one, the processing device 112 may display a predetermined portion of the one or more close-to-the current -location orders on the preview area. The preview area may include a checking interface (e.g., the “check all hitchhike orders” button as shown in FIG. 12B) configured to display all the one or more close-to-the current -location orders and switch the order selection page to the order list page. The processing device 112 (e.g., the sequencing unit 708) may sequence the one or more close-to-the current -location orders based on departure times of the one or more close-to-the current -location orders.
In some embodiments, the order card of a close-to-the current -location order may include a departure time, a departure location and a destination of the close-to-the current -location order, or a distance between the departure location and the current location of the user terminal, or the like, or any combination thereof.
In some embodiments, the processing device 112 (e.g., the refreshing unit 710) may refresh the order list page based on a predetermined period (e.g., 1 minute, 5  minutes, 10 minutes, etc. ) . When receiving a new order that matches the location information of the user terminal, the processing device 112 may display the new order on the order list page. By refreshing the order list page and displaying new order (s) on the order list page, it may improve the instantaneity of checking orders and improve the efficiency of order allocation.
FIG. 6 is a block diagram illustrating an exemplary device for order allocation according to some embodiments of the present disclosure. The device 600 (also referred to as the order allocation device 600) may be applicable to a server. As shown in FIG. 6, the order allocation device 600 may include a first receiving unit 602, a first sending unit 604, a determination unit 606, a generation unit 608, and a calculation unit 610.
The first receiving unit 602 may be configured to receive location information sent by a driver terminal. The processing device 112 may receive the location information from the driver terminal via the network 120. In some embodiments, the location information may include departure location information, destination information of the driver terminal, or the like. Alternatively, the location information may include a current location of the driver terminal. More descriptions of the location information may be found elsewhere in the present disclosure (e.g., operation 402 of process 400 and the descriptions thereof) .
The first receiving unit 602 may further be configured to receive an order acceptance to one car-hailing order (or order) from the driver terminal. After the driver terminal receives an order and order details of the order, if the driver of the driver terminal wants to accept the order, the driver may initiate an order acceptance operation for the order on an order selection page of the driver terminal. The first receiving unit 602 may receive the order acceptance from the driver terminal. In some embodiments, the first receiving unit 602 may receive more than one order acceptance from different driver terminals for the order within a predetermined time period (e.g., 30 seconds, 1 minutes, 2 minutes, 5 minutes) .
The first sending unit 604 may be configured to send at least one car-hailing order (or order) that matches the location information to the driver terminal. For example, the first sending unit 604 may send order details of the at least one car-hailing order to the driver terminal. The first sending unit 604 may determine whether a matching degree of the order and the driver terminal is greater than or equal to a predetermined matching threshold. In response to a determination that the matching degree of the order is greater than or equal to a predetermined matching threshold, the first sending unit 604 may designate the order as one of the at least order (or car-hailing order) , and send the order (e.g., order details of the order) to the driver terminal. Alternatively, in response to a determination that the matching degree of the order is less than the predetermined matching threshold, the first sending unit 604 may not send the order to the driver terminal. In some embodiments, the order may be matched to multiple driver terminals, and the first sending unit 604 may send the order to the multiple matched driver terminals.
In some embodiments, an order pool may include one or more real-time orders and one or more reserved orders. The location information of the driver terminal may include the current location of the driver terminal. For a real-time order, the processing device 112 may determine a distance between a departure location of the real-time order and the current location of the driver terminal. If the distance between the departure location of the real-time order and the current location of the driver terminal is less than or equal to a second predetermined distance threshold, the processing device 112 may send the real-time order to the driver terminal. For a reserved order, the processing device may determine a distance between a departure location of the reserved order and the current location of the driver terminal is less than or equal to a third predetermined distance threshold, the processing device 112 may send the reserved order to the driver terminal.
The determination unit 606 may be configured to determine whether to allocate the car-hailing order to the driver terminal based on a screening model. In some embodiments, in a predetermined time period, if the order is accepted by a plurality of  driver terminals, the determination unit 606 may determine to allocate the order to which driver terminal of the plurality of driver terminals. In some embodiments, the processing device 112 may determine at least two authorized driver terminals among the plurality of driver terminals based on the screening model. The processing device 112 may determine a target driver terminal from the at least two authorized driver terminals based on the screening model and a plurality of second parameters.
The generation unit 608 may be configured to generate a matching reference based on the departure location information and the destination information. For example, the processing device 112 may determine the matching reference based on a driver route formed by the departure location information and the destination information of the driver terminal.
The calculation unit 610 may be configured to determine a matching degree between the order and the driver terminal. In some embodiments, the matching degree may be related to a similarity between the driver route and an order route formed by a departure location and a destination of the order, such as an overlapping ratio between the driver route and the order route, a direction angle between the driver route and the order route, etc. The higher the similarity is, the higher the matching degree is. In some embodiments, the calculation unit 610 may determine the matching degree between the order and the matching reference of the driver terminal based on a plurality of first parameters and a correspondent weight thereof, such as a distance between the departure location and a destination of the order, a detour ratio, a carpool ratio.
The order allocation device 600 in the present disclosure may be used to perform one or more operations of process 400 as described in FIG. 4. The implementation principle and technical effects of the order allocation device 600 may be similar to the process 400, which can refer to the descriptions in FIG. 4 and is not repeated herein.
In some embodiments, the units of the device 600 may be hardware circuits of all or part of the processing device 112. The units of the device 600 may also be implemented as an application or set of instructions read and executed by the processing  device 112. Further, the units may be any combination of the hardware circuits and the application/instructions. For example, the units may be the part of the processing device 112 when the processing device 112 is executing the application/set of instructions.
It should be noted that the above description regarding the device 600 is merely provided for the purposes of illustration, and not intended to limit the scope of the present disclosure. For persons having ordinary skills in the art, multiple variations and modifications may be made under the teachings of the present disclosure. However, those variations and modifications do not depart from the scope of the present disclosure. In some embodiments, the order allocation device 600 may further include a storage unit (not shown) . The storage unit may be configured to store data generated during any process performed by the above mentioned units.
FIG. 7 is a block diagram illustrating an exemplary device for order allocation according to some embodiments of the present disclosure. The device 700 (also referred to as the order allocation device 700) may be applicable to a user terminal (e.g., a driver terminal) . As shown in FIG. 7, the order allocation device 700 may include a second sending unit 702, a display unit 704, a second receiving unit 706, a sequencing unit 708, and a refreshing unit 710.
The second sending unit 702 may be configured to send location information of a driver terminal to a server via an order selection page. In some embodiments, the second sending unit 702 may detect departure location information and destination information of the driver terminal received via the location interface, and send the departure location information and the destination information of the driver terminal to the server. Alternatively, the second sending unit 702 may detect a current location of the driver terminal via the location interface, and send the current location of the driver terminal to the server.
The second receiving unit 706 may be configured to receive at least one car-hailing order (or order) that matches the location information sent by the server. In some embodiments, the second receiving unit 706 may receive one or more orders (e.g., order  details of the one or more orders) that matches the departure location information and the destination information of the driver terminal sent by the server. Alternatively, the second receiving unit 706 may receive one or more close-to-the current -location orders that matches the current location of the user terminal sent by the server.
The display unit 704 may be configured to, if the at least one order is more than one, sequentially display the order details of the at least one car-hailing order on an order list page based on a predetermined sequencing rule. The order details of each order (or the at least one car-hailing order) may be displayed via an order card. The order card may include an order acceptance interface configured to perform an order acceptance operation for the order (or the car-hailing order) , and to send the order acceptance to the server after performing the order acceptance operation.
The sequencing unit 708 may be configured to sequence the at least one order (or the at least one car-hailing order) . In some embodiments, the at least one order may include a plurality of real-time orders and a plurality of reserved orders. The sequencing unit 708 may sequence the plurality of real-time orders in front of the plurality of reserved orders. The sequencing unit 708 may sequence the plurality of real-time orders based on estimated times of the plurality of real-time orders and/or matching degrees of the plurality of real-time orders. The sequencing unit 708 may sequence the plurality of reserved orders based on estimated times of the plurality of reserved orders and/or matching degrees of the plurality of reserved orders. Then the sequenced real-time orders and reserved orders may be displayed by the display unit 704.
The refreshing unit 710 may be configured to refresh the order list page based on a predetermined period (e.g., 1 minute, 5 minutes, 10 minutes, etc. ) . When receiving a new order that matches the location information of the user terminal, the refreshing unit 710 may display the new order on the order list page.
The order allocation device 700 in the present disclosure may be used to perform one or more operations of process 500 as described in FIG. 5. The implementation  principle and technical effects of the order allocation device 700 may be similar to the process 500, which can refer to the descriptions in FIG. 5 and is not repeated herein.
In some embodiments, the units of the device 700 may be hardware circuits of all or part of the processing device 112. The units of the device 700 may also be implemented as an application or set of instructions read and executed by the processing device 112. Further, the units may be any combination of the hardware circuits and the application/instructions. For example, the units may be the part of the processing device 112 when the processing device 112 is executing the application/set of instructions.
It should be noted that the above description regarding the device 700 is merely provided for the purposes of illustration, and not intended to limit the scope of the present disclosure. For persons having ordinary skills in the art, multiple variations and modifications may be made under the teachings of the present disclosure. However, those variations and modifications do not depart from the scope of the present disclosure. In some embodiments, the order allocation device 700 may further include a storage unit (not shown) . The storage unit may be configured to store data generated during any process performed by the above mentioned units.
FIG. 8 is a flowchart illustrating an exemplary process for car-hailing order allocation according to some embodiments of the present disclosure. In some embodiments, one or more operations of process 800 may be implemented on the O2O service system 100 as illustrated in FIG. 1, or the computing device 200 as illustrated in FIG. 2, or the mobile device 300 as illustrated in FIG. 3. For example, one or more operations in the process 800 may be stored in the storage device 150 and/or the storage (e.g., the ROM 230, the RAM 240, etc. ) as a form of instructions, and invoked and/or executed by the processing device 112, or the processor 220 of the processing device 112) . In some embodiments, the instructions may be transmitted in a form of electronic current or electrical signals.
In 802, the processing device 112 may receive a real-time order sent by a passenger terminal (e.g., the requester terminal 130) . In some embodiments, order  details of the real-time order may include a departure location of the real-time order, a destination of the real-time order, an order departure time, a travel distance of the real-time order, a number of passengers, an estimated price of the real-time order, or the like, or any combination thereof. In some embodiments, the departure location and/or the destination may be inputted, by a user (e.g., a passenger) , via a character input device (e.g., a keyboard, a touch screen) of the passenger terminal or a microphone of the passenger terminal. In some embodiments, the departure location may be a current location of the passenger terminal, which may be automatically determined by GPS installed in the passenger terminal.
In 804, the processing device 112 may match the real-time order to a driver terminal, and determine whether the real-time order matches the driver terminal. In some embodiments, the processing device 112 may determine a distance between the departure location of the real-time order and a current location of the driver terminal. If the distance between the departure location of the real-time order and the current location of the driver terminal is less than or equal to a second predetermined distance threshold, the processing device 112 may determine that the real-time order matches the driver terminal. In some embodiments, the processing device 112 may match the real-time order to more than one driver terminal. In response to a determination that the real-time order matches the driver terminal, the processing device 112 may proceed to operation 806. In 806, the processing device 112 may send the real-time order to the driver terminal. For example, the processing device 112 may send the order details of the real-time order to the driver terminal. In some embodiments, if the real-time order matches more than one driver terminal, the processing device 112 may send the order details of the real-time order to the more than one driver terminal. In 808, the processing device 112 may determine whether to allocate the order to the driver terminal based on a screening model. If the real-time order is accepted by a plurality of driver terminals within a predetermined time period, the processing device 112 may determine at least two authorized driver terminals among the plurality of driver terminals, and determine a target driver terminal from the at least two  authorized driver terminals based on the screening model and a plurality of second parameters. More descriptions regarding the determination of the target driver terminal may be found elsewhere in the present disclosure (e.g., operation 408 of process 400 and the descriptions thereof) .
Alternatively, in response to a determination that the real-time order does not match the driver terminal, the processing device 112 may proceed to operation 810. In 810, the processing device 112 may put the real-time order into a queue and allocate the real-time order to other driver terminals based on the queue.
FIG. 9 is a flowchart illustrating an exemplary process for car-hailing order allocation according to some embodiments of the present disclosure. In some embodiments, one or more operations of process 900 may be implemented on the O2O service system 100 as illustrated in FIG. 1, or the computing device 200 as illustrated in FIG. 2, or the mobile device 300 as illustrated in FIG. 3. For example, one or more operations in the process 900 may be stored in the storage device 150 and/or the storage (e.g., the ROM 230, the RAM 240, etc. ) as a form of instructions, and invoked and/or executed by the processing device 112, or the processor 220 of the processing device 112) . In some embodiments, the instructions may be transmitted in a form of electronic current or electrical signals.
In 902, the processing device 112 may access an order selection page. An O2O service platform (e.g., a car-hailing service platform) may have a home page, which includes an order selection interface. The home page may be switched to the order selection page via the order selection interface. In some embodiments, when receiving a touch/click operation for the order selection interface, the processing device 112 may access the order selection page.
In 904, the processing device 112 may initiate a hitchhike order search. In 906, the processing device 112 may set departure location information and destination information of a driver terminal (e.g., a user terminal) . In some embodiments, the departure location information and/or the destination information may be received and/or  displayed via a location interface (e.g., the location input box 1002 as illustrated in FIG. 10B) . In 908, the processing device 112 may perform a search operation. The order selection page may further include an order search button (e.g., the order search button 1004 as illustrated in FIG. 10B) . When receiving a touch/click operation for the order search button, the processing device 112 may send the departure location information and the destination information of the driver terminal to a server to perform the search operation. The processing device 112 may receive one or more orders that matches the departure location information and the destination information of the driver terminal sent by the server. In 912, the processing device 112 may access an order list page to check the one or more orders. In some embodiments, the order list page may include order details of the one or more orders. In 914, the processing device 112 may send an order acceptance of the driver terminal via a “take” button (e.g., the take button as illustrated in FIG. 10B) . In 916, the processing device 112 may determine whether the order is successfully taken by the driver terminal. In 918, if the order is successfully taken by the driver terminal, the process device 112 may switch to a pick-up page to guide the driver of the driver terminal to a departure location of the order. Alternatively, in 920, if the order is not taken by the driver terminal, the processing device 112 may display a prompt that the order is not taken.
It should be noted that the above description regarding the process 900 is merely provided for the purposes of illustration, and not intended to limit the scope of the present disclosure. For persons having ordinary skills in the art, multiple variations and modifications may be made under the teachings of the present disclosure. However, those variations and modifications do not depart from the scope of the present disclosure. In some embodiments, the current location of the driver terminal may be automatically determined by GPS installed in the driver terminal. Thus, the processing device 112 may not need to set the departure location information and the destination location information of the driver terminal. In 910, after access the order selection page, the processing 112 may directly perform a search operation. In some embodiments, when a driver opens the  order selection page, in order to ensure that the driver is allocated with multiple orders, the driver can recommend himself. For example, in 922, the driver may click a recommendation interface (e.g., the recommendation interface 1008 as illustrated in FIG. 10B) . In 924, when receiving the touch/click operation for the recommendation interface, the processing device 112 may access a driver recommendation page.
FIGs. 10A-10I are schematic diagrams illustrating an exemplary car-hailing service platform on a driver terminal according to some embodiments of the present disclosure. As shown in FIG. 10A, the home page of the car-hailing service platform may include an order selection interface 1001. After the order selection interface 1001 is clicked or touched, an order selection page may be displayed, as shown in FIG. 10B. As shown in FIG. 10B, the order selection page may include a location input box 1002, an order search button 1004, an order display area 1006, and a recommendation interface 1008. The location input box 1002 may include a first area for inputting or displaying the departure location of the driver terminal, and a second area for inputting or displaying the destination of the driver terminal. In some embodiments, the departure location in the first area may be manually inputted by a user (e.g., a driver of the driver terminal) , or automatically determined based on GPS installed on the driver terminal without inputting. The order search button 1004 may be configured to perform a search operation for searching hitchhike orders. As shown in FIG. 10C, the departure location in the first area may be determined as “Houchangcun Road No. 30, South Gate” . In some embodiments, when the departure location is determined, a prompt may be displayed at the second area of the location input box 1002, that is, “input a destination, and search hitchhike orders. ” The user (or driver) can manually input the destination of the driver terminal. In some embodiments, if only the departure location is determined, when the user clicks or touches the order search button 1004, a prompt (e.g., a toast) may be displayed on the order selection page, i.e., “please input the destination. ” Alternatively, if only the destination is determined, and when the user clicks or touches the order search button 1004, a prompt (e.g., a toast) may be displayed on the order selection page, i.e., “please input the  departure location. ” When the departure location and the destination are both determined, a search operation for searching hitchhike orders may be initiated via the order search button 1004. The recommendation interface 1008 may be configured to recommend the driver.
The order display area 1006 may display the total number of hitchhike orders (e.g., 20 orders as shown in FIG. 10B) and displays one or more hitchhike orders. As shown in FIG. 10D, a hitchhike order may be displayed via an order card 1010. The order card 1010 may be configured to display order details of an order, such as a departure time, a travel distance, a departure location, a destination, a portrait of passenger, a matching degree, or the like, or any combination thereof. The order card 1010 may further include a “take” button to help a driver of the driver terminal to accept the order. The order display area 1006 may further include a “check all hitchhike orders” button at the bottom of the order display area 1006. By clicking the “check all hitchhike orders” button, the order selection page may be switch to an order list page, e.g., the hitchhike order list page as shown in FIG. 10E. As shown in FIG. 10E, the hitchhike order list page includes location input box 1002 and the order display area 1006. The location input box 1002 includes a departure location “Houchangcun Road No. 30, South Gate” and a destination “Xi’erqi Bridge East, Bus Station. ” The order display area 1006 shows the total number of hitchhike orders, e.g., 13 orders. In some embodiments, the user may check all the hitchhike orders by sliding up the hitchhike order list page. In some embodiments, the hitchhike orders may be sequenced based on the matching degree between the order and the driver terminal and/or the departure time of the order. In some embodiments, the orders with higher matching degree may be sequenced before the orders with lower matching degree. In some embodiments, the hitchhike orders may include real-time orders whose departure time is “depart now” , and reserved orders whose departure time is displayed as today, tomorrow, the day after tomorrow, or a specific data format (e.g., 2019/05/14) , etc. The real-time orders may be sequenced before the reserved orders to ensure the real-time orders are timely checked by the driver terminal. In some  embodiments, a distance between the departure location of the real-time orders and the current location of the vehicle may be less than 3km such that the driver terminal can pick-up the passenger of the order timely. In some embodiments, the hitchhike orders may be refreshed based on a specific cycle. In some embodiments, the hitchhike orders may be refreshed automatically. Alternatively, the refreshment of the hitchhike orders may be initiated by the user (e.g., the driver) . For example, the user may slide up the hitchhike order list page to load new hitchhike orders.
FIG. 10F shows an order acceptance process. As shown in FIG. 10F, the user clicks the “take” button 1012 to accept the order. A prompt “loading” may be displayed during the order allocation process of the server. If the server determines not to allocate the order to the driver terminal based on a screening model, a prompt “the order has been taken, and you can choose other hitchhike orders” may be displayed as shown in FIG. 10G. The user may click the “I know” button to return the order selection page and/or the hitchhike order list page. In some embodiments, if the order is cancelled by the passenger, a prompt “the order has been cancelled, and you can choose other hitchhike orders” may be displayed. The user may click the “I know” button to return the order selection page and/or the hitchhike order list page. Alternatively, as shown in FIG. 10H, if the order is taken by the driver terminal, a prompt “successfully taken” may be displayed. The hitchhike order list page may be switched to a pick-up page.
FIG. 10I shows an exemplary close-to-the current -location order list according to some embodiments of the present disclosure. The close-to-the current -location order list only includes an order display area 1014. As shown in FIG . 10I, the order display area 1014 shows the total number of close-to-the current -location orders (e.g., 23 close-to-the current -location orders) . In some embodiments, the user may check all the hitchhike orders by sliding up the hitchhike order list page. Each close-to-the current -location order may be displayed via an order card 1014. The order card 1014 may be configured to display order details of a close-to-the current -location order, such as a departure time, a travel distance, a departure location, a destination, a portrait of  passenger, a matching degree, or the like, or any combination thereof. The order card 1014 may further include a “take” button to help a driver of the driver terminal to accept the order.
In some embodiments, the close-to-the current -location orders may include real-time orders whose departure time is “depart now” , and reserved orders whose departure time is displayed as today, tomorrow, the day after tomorrow, or a specific data format (e.g., 2019/05/14) , etc. In some embodiments, if a distance between the departure location of a real-time order and the current location of the vehicle is less than or equal to 3km, the server may send the real-time order to the driver terminal. If a distance between the departure location of a reserved order and the current location of the vehicle is less than or equal to 5km, the server may send the reserved order to the driver terminal. The real-time orders may be sequenced before the reserved orders to ensure the real-time orders are timely checked by the driver terminal. In some embodiments, the close-to-the current -location orders may be refreshed based on a specific cycle. In some embodiments, the close-to-the current -location orders may be refreshed automatically. Alternatively, the refreshment of the close-to-the current -location orders may be initiated by the user (e.g., the driver) . For example, the user may slide up the close-to-the current -location order list page to load new close-to-the current -location orders.
In some embodiments, if the driver has a specific destination, the driver may select a hitchhike order. Alternatively, if the driver does not have a specific destination, the driver may select a close-to-the current -location order.
FIG. 11 is a block diagram illustrating an exemplary server according to some embodiments of the present disclosure. As shown in FIG. 11, the server 1100 may include a storage 1102, a processor 1104, and an order allocation device 1106. The storage 1102 may store a set of instructions. The processor 1104 may execute the set of instructions to implement one or more operations of the above order allocation process (e.g., the process 400, the process 800) . Alternatively or additionally, the processor 1104  may execute the set of instructions to implement the order allocation device 1106 or the order allocation device 600.
FIG. 12 is a block diagram illustrating an exemplary user terminal according to some embodiments of the present disclosure. As shown in FIG. 12, the user terminal 1200 may include a storage 1202, a processor 1204, and an order allocation device 1206. The storage 1202 may store a set of instructions. The processor 1204 may execute the set of instructions to implement one or more operations of the above order allocation process (e.g., the process 500, the process 900) . Alternatively or additionally, the processor 1204 may execute the set of instructions to implement the order allocation device 1206 or the order allocation device 700.
The present disclosure may further provide a non-transitory computer-readable storage medium. The non-transitory computer-readable storage medium may include computer programs. The computer programs may be executed by a processor (e.g., the processor 1104) to implement operations including: receiving location information sent by a driver terminal, the location information including departure location information and destination information; sending order details of at least one car-hailing order that matches the location information to the driver terminal; receiving an order acceptance to one car-hailing order of the at least one car-hailing order from the driver terminal; and determining whether to allocate the car-hailing order to the driver terminal based on a screening model. The implementation principle and technical effects of the non-transitory computer readable storage medium may be similar to the process 400, which can refer to the descriptions in FIG. 4 and is not repeated herein.
The present disclosure may further provide a non-transitory computer-readable storage medium. The non-transitory computer-readable storage medium may include computer programs. The computer programs may be executed by a processor (e.g., the processor 1204) to implement operations including: sending location information of a driver terminal to a server via an order selection page, and receiving order details of at least one car-hailing order that matches the location information sent by the server; and if the at  least one order is more than one, sequentially displaying the order details of the at least one car-hailing order on an order list page based on a predetermined sequencing rule, the order details of each of the at least one order being displayed via an order card, wherein the order card includes an order acceptance interface configured to perform an order acceptance operation for the order and to send the order acceptance to the server after performing the order acceptance operation. The implementation principle and technical effects of the non-transitory computer readable storage medium may be similar to the process 500, which can refer to the descriptions in FIG. 5 and is not repeated herein.
FIG. 13 is a flowchart illustrating an exemplary process for order allocation according to some embodiments of the present disclosure. In some embodiments, one or more operations of process 1300 may be implemented on the O2O service system 100 as illustrated in FIG. 1, or the computing device 200 as illustrated in FIG. 2, or the mobile device as illustrated in FIG. 3. For example, one or more operations in the process 1300 may be implemented as a set of instructions (e.g., an application) stored in a storage device (e.g., the storage device 160, the ROM 230, the RAM 240, and/or the storage 390) . In some embodiments, the processing device 112 (e.g., the processor 220 of the computing device 200, the CPU 340 of the mobile device 300, and/or one or more units as illustrated in FIG. 15) may execute the set of instructions and may accordingly be directed to perform the process 1300. In some embodiments, the instructions may be transmitted in a form of electronic current or electrical signals.
In 1302, the processing device 112 (e.g., the obtaining unit 1502) may obtain a departure location of an order and a current location of a vehicle.
In some embodiments, the order may be initiated by a service requester via his/her requester terminal (e.g., the requester terminal 130) . The order may be used to request an O2O service, such as a transportation service (e.g., a taxi-hailing service, a chauffeur service, an express car service, a carpool service, a bus service, a driver hire service, a shuttle service) , a delivery service (e.g., a meal delivery service) , or the like, or any combination thereof. The departure location of the order may refer to a location where  the service requester wants and/or needs to be picked up. For example, the departure location of the order may be a real-time location of the service requester. In some embodiments, the processing device 112 may obtain the departure location of the order from one or more components of the service (e.g., the requester terminal 130, the storage device 150) via the network 120. The current location of the vehicle may be determined based on a positioning technology, such as but not limited to, a GPS positioning technology, a base station positioning technology, a WIFI positioning technology, etc. In some embodiments, the current location of the vehicle may be automatically transmitted to the obtaining unit 1502.
In 1304, the processing device 112 (e.g., the obtaining unit 1502) may determine a first route from the current location of the vehicle to the departure location of the order, and determine a direction adjustment location of the vehicle based on the first route.
In some embodiments, the first route may be determined based on, e.g., a distance between the current location of the vehicle and the departure location of the order, a predicted travel time (e.g., a historical average travel time) driving from the current location of the vehicle to the departure location of the order, a traffic condition, the service provider’s preference, or the like, or any combination thereof. For example, the first route may be a route with a smallest distance, a route with a least predicted travel time, or a route chosen by most historical drivers. In some embodiments, the first route may also be designated by the service requester (e.g., the driver of the vehicle) .
In some embodiments, the direction adjustment location may be used for adjusting a driving direction of the vehicle, so as to reach the departure location of the order. The direction adjustment location may be an intersection on the first route. For example, if the vehicle does not have an on-going order, the processing device 112 may determine an intersection on the first route that is nearest to the current location of the vehicle (e.g., a next intersection with respect to the current location) as the direction adjustment location of the vehicle. As another example, if the vehicle has an on-going order, the processing device 112 may determine a second route related to the on-going order, and determine a  branching intersection of the first route and the second route as the direction adjustment location of the vehicle. The second route may be a route from the current location of the vehicle to a departure location or a destination of the on-going order. For instance, if the driver of the vehicle is driving to the departure location of the on-going order to pick up a passenger (e.g., a service requester) of the on-going order, the second route may be a route from the current location of the vehicle to the departure location of the on-going order. If the driver of the vehicle has picked up the passenger (e.g., the service requester) of the on-going order and is driving to the destination of the on-going order, the second route may be a route from the current location of the vehicle to the destination of the on-going order.
In 1306, the processing device 112 (e.g., the prediction unit 1504) may determine a first estimated duration driving from the current location to the direction adjustment location.
In some embodiments, the first estimated duration may be determined based on a first predetermined information. The first predetermined information may relate to a distance from the current location to the direction adjustment location, a type of a lane in which the vehicle is running, a current speed of the vehicle, road grades, speed grades, real-time road conditions, a number of historical vehicles in different driving directions at the direction adjustment location of the vehicle, or the like, or any combination thereof. Taking a vehicle running on a straight lane as an example, the first estimated duration may be determined based on the distance from the current location to the direction adjustment location, a number of vehicles on the straight lane, the current speed of the vehicle, etc.
In 1308, in response to a determination that the first estimated duration is greater than or equal to a first predetermined duration, the processing device 112 (e.g., the allocation unit 1506) may allocate the order to the vehicle. Alternatively, in response to a determination that the first estimated duration is less than the first predetermined duration, the processing device 112 (e.g., the allocation unit 1506) may determine an expected  driving route of the vehicle, and determine whether to allocate the order to the vehicle based on the expected driving route of the vehicle.
In some embodiments, the first predetermined duration may be a default value or an empirical value related to the O2O service system 100. The first predetermined duration may vary with different scenarios. As used herein, the first predetermined duration may include a duration for the vehicle to change lanes, a response duration of the service provider (e.g., the driver of the vehicle) , a response duration of the O2O service system 100, a duration when the vehicle is banned from changing lanes near the direction adjustment location (for example, the vehicle is banned from changing lanes within a threshold distance to the direction adjustment location) , or the like, or any combination thereof. The response duration of the service provider may be a time spent by the service provider from receiving an order to confirming the order. The response duration of the O2O service system 100 may be a time spent from allocating the order to the service provider to being received by the service provider.
The processing device 112 may determine whether the first estimated duration is greater than or equal to the first predetermined duration. In some embodiments, whether the first estimated duration is greater than or equal to the first predetermined duration may be determined based on a machine leaning model, e.g., a classification model. The machine learning model may include but is not limited to a Logistic Regression (LR) , a Gradient Booting Decision Tree (GBDT) , a Support Vector Machine (SVM) , a neural network, or the like. The machine learning model may include one or more model parameters, such as real-time road conditions, road grades, a historical average speed of a lane in which the vehicle is running, an average speed of the vehicle, a request time of the order, traffic regulations, or the like, or any combination thereof. Each model parameter may be given a corresponding weight. Taking the classification model as an instance, a comparison result may be determined based on the classification model. In some embodiments, the classification model may output the comparison result based on an input of the first predetermined duration and the first predetermined information, and/or  the model parameter (s) and its corresponding weight. The comparison result may include a classification value “0” or “1” , wherein “0” represents a determination that the first estimated duration is less than the first predetermined duration, and “1” represents a determination that the first estimated duration is greater than or equal to the first predetermined duration.
If the first estimation duration is greater than or equal to the first predetermined duration, which indicates that the service provider has enough time to adjust the driving direction of the vehicle at the direction adjustment location, the processing device 112 may allocate the order to the vehicle. If the first estimation duration is less than the first predetermined duration, which indicates that the service provider does not have enough time to adjust the driving direction of the vehicle at the direction adjustment location, the processing device 112 may further analyze a driving behavior of the service provider to determine whether to allocate the order to the vehicle. For example, the processing device 112 may determine an expected driving route of the vehicle, and further determine whether to allocate the order to the vehicle.
If the vehicle does not have an on-going order, the processing device 112 may obtain a plurality of candidate driving route, and select one of the plurality of candidate driving routes as the expected driving route of the vehicle based on second predetermined information.
The plurality of candidate driving routes may be all or a portion of possible driving routes that the vehicle may run into after passing the direction adjustment location (e.g., a next intersection with respect to the current location) . In some embodiments, the processing device 112 may determine all possible driving routes that the vehicle locates after driving a threshold distance (e.g., 150 m) from the current location as the plurality of candidate driving routes. In some embodiments, the plurality of candidate driving routes may be determined by retrieving a storage device (e.g., the storage device 150) of the O2O service system 100 or an external source (e.g., a third-party map) via the network  120. The expected driving route of the vehicle may be a candidate driving route that the vehicle is most likely to choose.
The second predetermined information may include at least one of: a number of intersections with traffic lights, a number of historical vehicles in different driving directions at each of the intersections with traffic lights, a number of historical vehicles in different driving directions at intersections without traffic lights; road grades, speed grades, real-time road conditions, a driving route of the plurality of candidate driving routes chosen by the historical vehicles, a distance from the current location to the direction adjustment location, a type of a lane in which the vehicle is running, a current speed of the vehicle, historical driving routes chosen by the vehicle, or hot areas surrounding the current location of the vehicle. The processing device 112 may determine one of candidate driving routes with the highest probability of travelling by the vehicle as the expected driving route of the vehicle. For example, the processing device 112 may determine the candidate driving route with the highest probability of travelling by the vehicle based on a service provider’s preference for routes, which may be reflected by the historical driving routes chosen by the vehicle, e.g., historical driving routes chosen by the vehicle in a last month. As another example, the processing device 112 may determine the expected driving route of the vehicle based on the number of historical vehicles in different driving directions. As a further example, the processing device 112 may determine a driving route of the plurality of candidate driving routes chosen by most historical vehicles as the expected driving route of the vehicle. As still a further example, the processing device 112 may determine a candidate driving route with the lowest traffic congestion among the candidate driving routes as the expected driving route of the vehicle based on the real-time traffic condition. It should be noted that, the expected driving route of the vehicle may be determined based on any combination of the second predetermined information and a correspondent weight thereof.
In some embodiments, the processing device 112 may determine the estimated driving routes of the vehicle based on a machine learning model. The plurality of  candidate driving routes may be ranked, for example, using a machine learning model (e.g., a machine learning-based ranking model) , based on the second predetermined information. The machine learning-based ranking model may be based on a machine learning-based ranking algorithm, which includes but is not limited to a Pointwise algorithm, a Pairwise algorithm, a Listwise algorithm, or the like. The machine learning-based ranking model may output a ranking result based on an input of the plurality of candidate driving routes and the second predetermined information. The processing device 112 may determine one of the candidate driving routes with the highest probability of travelling by the vehicle as the expected driving route. For example, the candidate driving route at the top of the ranking result may be determined as the expected driving route of the vehicle, if the candidate driving routes are ranked in a descending order of a possibility that the vehicle may travel.
In some embodiments, the vehicle may have a specific and known driving route, for example, the vehicle may be a minibus having passenger (s) , or the vehicle is providing a carpool service, or the like. Merely by way of example, if the vehicle has an on-going order, the processing device 112 may obtain a second route related to the on-going order. The second route may be a route from the current location of the vehicle to a departure location or a destination of the on-going order. The processing device 112 may designate the second route as the expected driving route of the vehicle, thereby reducing power consumption of the O2O service system 100 and saving time for determining the estimated route among a plurality of candidate driving routes.
Upon a determination that the first estimated duration is less than the first predetermined duration, the processing device 112 may further determine whether to allocate the order to the vehicle based on the expected driving route of the vehicle. In some embodiments, the processing device 112 may determine a driving direction of the vehicle at the direction adjustment location of the vehicle based on the expected driving route. Upon a determination that the driving direction of the vehicle at the direction adjustment location is consistent with the first route, the processing device 112 may  allocate the order to the vehicle. For example, the expected driving route may be a segment of the first route, therefore the driving direction of the expected driving route is consistent with the first route, and it is suitable for the vehicle to execute the order. Alternatively, if the driving direction of the vehicle at the direction adjustment location is not consistent with the first route, the processing device 112 may determine an expected location on the expected driving route after a second predetermined duration. In some embodiments, the expected location may refer to a location after passing the direction adjustment location. The processing device 112 may determine a cost for accepting the order based on the departure location and the expected location of the vehicle. For example, the processing device 112 may determine whether a distance between the expected location and the departure location of the order is less than or equal to a predetermined distance, and whether a second estimated duration driving from the expected location to the departure location of the order is less than or equal to a third predetermined duration. In response to a determination that the distance is less than or equal to the predetermined distance and the second estimated duration is less than or equal to the third predetermined duration, the processing device 112 may allocate the order to the vehicle. More descriptions regarding whether to allocate the order to the vehicle may be found elsewhere in the present disclosure (e.g., FIG. 14 and the descriptions thereof) .
According to some embodiments of the present disclosure, the processing device 112 may determine whether to allocate an order to a vehicle by considering the driving status of the vehicle, which may avoid the driver of the vehicle to make a detour to pick up a passenger of the order, saving the time of the driver and/or the passenger. Besides, the processing device 112 may allocate orders to suitable vehicles (or drivers) , which may improve the transaction rate of orders, increasing the efficiency of order allocation and saving computing load.
It should be noted that the above description regarding the process 1300 is merely provided for the purposes of illustration, and not intended to limit the scope of the present  disclosure. For persons having ordinary skills in the art, multiple variations and modifications may be made under the teachings of the present disclosure. However, those variations and modifications do not depart from the scope of the present disclosure. In some embodiments, if no candidate vehicle is available, the processing device 112 may allocate the order to the vehicle.
FIG. 14 is a flowchart illustrating an exemplary process for order allocation according to some embodiments of the present disclosure. In some embodiments, one or more operations of process 1400 may be implemented on the O2O service system 100 as illustrated in FIG. 1, or the computing device 200 as illustrated in FIG. 2, or the mobile device as illustrated in FIG. 3. For example, one or more operations in the process 1400 may be implemented as a set of instructions (e.g., an application) stored in a storage device (e.g., the storage device 160, the ROM 230, the RAM 240, and/or the storage 390) . In some embodiments, the processing device 112 (e.g., the processor 220 of the computing device 200, the CPU 340 of the mobile device 300, and/or one or more units as illustrated in FIG. 15) may execute the set of instructions and may accordingly be directed to perform the process 1400. In some embodiments, the instructions may be transmitted in a form of electronic current or electrical signals.
In 1402, the processing device 112 (e.g., the obtaining unit 1502) may obtain a departure location of an order and a current location of a vehicle. In 1404, the processing device 112 (e.g., the obtaining unit 1502) may determine a first route from the current location of the vehicle to the departure location of the order, and determine a direction adjustment location of the vehicle based on the first route. In 1406, the processing device 112 (e.g., the prediction unit 1504) may determine a first estimated duration driving from the current location to the direction adjustment location based on a first predetermined information. Operations 1402-1406 may be performed in a similar manner with operations 1302-1306, and the descriptions thereof are not repeated herein.
In 1408, the processing device 112 (e.g., the allocation unit 1506) may determine whether the first estimated duration is greater than or equal to a first predetermined duration.
In 1410, upon a determination that the first estimated duration is greater than or equal to the first predetermined duration, the processing device 112 (e.g., the allocation unit 1506) may allocate the order to the vehicle.
In 1412, upon a determination that the first estimated duration is less than the first predetermined duration, the processing device 112 (e.g., the route determination sub-unit 1602 of the allocation unit 1506) may determine an expected driving route of the vehicle. More descriptions regarding the determination of the expected driving route may be found elsewhere in the present disclosure. See, e.g., operation 1308 and the relevant descriptions thereof.
In 1414, the processing device 112 (e.g., the calculation sub-unit 1604 of the allocation unit 1506) may determine an expected location on the expected driving route after a second predetermined duration, and determine a distance between the expected location and the departure location of the order and a second estimated duration driving from the expected location to the departure location of the order.
In some embodiments, the second predetermined duration may be a default value or an empirical value related to the O2O service system 100. In some embodiments, the second predetermined duration may refer to a period that the processing device 112 spent on determining the expected driving route. The vehicle may have traveled a distance on the expected driving route after the second predetermined duration. The expected location may refer to a location on the expected driving route where the vehicle locates after the second predetermined duration. For example, the expected location may refer to a location after passing the direction adjustment location.
In some embodiments, the expected location may be determined based on, e.g., the second predetermined duration, a type of a lane in which the vehicle is running, a current speed of the vehicle, real-time road conditions, a number of vehicles at the  direction adjustment location, or the like, or any combination thereof. In some embodiments, the processing device 112 may obtain the distance between the expected location and the departure location of the order from a storage device (e.g., the storage device 150) of the O2O service system 100 or an external source (e.g., a third-party map) . Similar to the determination of the first estimated duration, the second estimated duration may be determined based on a third predetermined information. The third predetermined information may include the distance between the expected location and the departure location of the order, a type of a lane in which the vehicle is running, a current speed of the vehicle, road grades, speed grades, real-time road conditions, a number of vehicles on the expected driving route, or the like, or any combination thereof. For example, the second estimated duration may be determined based on the distance between the expected location and the departure location of the order, the current speed of the vehicle, or the like.
In 1416, the processing device 112 (e.g., the judgment sub-unit 1606 of the allocation unit 1506) may determine whether the distance is less than or equal to a predetermined distance and whether the second estimated duration is less than or equal to a third predetermined duration.
In some embodiments, the predetermined distance and/or the third predetermined duration may be an empirical value or a default value stored in the O2O system 100. Alternatively, the predetermined distance and/or the third predetermined duration may be set or adjusted by a passenger (e.g., a service requester) or a driver (e.g., a service provider) . In some embodiments, the predetermined distance and/or the third predetermined duration may vary under different conditions. For example, the predetermined distance may be set with a relatively small value and the third predetermined duration may be set with a relatively great value in the peak hours.
In response to a determination that the distance is less than or equal to the predetermined distance and the second estimated duration is less than or equal to the third predetermined duration, the processing device 112 may proceed to operation 1418.  In 1418, the processing device 112 (e.g., the allocation sub-unit 1608 of the allocation unit 1506) may allocate the order to the vehicle.
In response to a determination that the distance is greater than the predetermined distance or the second estimated duration is greater than the third predetermined duration, the processing device 112 may proceed to operation 1420. In 1420, the processing device 112 (e.g., the allocation sub-unit 1608 of the allocation unit 1506) may allocate the order to the other vehicles (e.g., a candidate vehicle) . In some embodiments, the candidate vehicle may satisfy that the distance between a current location of the candidate vehicle and the departure location of the order is less than or equal to the predetermined distance, and a second estimated duration from the current location of the candidate vehicle to the departure location of the order is less than or equal to the third predetermined duration. In some embodiments, if no candidate vehicle is available, the processing device 112 may allocate the order to the vehicle, ensuring that the order may be accepted by at least one vehicle.
It should be noted that the above description regarding the process 1400 is merely provided for the purposes of illustration, and not intended to limit the scope of the present disclosure. For persons having ordinary skills in the art, multiple variations and modifications may be made under the teachings of the present disclosure. However, those variations and modifications do not depart from the scope of the present disclosure. In some embodiments, the processing device 112 may determine whether to allocate the order to the vehicle based on the distance between the expected location of the vehicle and the departure location of the order, or the second estimated duration driving from the expected location to the departure location of the order. For example, if the distance is less than or equal to the predetermined distance, the processing device 112 may allocate the order to the vehicle. As another example, if the second estimated duration is less than or equal to the third predetermined duration, the processing device 112 may allocate the order to the vehicle.
FIG. 15 is a block diagram illustrating an exemplary order allocation device 1500 according to some embodiments of the present disclosure. As shown in FIG. 15, the order allocation device 112 may include an obtaining unit 1502, a prediction unit 1504, and an allocation unit 1506.
The obtaining unit 1502 may be configured to obtain a departure location of an order and a current location of a vehicle. The obtaining unit 1502 may further be configured to determine a first route from the current location of the vehicle to the departure location of the order, and determine a direction adjustment location of the vehicle based on the first route. More descriptions regarding the departure location of an order and the current location of a vehicle may be found elsewhere in the present disclosure. See, e.g., operation 1302 of process 1300 and the relevant descriptions thereof. More descriptions regarding the determination of the first route and the determination of the direction adjustment location may be found elsewhere in the present disclosure. See, e.g., operation 1304 of process 1300 and the relevant descriptions thereof.
In some embodiments, the obtaining unit 1502 may obtain information of the order and/or information of the vehicle. The information of the order may include an order number, a coordinate of the departure location (e.g., latitude-longitude coordinates) , a coordinate of a destination (e.g., latitude-longitude coordinates) , a departure time, contact information (e.g., a telephone number, a Wechat TM account, a QQ TM account, etc. ) , or the like, or any combination thereof. The information of the vehicle may include a coordinate of the current location (e.g., latitude-longitude coordinates) , a serial number of a driver (e.g., a service provider) of the vehicle, driving experience, a vehicle type, a license plate number, a driving license number, or the like, or any combination thereof.
The prediction unit 1504 may be configured to determine a first estimated duration driving from the current location to the direction adjustment location. In some embodiments, the first estimated duration may be determined based on a first predetermined information. More descriptions regarding the determination of the first  estimated duration may be found elsewhere in the present disclosure. See, e.g., operation 1306 of process 1300 and the relevant descriptions thereof.
The allocation unit 1506 may be configured to determine whether to allocate the order to the vehicle. In response to a determination that the first estimated duration is greater than or equal to a first predetermined duration, the allocation unit 1506 may be configured to allocate the order to the vehicle. In response to a determination that the first estimated duration is less than the first predetermined duration, the allocation unit 1506 may be configured to determine an expected driving route of the vehicle, and determine whether to allocate the order to the vehicle based on the expected driving route of the vehicle. More descriptions regarding the allocation of the order, the determination of the expected driving route, and whether to allocate the order to the vehicle may be found elsewhere in the present disclosure. See, e.g., operation 1308 of process 1300 and the relevant descriptions thereof.
The units may be hardware circuits of all or part of the processing device 112. The units may also be implemented as an application or set of instructions read and executed by the processing device 112. Further, the units may be any combination of the hardware circuits and the application/instructions. For example, the units may be the part of the processing device 112 when the processing device 112 is executing the application/set of instructions. The units in the order allocation device 1500 may be connected to or communicate with each other via a wired connection or a wireless connection. The wired connection may include a metal cable, an optical cable, a hybrid cable, or the like, or any combination thereof. The wireless connection may include a Local Area Network (LAN) , a Wide Area Network (WAN) , a Bluetooth, a ZigBee, a Near Field Communication (NFC) , or the like, or any combination thereof. Two or more of the modules may be combined into a single module, and any one of the modules may be divided into two or more units.
It should be noted that the above descriptions of the processing devices 112 is provided for the purposes of illustration, and is not intended to limit the scope of the  present disclosure. For persons having ordinary skills in the art, multiple variations and modifications may be made under the teachings of the present disclosure. However, those variations and modifications do not depart from the scope of the present disclosure. For example, the allocation unit 1506 may be divided into a plurality of sub-units. In some embodiments, one or more of the units mentioned above may be omitted. In some embodiments, one or more of the modules mentioned above may be combined into a single module. For example, the prediction unit 1504 and the allocation unit 1506 may be integrated into a single module. In some embodiments, the order allocation device 1500 may further include one or more additional units, such as a storage unit.
FIG. 16 is a block diagram illustrating an exemplary allocation unit 1506 according to some embodiments of the present disclosure. As shown in FIG. 15, the allocation unit 1506 may include a route determination sub-unit 1602, a calculation sub-unit 1604, a judgment sub-unit 1606, and an allocation sub-unit 1608.
The route determination sub-unit 1602 may be configured to determine an expected driving route of a vehicle. In some embodiments, if the vehicle does not have an on-going order, the route determination sub-unit 1602 may be configured to obtain a plurality of candidate driving routes, and select one of the plurality of candidate driving routes as the expected driving route of the vehicle based on a first predetermined information. If the vehicle has an on-going order, the route determination sub-unit 1602 may be configured to obtain a second route related to the on-going order, and determine the second route as the expected driving route of the vehicle. The second route may be a route from the current location of the vehicle to a departure location or a destination of the on-going order. More descriptions regarding the determination of the expected driving route may be found elsewhere in the present disclosure. See, e.g., operation 1308 of process 1300 and the relevant descriptions thereof.
The calculation sub-unit 1604 may be configured to determine an expected location on the expected driving route after a second predetermined duration, and determine a distance between the expected location and the departure location of the  order and a second estimated duration driving from the expected location to the departure location of the order. More descriptions regarding the determination of the expected location, and the determination of the distance and the second estimated duration may be found elsewhere in the present disclosure. See, e.g., operation 1414 of process 1400 and the relevant descriptions thereof.
The judgment unit 1606 may be configured to determine whether the distance is less than or equal to a predetermined distance and whether the second estimated duration is less than or equal to a third predetermined duration. More descriptions of the predetermined distance and the third predetermined duration may be found elsewhere in the present disclosure. See, e.g., operation 1416 of process 1400 and the relevant descriptions thereof.
The allocation sub-unit 1608 may be configured to determine the order to the vehicle or other vehicles. In response to a determination that the distance is less than or equal to the predetermined distance and the second estimated duration is less than or equal to the third predetermined duration, the allocation sub-unit 1608 may allocate the order to the vehicle. In response to a determination that the distance is greater than the predetermined distance or the second estimated duration is greater than the third predetermined duration, the allocation sub-unit 1608 may allocate the order to other vehicles (e.g., a candidate vehicle) . If no candidate vehicle is available, the allocation sub-unit 1608 may allocate the order to the vehicle. More descriptions regarding the allocation of the order may be found elsewhere in the present disclosure. See, e.g.,  operations  1418 and 1420 of process 1400 and the relevant descriptions thereof.
It should be noted that the above descriptions of the allocation unit 1506 is provided for the purposes of illustration, and is not intended to limit the scope of the present disclosure. For persons having ordinary skills in the art, multiple variations and modifications may be made under the teachings of the present disclosure. However, those variations and modifications do not depart from the scope of the present disclosure. In some embodiments, one or more of the sub-units mentioned above may be omitted. In  some embodiments, one or more of the sub-units mentioned above may be combined into a single unit. For example, the judgment sub-unit 1606 and the allocation sub-unit 1608 may be integrated into a single unit. In some embodiments, the allocation unit 1506 may further include one or more additional sub-units, such as a storage sub-unit.
FIG. 17 is a schematic block diagram of a computer device 1700 according to some embodiments of the present disclosure. The computer device 1700 may include a storage 1702 and a processor 1704.
The storage 1702 may include a set of instructions. The processor 1704 may execute the set of instructions to implement one or more operations of the process for order allocation (e.g., the process 1300, the process 1400) .
The present disclosure may further provide a non-transitory computer-readable storage medium. The non-transitory computer-readable storage medium may include computer programs. The computer programs may be executed by a processor (e.g., the processor 1704) to implement one or more operations of the process for order allocation (e.g., the process 1300, the process 1400) .
In the description of the present specification, the description of the terms "one embodiment" , "some embodiments" , "specific embodiment" , etc. means that the specific features, structures, materials or features described in connection with the embodiments or examples are included in at least one embodiment or example of the present disclosure. In this specification, a schematic representation of the term does not necessarily mean a same embodiment or instance. Moreover, the particular features, structures, materials, or characteristics described may be combined in a suitable manner in any one or more embodiments or examples.
The above description is only a preferred embodiment of the present disclosure and is not intended to limit the scope of the present disclosure, and the present disclosure may have various modifications and variations. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present disclosure shall be covered by the scope of the present disclosure.
Having thus described the basic concepts, it may be rather apparent to those skilled in the art after reading this detailed disclosure that the foregoing detailed disclosure is intended to be presented by way of example only and is not limiting. Various alterations, improvements, and modifications may occur and are intended to those skilled in the art, though not expressly stated herein. These alterations, improvements, and modifications are intended to be suggested by this disclosure, and are within the spirit and scope of the exemplary embodiments of this disclosure.
Moreover, certain terminology has been used to describe embodiments of the present disclosure. For example, the terms “one embodiment, ” “an embodiment, ” and/or “some embodiments” mean that a particular feature, structure or characteristic described in connection with the embodiment is included in at least one embodiment of the present disclosure. Therefore, it is emphasized and should be appreciated that two or more references to “an embodiment, ” “one embodiment, ” or “an alternative embodiment” in various portions of this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures or characteristics may be combined as suitable in one or more embodiments of the present disclosure.
Further, it will be appreciated by one skilled in the art, aspects of the present disclosure may be illustrated and described herein in any of a number of patentable classes or context including any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof. Accordingly, aspects of the present disclosure may be implemented entirely hardware, entirely software (including firmware, resident software, micro-code, etc. ) or combining software and hardware implementation that may all generally be referred to herein as a "block, " “module, ” “engine, ” “unit, ” “component, ” or “system. ” Furthermore, aspects of the present disclosure may take the form of a computer program product embodied in one or more computer readable media having computer readable program code embodied thereon.
A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part  of a carrier wave. Such a propagated signal may take any of a variety of forms, including electro-magnetic, optical, or the like, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that may communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable signal medium may be transmitted using any appropriate medium, including wireless, wireline, optical fiber cable, RF, or the like, or any suitable combination of the foregoing.
Computer program code for carrying out operations for aspects of the present disclosure may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Scala, Smalltalk, Eiffel, JADE, Emerald, C++, C#, VB. NET, Python or the like, conventional procedural programming languages, such as the “C” programming language, Visual Basic, Fortran 1703, Perl, COBOL 1702, PHP, ABAP, dynamic programming languages such as Python, Ruby and Groovy, or other programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN) , or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider) or in a cloud computing environment or offered as a service such as a software as a service (SaaS) .
Furthermore, the recited order of processing elements or sequences, or the use of numbers, letters, or other designations, therefore, is not intended to limit the claimed processes and methods to any order except as may be specified in the claims. Although the above disclosure discusses through various examples what is currently considered to be a variety of useful embodiments of the disclosure, it is to be understood that such detail  is solely for that purpose, and that the appended claims are not limited to the disclosed embodiments, but, on the contrary, are intended to cover modifications and equivalent arrangements that are within the spirit and scope of the disclosed embodiments. For example, although the implementation of various components described above may be embodied in a hardware device, it may also be implemented as a software-only solution-e.g., an installation on an existing server or mobile device.
Similarly, it should be appreciated that in the foregoing description of embodiments of the present disclosure, various features are sometimes grouped together in a single embodiment, figure, or description thereof for the purpose of streamlining the disclosure aiding in the understanding of one or more of the various embodiments. This method of disclosure, however, is not to be interpreted as reflecting an intention that the claimed subject matter requires more features than are expressly recited in each claim. Rather, claimed subject matter may lie in less than all features of a single foregoing disclosed embodiment.

Claims (33)

  1. An order allocation method implemented on a computing device having at least one processor, at least one storage medium, and a communication platform connected to a network, comprising:
    receiving location information including departure location information and destination information of a user terminal sent by the user terminal;
    sending, to the user terminal, at least one order that matches the location information;
    receiving, from the user terminal, an order acceptance to one order of the at least one order; and
    determining, based on a screening model, whether to allocate the order to the user terminal.
  2. The order allocation method of claim 1, wherein the sending at least one order that matches the location information to the user terminal comprises:
    determining a matching reference based on the departure location information and the destination information;
    for an order in an order pool that includes a plurality of orders, determining a matching degree between the order and the matching reference; and
    in response to a determination that the matching degree of the order is greater than or equal to a predetermined matching threshold, designating the order as the at least one order.
  3. The order allocation method of claim 2, wherein the determining a matching degree between the order and the matching reference comprises:
    determining whether a distance between a departure location of the order and the departure location information of the user terminal is less than or equal to a first predetermined distance threshold; and
    in response to a determination that the distance between the departure location of the order and the departure location information of the user terminal is less than or equal to the first predetermined distance threshold, determining the matching degree between the order and the matching reference based on a plurality of first parameters and a correspondent weight thereof, wherein the plurality of first parameters includes a distance between the departure location and a destination of the order, a detour ratio, a carpool ratio.
  4. The order allocation method of any one of claim 2 or 3, wherein
    the location information includes a current location of the user terminal,
    the order pool includes one or more real-time orders and one or more reserved orders, and
    the sending at least one order that matches the location information to the user terminal comprises:
    if a distance between a departure location of a real-time order of the one or more real-time orders and the current location of the user terminal is less than or equal to a second predetermined distance threshold, sending the real-time order to the user terminal; and/or
    if a distance between a departure location of a reserved order of the one or more reserved orders and the current location of the user terminal is less than or equal to a third predetermined distance threshold, sending the reserved order to the user terminal.
  5. The order allocation method of any one of claims 1-4, wherein the determining whether to allocate the order to the user terminal based on a screening model comprises:
    if the order is accepted by a plurality of user terminals of the user terminal, determining at least two authorized user terminals among the plurality of user terminals based on the screening model;
    determining a target user terminal from the at least two authorized user terminals based on the screening model and a plurality of second parameters; and
    allocating the order to the target user terminal.
  6. The order allocation method of any one of claims 1-5, further comprises:
    if the order is accepted by only one of the user terminal, allocating the order to the user terminal.
  7. The order allocation method of any one of claims 1-6, wherein the order is accepted by the user terminal via an order selection page of the user terminal.
  8. An order allocation method implemented on a user terminal having at least one processor, at least one storage medium, and a communication platform connected to a network, comprising:
    sending location information of the user terminal to a server via an order selection page;
    receiving at least one order that matches the location information of the user terminal sent by the server; and
    if the at least one order is more than one, sequentially displaying, based on a predetermined sequencing rule, the at least one order on an order list page, each of the at least one order being displayed via an order card, wherein the order card includes an order acceptance interface configured to perform an order acceptance operation for the order, and to send the order acceptance to the server after performing the order acceptance operation.
  9. The order allocation method of claim 8, wherein the order selection page includes a location interface, and the sending location information of the user terminal to a server and  receiving at least one order that matches the location information of the user terminal sent by the server comprises:
    detecting departure location information and destination information of the user terminal received via the location interface;
    sending the departure location information and the destination information of the user terminal to the server; and
    receiving one or more orders that matches the departure location information and the destination information of the user terminal sent by the server.
  10. The order allocation method of claim 9, wherein the at least one order includes a plurality of real-time orders and a plurality of reserved orders, and the sequentially displaying, the at least one order on an order list page based on a predetermined sequencing rule comprises:
    sequencing the plurality of real-time orders in front of the plurality of reserved orders;
    sequencing the plurality of real-time orders based on estimated times of the plurality of real-time orders and/or matching degrees of the plurality of real-time orders;
    sequencing the plurality of reserved orders based on estimated times of the plurality of reserved orders and/or matching degrees of the plurality of reserved orders; and
    displaying the sequenced real-time orders and reserved orders on the order list page.
  11. The order allocation method of claim 10, wherein the order card of an order includes at least one of:
    an order departure time, the matching degree of the order, a travel distance of the order, a departure location of the order, a distance between the departure location of the order and the departure location information, a destination of the order, or a distance between the destination of the order and the destination information.
  12. The order allocation method of claim 8, wherein the sending location information of the user terminal to a server and receiving at least one order that matches the location information of the user terminal sent by the server comprises:
    sending a current location of the user terminal to the server; and
    receiving one or more close-to-the current -location orders that matches the current location of the user terminal sent by the server.
  13. The order allocation method of claim 12, wherein if the one or more close-to-the current -location orders are more than one, the order selection page includes a preview area for the one or more close-to-the current -location orders, and the sequentially displaying the at least one order on an order list page based on a predetermined sequencing rule comprises:
    displaying a predetermined portion of the one or more close-to-the current -location orders on the preview area, wherein the preview area includes a checking interface configured to display all the one or more close-to-the current -location orders and switch the order selection page to the order list page;
    sequencing, based on departure times of the one or more close-to-the current -location orders, the one or more close-to-the current -location orders on the order list page.
  14. The order allocation method of claim 13, wherein the order card of a close-to-the current -location order further includes at least one of:
    a departure time, a departure location and a destination of the close-to-the current -location orders order, or a distance between the departure location and the current location of the user terminal.
  15. The order allocation method of any one of claims 8-14, further comprises:
    refreshing the order list page based on a predetermined period; and
    when receiving a new order that matches the location information of the user terminal, displaying the new order on the order list page.
  16. An order allocation device, applicable to a server, comprising:
    a first receiving unit configured to receive location information including departure location information and destination information of a user terminal sent by the user terminal;
    a first sending unit configured to send, to the user terminal, at least one order that matches the location information;
    the first receiving unit further configured to receive, from the user terminal, an order acceptance to one order of the at least one order; and
    a determination unit configured to determine, based on a screening model, whether to allocate the order to the user terminal.
  17. An order allocation device, applicable to a user terminal, comprising:
    a second sending unit configured to send location information of the user terminal to a server via an order selection page;
    a second receiving unit configured to receive at least one order that matches the location information of the user terminal sent by the server; and
    a display unit configured to, if the at least one order is more than one, sequentially display, based on a predetermined sequencing rule, the at least one order on an order list page, each of the at least one order being displayed via an order card, wherein the order card includes an order acceptance interface configured to perform an order acceptance operation for the order, and to send the order acceptance to the server after performing the order acceptance operation.
  18. An order allocation system, comprising:
    at least one storage device including a set of instructions;
    at least one processor in communication with the at least one storage device, wherein when executing the set of instructions, the at least one processor is directed to:
    receive location information including departure location information and destination information of a user terminal sent by the user terminal;
    send, to the user terminal, at least one order that matches the location information;
    receive, from the user terminal, an order acceptance to one order of the at least one order; and
    determine, based on a screening model, whether to allocate the order to the user terminal.
  19. An order allocation system, comprising:
    at least one storage device including a set of instructions;
    at least one processor in communication with the at least one storage device, wherein when executing the set of instructions, the at least one processor is directed to:
    send location information of the user terminal to a server via an order selection page;
    receive at least one order that matches the location information of the user terminal sent by the server; and
    if the at least one order is more than one, sequentially display, based on a predetermined sequencing rule, the at least one order on an order list page, each of the at least one order being displayed via an order card, wherein the order card includes an order acceptance interface configured to perform an order acceptance operation for the order, and to send the order acceptance to the server after performing the order acceptance operation.
  20. A non-transitory computer-readable storage medium embodying a computer program product, the computer program product comprising instructions configured to cause a computing device to:
    receive location information including departure location information and destination information of a user terminal sent by the user terminal;
    send, to the user terminal, at least one order that matches the location information;
    receive, from the user terminal, an order acceptance to one order of the at least one order; and
    determine, based on a screening model, whether to allocate the order to the user terminal.
  21. A non-transitory computer-readable storage medium embodying a computer program product, the computer program product comprising instructions configured to cause a computing device to:
    send location information of the user terminal to a server via an order selection page;
    receive at least one order that matches the location information of the user terminal sent by the server; and
    if the at least one order is more than one, sequentially display, based on a predetermined sequencing rule, the at least one order on an order list page, each of the at least one order being displayed via an order card, wherein the order card includes an order acceptance interface configured to perform an order acceptance operation for the order, and to send the order acceptance to the server after performing the order acceptance operation.
  22. An order allocation method implemented on a computing device having at least one processor, at least one storage medium, and a communication platform connected to a network, comprising:
    obtaining a departure location of an order and a current location of a vehicle;
    determining a first route from the current location of the vehicle to the departure location of the order, and determining a direction adjustment location of the vehicle based on the first route, the direction adjustment location being used for adjusting a driving direction of the vehicle;
    determining a first estimated duration driving from the current location to the direction adjustment location;
    in response to a determination that the first estimated duration is greater than or equal to a first predetermined duration, allocating the order to the vehicle; or
    in response to a determination that the first estimated duration is less than the first predetermined duration, determining an expected driving route of the vehicle, and determining whether to allocate the order to the vehicle based on the expected driving route of the vehicle.
  23. The order allocation method of claim 22, wherein the vehicle does not have an on-going order, and the determining an expected driving route of the vehicle comprises:
    obtaining a plurality of candidate driving routes;
    selecting, based on predetermined information, one of the plurality of candidate driving routes as the expected driving route of the vehicle.
  24. The order allocation method of claim 23, wherein the predetermined information includes at least one of: a number of intersections with traffic lights, a number of historical vehicles in different driving directions at each of the intersections with traffic lights, a number of historical vehicles in different driving directions at intersections without traffic lights; road grades, speed grades, real-time road conditions, a driving route of the plurality of candidate driving routes chosen by the historical vehicles, a distance from the current location to the direction adjustment location, a type of a lane in which the vehicle is running, a current speed of the vehicle, historical driving routes chosen by the vehicle, or hot areas surrounding the current location of the vehicle.
  25. The order allocation method of claim 22, wherein the vehicle has an on-going order, and the determining an expected driving route of the vehicle comprises:
    obtaining a second route related to the on-going order, the second route being a route from the current location of the vehicle to a departure location or a destination of the on-going order; and
    determining the second route as the expected driving route of the vehicle.
  26. The order allocation method of any one of claims 22-25, wherein the determining whether to allocate the order to the vehicle based on the expected driving route of the vehicle comprises:
    determining a driving direction of the vehicle at the direction adjustment location of the vehicle based on the expected driving route; and
    in response to a determination that the driving direction of the vehicle at the direction adjustment location is consistent with the first route, allocate the order to the vehicle.
  27. The order allocation method of any one of claims 22-26, wherein the determining whether to allocate the order to the vehicle based on the expected driving route of the vehicle comprises:
    determining an expected location on the expected driving route after a second predetermined duration;
    determining a distance between the expected location and the departure location of the order and a second estimated duration driving from the expected location to the departure location of the order;
    determining whether the distance is less than or equal to a predetermined distance and whether the second estimated duration is less than or equal to a third predetermined duration;
    in response to a determination that the distance is less than or equal to the predetermined distance and the second estimated duration is less than or equal to the third predetermined duration; allocating the order to the vehicle; or
    in response to a determination that the distance is greater than the predetermined distance or the second estimated duration is greater than the third predetermined duration, not allocating the order to the vehicle.
  28. The order allocation method of claim 27, further comprising:
    if no candidate vehicle is available, allocating the order to the vehicle.
  29. The order allocation method of claim 22, wherein the vehicle does not have an on-going order, and the determining a direction adjustment location of the vehicle based on the first route comprises:
    determining an intersection on the first route that is nearest to the current location of the vehicle as the direction adjustment location of the vehicle.
  30. The order allocation method of claim 22, wherein the vehicle has an on-going order, and the determining a direction adjustment location of the vehicle based on the first route comprises:
    determining a second route related to the on-going order, the second route being a route from the current location of the vehicle to a departure location or a destination of the on-going order; and
    determining a branching intersection of the first route and the second route as the direction adjustment location of the vehicle.
  31. An order allocation system, comprises:
    an obtaining unit configured to obtain a departure location of an order and a current location of a vehicle;
    the obtaining unit further configured to determine a first route from the current location of the vehicle to the departure location of the order, and determine a direction adjustment location of the vehicle based on the first route, the direction adjustment location being used for adjusting a driving direction of the vehicle;
    an allocation unit configured to:
    in response to a determination that the first estimated duration is greater than or equal to a first predetermined duration, allocate the order to the vehicle; or
    in response to a determination that the first estimated duration is less than the first predetermined duration, determine an expected driving route of the vehicle, and determine whether to allocate the order to the vehicle based on the expected driving route of the vehicle.
  32. An order allocation system, comprising:
    at least one storage device including a set of instructions;
    at least one processor in communication with the at least one storage device, wherein when executing the set of instructions, the at least one processor is directed to:
    obtain a departure location of an order and a current location of a vehicle;
    determine a first route from the current location of the vehicle to the departure location of the order, and determine a direction adjustment location of the vehicle based on the first route, the direction adjustment location being used for adjusting a driving direction of the vehicle;
    in response to a determination that the first estimated duration is greater than or equal to a first predetermined duration, allocate the order to the vehicle; or
    in response to a determination that the first estimated duration is less than the first predetermined duration, determine an expected driving route of the vehicle, and determine whether to allocate the order to the vehicle based on the expected driving route of the vehicle.
  33. A non-transitory computer-readable storage medium embodying a computer program product, the computer program product comprising instructions configured to cause a computing device to:
    obtain a departure location of an order and a current location of a vehicle;
    determine a first route from the current location of the vehicle to the departure location of the order, and determine a direction adjustment location of the vehicle based on the first route, the direction adjustment location being used for adjusting a driving direction of the vehicle;
    in response to a determination that the first estimated duration is greater than or equal to a first predetermined duration, allocate the order to the vehicle; or
    in response to a determination that the first estimated duration is less than the first predetermined duration, determine an expected driving route of the vehicle, and determine whether to allocate the order to the vehicle based on the expected driving route of the vehicle.
PCT/CN2019/087496 2018-05-18 2019-05-17 Systems and methods for order allocation Ceased WO2019219088A1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN201810482072.2 2018-05-18
CN201810482072.2A CN108805411A (en) 2018-05-18 2018-05-18 Net about vehicle order allocation method, device, server, terminal and readable storage medium storing program for executing
CN201810573367.0A CN110570263B (en) 2018-06-06 2018-06-06 Order distribution method, distribution system, computer device and readable storage medium
CN201810573367.0 2018-06-06

Publications (1)

Publication Number Publication Date
WO2019219088A1 true WO2019219088A1 (en) 2019-11-21

Family

ID=68539521

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/087496 Ceased WO2019219088A1 (en) 2018-05-18 2019-05-17 Systems and methods for order allocation

Country Status (1)

Country Link
WO (1) WO2019219088A1 (en)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111008792A (en) * 2019-12-24 2020-04-14 北京三快在线科技有限公司 Order distribution method, device, server and storage medium
CN111222911A (en) * 2019-12-03 2020-06-02 佛山欧神诺云商科技有限公司 Customer tracking method, device, medium and system based on online privilege order
CN111461485A (en) * 2020-03-02 2020-07-28 平安国际智慧城市科技股份有限公司 Task allocation method, device, equipment and computer readable storage medium
CN111738409A (en) * 2020-05-14 2020-10-02 华为技术有限公司 A resource scheduling method and related equipment
CN111832875A (en) * 2020-03-19 2020-10-27 北京嘀嘀无限科技发展有限公司 Data processing method, readable storage medium and electronic device
CN111932050A (en) * 2020-05-26 2020-11-13 浙江数链科技有限公司 Order dispatching method and device, computer equipment and computer readable storage medium
CN113112046A (en) * 2020-01-13 2021-07-13 北京嘀嘀无限科技发展有限公司 Travel order state updating method and updating device
CN113240897A (en) * 2020-01-23 2021-08-10 奥迪股份公司 Vehicle scheduling method, system and computer readable storage medium
CN113393003A (en) * 2021-05-27 2021-09-14 浙江吉利控股集团有限公司 Order processing method, device, server and storage medium
CN113469514A (en) * 2021-06-25 2021-10-01 广州宸祺出行科技有限公司 Online taxi appointment and order dispatching method and device based on appointment orders and electronic equipment
CN113990092A (en) * 2021-09-24 2022-01-28 青岛海尔科技有限公司 Travel planning information determination method and device, storage medium and electronic device
CN114386871A (en) * 2022-01-18 2022-04-22 浙江木桐花开科技有限公司 Scheduling method and system for improving transportation efficiency, computer equipment and storage medium
CN114548682A (en) * 2022-01-19 2022-05-27 浙江吉利控股集团有限公司 Order distribution method, order distribution device and computer readable storage medium
CN115660758A (en) * 2022-11-21 2023-01-31 苏州大学 Billing method and system for online carpooling
CN116128254A (en) * 2023-03-30 2023-05-16 西北工业大学 Embedded intelligent manufacturing resource configuration method and terminal system based on edge calculation
CN119250479A (en) * 2024-12-04 2025-01-03 北京云行在线软件开发有限责任公司 A method and device for dispatching orders in weak signal scenarios, storage medium, and equipment

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104167093A (en) * 2014-08-04 2014-11-26 北京嘀嘀无限科技发展有限公司 Hitchhiking operation system based on driver address information
CN105957337A (en) * 2016-06-02 2016-09-21 深圳市永兴元科技有限公司 Order processing method and apparatus
CN107016864A (en) * 2016-01-27 2017-08-04 滴滴(中国)科技有限公司 terminal information display method and device based on GPS
CN108805411A (en) * 2018-05-18 2018-11-13 北京嘀嘀无限科技发展有限公司 Net about vehicle order allocation method, device, server, terminal and readable storage medium storing program for executing

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104167093A (en) * 2014-08-04 2014-11-26 北京嘀嘀无限科技发展有限公司 Hitchhiking operation system based on driver address information
CN107016864A (en) * 2016-01-27 2017-08-04 滴滴(中国)科技有限公司 terminal information display method and device based on GPS
CN105957337A (en) * 2016-06-02 2016-09-21 深圳市永兴元科技有限公司 Order processing method and apparatus
CN108805411A (en) * 2018-05-18 2018-11-13 北京嘀嘀无限科技发展有限公司 Net about vehicle order allocation method, device, server, terminal and readable storage medium storing program for executing

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111222911A (en) * 2019-12-03 2020-06-02 佛山欧神诺云商科技有限公司 Customer tracking method, device, medium and system based on online privilege order
CN111008792A (en) * 2019-12-24 2020-04-14 北京三快在线科技有限公司 Order distribution method, device, server and storage medium
CN113112046A (en) * 2020-01-13 2021-07-13 北京嘀嘀无限科技发展有限公司 Travel order state updating method and updating device
CN113240897A (en) * 2020-01-23 2021-08-10 奥迪股份公司 Vehicle scheduling method, system and computer readable storage medium
CN111461485A (en) * 2020-03-02 2020-07-28 平安国际智慧城市科技股份有限公司 Task allocation method, device, equipment and computer readable storage medium
CN111832875A (en) * 2020-03-19 2020-10-27 北京嘀嘀无限科技发展有限公司 Data processing method, readable storage medium and electronic device
CN111738409B (en) * 2020-05-14 2024-05-24 华为技术有限公司 A resource scheduling method and related equipment
CN111738409A (en) * 2020-05-14 2020-10-02 华为技术有限公司 A resource scheduling method and related equipment
CN111932050A (en) * 2020-05-26 2020-11-13 浙江数链科技有限公司 Order dispatching method and device, computer equipment and computer readable storage medium
CN113393003A (en) * 2021-05-27 2021-09-14 浙江吉利控股集团有限公司 Order processing method, device, server and storage medium
CN113393003B (en) * 2021-05-27 2023-11-24 浙江吉利控股集团有限公司 Order processing method, device, server and storage medium
CN113469514B (en) * 2021-06-25 2024-03-08 广州宸祺出行科技有限公司 Network appointment vehicle dispatching method and device based on appointment orders and electronic equipment
CN113469514A (en) * 2021-06-25 2021-10-01 广州宸祺出行科技有限公司 Online taxi appointment and order dispatching method and device based on appointment orders and electronic equipment
CN113990092A (en) * 2021-09-24 2022-01-28 青岛海尔科技有限公司 Travel planning information determination method and device, storage medium and electronic device
CN114386871A (en) * 2022-01-18 2022-04-22 浙江木桐花开科技有限公司 Scheduling method and system for improving transportation efficiency, computer equipment and storage medium
CN114548682A (en) * 2022-01-19 2022-05-27 浙江吉利控股集团有限公司 Order distribution method, order distribution device and computer readable storage medium
CN115660758A (en) * 2022-11-21 2023-01-31 苏州大学 Billing method and system for online carpooling
CN116128254A (en) * 2023-03-30 2023-05-16 西北工业大学 Embedded intelligent manufacturing resource configuration method and terminal system based on edge calculation
CN119250479A (en) * 2024-12-04 2025-01-03 北京云行在线软件开发有限责任公司 A method and device for dispatching orders in weak signal scenarios, storage medium, and equipment

Similar Documents

Publication Publication Date Title
WO2019219088A1 (en) Systems and methods for order allocation
US20190120639A1 (en) Systems and methods for route planning
US20210140774A1 (en) Systems and methods for recommending pick-up locations
CN109478364B (en) Method and system for determining estimated time of arrival
US20200011692A1 (en) Systems and methods for recommending an estimated time of arrival
WO2017181932A1 (en) Systems and methods for recommending an estimated time of arrival
WO2021012342A1 (en) Systems and methods for traffic prediction
US20200042885A1 (en) Systems and methods for determining an estimated time of arrival
CN109429520B (en) Method, system, device and readable medium for checking cheating service orders
WO2017202112A1 (en) Systems and methods for distributing request for service
WO2018227387A1 (en) Methods and systems for route planning
WO2019109604A1 (en) Systems and methods for determining an estimated time of arrival for online to offline services
JP2021521549A (en) Systems and methods for recommending driving services
WO2017107932A1 (en) Systems and methods for updating sequence of services
US20210035253A1 (en) Devices and methods for processing service request
US20210247197A1 (en) Systems and methods for allocating a service request
CN111861622A (en) A method and system for determining a pick-up point recommendation model
WO2021012244A1 (en) Systems and methods for order dispatching
WO2021056250A1 (en) Systems and methods for recommendation and display of point of interest
WO2019154208A1 (en) Systems and methods for determining operation strategy for service platform
WO2019158004A1 (en) Systems and methods for service request processing
WO2021035578A1 (en) Systems and methods for question recommendation
WO2019153944A1 (en) Systems and methods for secured communication of service information
WO2020151725A1 (en) Method and device for location prediction

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19804594

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19804594

Country of ref document: EP

Kind code of ref document: A1