WO2019205815A1 - Systems and methods for determining candidate service providers - Google Patents

Systems and methods for determining candidate service providers Download PDF

Info

Publication number
WO2019205815A1
WO2019205815A1 PCT/CN2019/077034 CN2019077034W WO2019205815A1 WO 2019205815 A1 WO2019205815 A1 WO 2019205815A1 CN 2019077034 W CN2019077034 W CN 2019077034W WO 2019205815 A1 WO2019205815 A1 WO 2019205815A1
Authority
WO
WIPO (PCT)
Prior art keywords
service
location
time
pick
requester
Prior art date
Application number
PCT/CN2019/077034
Other languages
English (en)
French (fr)
Inventor
Baotong Yang
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
Application filed by Beijing Didi Infinity Technology And Development Co., Ltd. filed Critical Beijing Didi Infinity Technology And Development Co., Ltd.
Publication of WO2019205815A1 publication Critical patent/WO2019205815A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06313Resource planning in a project environment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR 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

Definitions

  • the present disclosure relates to online to offline services, and specifically, relates to systems and methods for determining candidate service providers for service requesters in online to offline services.
  • the platform of the online taxi-hailing service usually recommends available taxi drivers for the passenger. It is necessary for the platform to consider a pick-up time when the passenger arrives at a pick-up location in order to recommend suitable available taxi drivers for the passenger.
  • the platform may be only a small number of taxi drivers available, making it difficult for the platform to find someone who can arrive at the pick-up location at or before the estimated pick-up time, resulting in bad user experience. Therefore, it is desirable to provide systems and methods for efficiently and promptly determining available taxi drivers for passengers, reducing the waiting time and improving user experience.
  • a system for determining candidate service providers in an online to offline service may include one or more storage devices and one or more processors configured to communicate with the one or more storage devices.
  • the one or more storage devices may include a set of instructions.
  • the one or more processors may be directed to perform one or more of the following operations.
  • the one or more processors may receive a service request from a terminal associated with a service requester.
  • the one or more processors may obtain a pick-up location of the service request and a request location of the service requester.
  • the request location may be where the terminal associated with the service requester transmits the service request.
  • the one or more processors may estimate an arrival time of the service requester to the pick-up location based on the request location and the pick-up location.
  • the one or more processors may determine at least one time-range based on the estimated arrival time.
  • the one or more processors may determine at least one service provider that is able to arrive at the pick-up location in the at least one time-range as a candidate service provider.
  • the one or more processors may determine a distance between the request location and the pick-up location.
  • the one or more processors may determine a speed of the service requester.
  • the one or more processors may estimate the arrival time based on the distance and the speed.
  • the distance may be a length of a route between the request location and the pick-up location.
  • the speed of the service requester may be obtained from the terminal associated with the service requester.
  • the speed of the service requester may be a predetermined value.
  • the speed of the service requester may be determined based on historical requests associated with the service requester.
  • the one or more processors may obtain a plurality of historical requests associated with a plurality of historical service requesters.
  • the one or more processors may determine historical travel times of the historical service requesters from historical request locations to historical pick-up locations of the plurality of historical requests.
  • the one or more processors may estimate the arrival time based on the historical travel times.
  • the one or more processors may determine a first time-range based on the estimated arrival time.
  • the one or more processors may transmit the first time-range to the terminal associated with the service requester and direct the terminal to display the first time-range.
  • the one or more processors may determine a second time-range based on the first time-range.
  • the second time-range may be larger than the first time-range.
  • the candidate service provider may be a service provide that is able to arrive at the pick-up location in the second time-range.
  • the one or more processors may determine a plurality of service providers that are able to arrive at the pick-up location in the at least one time-range.
  • the one or more processors may determine the candidate service provider by selecting at least one service provider from the plurality of service providers.
  • the one or more processors may transmit information associated with the candidate service provider to the terminal associated with the service requester.
  • the one or more processors may determine provider scores respectively associated with the plurality of service providers.
  • the one or more processors may determine a service provider of the plurality of service providers with a highest score as the candidate service provider, or determine at least one of the plurality of service providers of which the score is greater than a score threshold as the candidate service provider.
  • the provider score may be determined based on at least one of evaluation of the service provider, distance between a current location of the service provider and the pick-up location, travel time of the provider from the current location of the service providers to the pick-up location, types of routes from the current location of the service provider to the pick-up location, and road conditions of the routes from the current location of the service provider to the pick-up location.
  • a method for determining candidate service providers in an online to offline service may include one or more of the following operations.
  • One or more processors may receive a service request from a terminal associated with a service requester.
  • the one or more processors may obtain a pick-up location of the service request and a request location of the service requester.
  • the request location may be where the terminal associated with the service requester transmits the service request.
  • the one or more processors may estimate an arrival time of the service requester to the pick-up location based on the request location and the pick-up location.
  • the one or more processors may determine at least one time-range based on the estimated arrival time.
  • the one or more processors may determine at least one service provider that is able to arrive at the pick-up location in the at least one time-range as a candidate service provider.
  • a system for determining candidate service providers in an online to offline service may include an obtaining module configured to receive a service request from a terminal associated with a service requester and obtain a pick-up location of the service request and a request location of the service requester.
  • the request location may be where the terminal associated with the service requester transmits the service request.
  • the system may also include an estimating module configured to estimate an arrival time of the service requester to the pick-up location based on the request location and the pick-up location.
  • the system may also include a determination module configured to determine at least one time-range based on the estimated arrival time.
  • the system may also include a selecting module configured to determine at least one service provider that is able to arrive at the pick-up location in the at least one time-range as a candidate service provider.
  • a non-transitory computer readable medium may comprise at least one set of instructions for determining candidate service providers in an online to offline service.
  • the at least one set of instructions may be executed by one or more processors of a computer server.
  • the one or more processors may receive a service request from a terminal associated with a service requester.
  • the one or more processors may obtain a pick-up location of the service request and a request location of the service requester.
  • the request location may be where the terminal associated with the service requester transmits the service request.
  • the one or more processors may estimate an arrival time of the service requester to the pick-up location based on the request location and the pick-up location.
  • the one or more processors may determine at least one time-range based on the estimated arrival time.
  • the one or more processors may determine at least one service provider that is able to arrive at the pick-up location in the at least one time-range as a candidate service provider.
  • FIG. 1 is a schematic diagram of an exemplary online to offline service system according to some embodiments of the present disclosure
  • FIG. 2 is a schematic diagram of exemplary hardware and/or software components of a computing device according to some embodiments of the present disclosure
  • FIG. 3 is a schematic diagram of exemplary hardware and/or software components of a mobile device according to some embodiments of the present disclosure
  • FIG. 4 is a block diagram of an exemplary processing engine according to some embodiments of the present disclosure.
  • FIG. 5 is a block diagram of an exemplary processing module according to some embodiments of the present disclosure.
  • FIG. 6 is an exemplary flowchart of an exemplary process for determining one or more candidate service providers according to some embodiments of the present disclosure
  • FIG. 7 is a flowchart of an exemplary process for estimating an arrival time of a service requester to a pick-up location according to some embodiments of the present disclosure.
  • FIG. 8 is a flowchart of an exemplary process for determining one or more candidate service providers according to some embodiments of the present disclosure.
  • system, ” “engine, ” “unit, ” “module” and/or “block” as used in the present disclosure are a level method for distinguishing different components, elements, parts, parts or components in ascending order. However, if other expressions achieve the same purpose, these terms may be replaced by other expressions.
  • module, " unit, “ or “block” as used in the present disclosure refers to logic embodied in a collection of hardware or firmware or software instructions.
  • the modules, units or blocks described in the present disclosure may be executed on software and/or hardware and may be stored in any type of non-transitory computer readable medium or other storage device.
  • the software module, unit, and block may be compiled and connected to the executable program. It should be understood that the software module may be called from other modules, units, blocks or themselves and/or may be invoked in response to detected events or interruptions.
  • a software module/unit/block configured for execution on a computing device e.g., the processing engine 112 as shown in FIG. 1
  • the software code may be stored, in part or in whole, on a storage device executing the computing device for execution by the computing device.
  • Software instructions may be embedded in firmware, such as EPROM. It should be understood that hardware modules, units or blocks may be included in connected logical components, such as gates and flip-flops and/or may be included in a programmable unit such as a programmable gate array or processor.
  • the module, unit, block or computing device function described by the present disclosure may be implemented as a software module/unit/block, but may be represented by hardware or firmware.
  • the modules, units, and blocks described herein refer to logical modules, units, and 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 applied to a system, an engine, or a portion thereof.
  • system or method of the present disclosure may be applied to any other kind of online to offline service.
  • system or method of the present disclosure may be applied to different transportation systems including land, ocean, aerospace, or the like, or any combination thereof.
  • Those transportation systems may provide transportation services transporting a subject from one location to another location using a vehicle.
  • the subject may include passengers and/or goods.
  • the vehicle of the transportation service may include a taxi, a private car, a hitch, a bus, a train, a bullet train, a high speed rail, a subway, a vessel, an aircraft, a spaceship, a hot-air balloon, a driverless vehicle, a bicycle, a tricycle, a motorcycle, or the like, or any combination thereof.
  • the transportation services may include a taxi hailing service, a chauffeur service, a delivery service, a carpooling service, a bus service, a take-out service, a driver hiring service, a shuttle service, or the like, or any combination thereof.
  • the application scenarios of the system or method of the present disclosure may include a web page, a plug-in of a browser, a client terminal, a custom system, an internal analysis system, an artificial intelligence robot, or the like, or any combination thereof.
  • passenger ” “requester, ” “service requester, ” 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.
  • 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.
  • the user may be a passenger, a driver, an operator, or the like, or any combination thereof.
  • passenger and passenger terminal may be used interchangeably, and terms “driver” and “driver terminal” may be used interchangeably.
  • the term “request, ” “service request, ” “order, ” “carpooling order, ” “carpooling request, ” “vanpooling order” and “vanpooling request” in the present disclosure refers to a request that 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.
  • the positioning technology used in the present disclosure may include a global positioning system (GPS) , a global navigation satellite system (GLONASS) , a compass navigation system (COMPASS) , a Galileo positioning system, a quasi-zenith satellite system (QZSS) , a wireless fidelity (WiFi) positioning technology, a BeiDou navigation satellite system (BDS) , an inertial navigation system (INS) , or the like, or any combination thereof.
  • GPS global positioning system
  • GLONASS global navigation satellite system
  • COMPASS compass navigation system
  • Galileo positioning system Galileo positioning system
  • QZSS quasi-zenith satellite system
  • WiFi wireless fidelity positioning technology
  • BDS BeiDou navigation satellite system
  • INS inertial navigation system
  • online to offline service such as online taxi-hailing service
  • online taxi-hailing service is a new form of service rooted only in post-Internet era. It provides technical solutions to service requesters and service providers that could raise only in post-Internet era.
  • pre-Internet era when a passenger hails a taxi on street, the service request and acceptance occur only between the passenger and one taxi driver that sees the passenger. If the passenger hails a taxi through telephone call, the service request and acceptance may occur only between the passenger and one service provider (e.g., one taxi company or agent) .
  • Online taxi-hailing service obtains service requests through Internet and allows a service request initiated by a service requester (e.g., a passenger) to be distributed in real-time and automatically to a vast number of individual service providers (e.g., taxi drivers) distance away from the service requester, and also allows a plurality of service provides to respond to the service request simultaneously and in real-time. Therefore, through Internet, the online to offline service systems may provide a much more efficient transaction platform for the service requesters and the service providers that may never met in a traditional pre-Internet transportation service system.
  • a service requester e.g., a passenger
  • service providers e.g., taxi drivers
  • FIG. 1 is a schematic diagram of an exemplary online to offline service system according to some embodiments of the present disclosure.
  • the online to offline service system 100 may be an online transportation service platform. It may be used for transportation services such as a taxi hailing service, a chauffeur service, a delivery service, a carpooling service, a bus service, a take-out service, a driver hiring service, a shuttle service, or the like, or any combination thereof.
  • the online to offline service system 100 may be an online platform including a server 110, a network 120, one or more requester terminals 130, one or more provider terminals 140, and a storage device 150.
  • the server 110 may include a processing engine 112.
  • the server 110 may be a single server or a server group.
  • the server group may be centralized or decentralized (for example, the server 110 may be a decentralized system) .
  • the server 110 may be local or remote.
  • the server 110 may access data and/or information stored in the requester terminal 130, the provider terminal 140, and/or the storage device 150 via the network 120.
  • the server 110 may connect directly to the requester terminal 130, the provider terminal 140, and/or the storage device 150 to access its stored data and/or information.
  • 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 social area cloud, a decentralized cloud, a cross-cloud, a multiple cloud, and the like, or any combination thereof.
  • the server 110 may be implemented on a computing device 200 having one or more components shown in FIG. 2 and/or a mobile device 300 having one or more components shown in FIG. 3.
  • the server 110 may receive a service request sent by a service requester using the requester terminal 130, obtain a request location where the requester terminal 130 transmits the service request, determine a pick-up location, determine at least one time-range based on the request location of the service requester and the pick-up location, and determine one or more candidate service providers for the service requester based on the at least one time-range.
  • the server 110 may communicate with the provider terminal 140 of a service provider and assign the service request to the provider terminal 140 to notify the service provider to pick up the service requester.
  • the server 110 may communicate with the requester terminal 130 and transmit information (e.g., the license plate number, the gender, etc. ) of one or more candidate service providers to the requester terminal 130.
  • the server 110 may also access the storage device 150 to obtain information such as historical requests, account information of the service requester, or the like.
  • the server 110 may include a processing engine 112.
  • the processing engine 112 may process data and/or information related to the service request to perform one or more functions described by the present disclosure. For example, the processing engine 112 may determine candidate service providers for service requesters based on service requests obtained from the one or more requester terminals 130.
  • the processing engine 112 may include one or more processing engines (e.g., a single core processing engine or a multi-core processor) .
  • the processing engine 112 may include a central processor (CPU) , an application specific integrated circuit (ASIC) , a specific applications instruction set processor (ASIP) , a graphics processor (GPU) , a physical processor (PPU) , digital signal processor (DSP) , field programmable gate array (FPGA) , programmable logic device (PLD) , controller, microcontroller, reduced instruction set computer (RISC) , microprocessor, etc., or any combination thereof.
  • CPU central processor
  • ASIC application specific integrated circuit
  • ASIP specific applications instruction set processor
  • GPU graphics processor
  • PPU physical processor
  • DSP digital signal processor
  • FPGA field programmable gate array
  • PLD programmable logic device
  • controller microcontroller
  • RISC reduced instruction set computer
  • the network 120 may facilitate the exchange of data and/or information.
  • the one or more components in the online to offline service system 100 e.g., the server 110, the requester terminal 130, the provider terminal 140, and the storage device 150
  • the server 110 may obtain a service request from the requester terminal 130 via the network 120.
  • the network 120 may be any type of wired or wireless network or a combination thereof.
  • the network 120 may include cable networks, fiber optic networks, telecommunications networks, intranets, the Internet, local area network (LAN) , wide area network (WAN) , wireless local area network (WLAN) , metropolitan area network (MAN) , public switched telephone network (PSTN) , Bluetooth network, ZigBee network, near field communication network (NFC) , etc., or any combination thereof.
  • the network 120 may include one or more network access points.
  • the network 120 may include a wired or wireless network access point such as base stations and/or network switching points 120-1, 120-2..., one or more components of the online to offline service system 100 may be connected to the network 120 for data and/or information exchange via the network access points.
  • the requester may be the user of the requester terminal 130.
  • the user of the requester terminal 130 may be someone other than the requester.
  • user A of the requester terminal 130 may use the requester terminal 130 to send a service request to user B, or receive a service and/or information or an instruction from the server 110.
  • the requester terminal 130 may receive information from the server 110, display information of a service provider, and/or display the length of waiting time of the service requester for being picked up.
  • the requester terminal 130 may obtain positioning information and/or real-time movement speed information of the service requester through the positioning technology, and transmit the above information to the server 110.
  • the provider may be the user of the provider terminal 140.
  • the user of the provider terminal 140 may be someone other than the provider.
  • user C of the provider terminal 140 may use the provider terminal 140 to receive a service request for user D, or may receive information or an instruction from the server 110.
  • the provider terminal 140 may receive information from the server 110, display information of a service request to the service provider.
  • the information of the service request may include but not limited to a request location of the service request, a pick-up location, a departure time, navigation information of a route to the pick-up location, or the like, or any combination thereof.
  • bypassenger, " “requester, ” “service requester, ” “user, ” and “requester terminal” may be used interchangeably, and “driver, ” “provider, ” “service provider, ” “user” and “provider terminal” may also be used interchangeably.
  • the requester terminal 130 and the server terminal 140 may be collectively referred to as “user terminal” or "client terminal. "
  • the requester terminal 130 may include a mobile device 130-1, a tablet computer 130-2, a laptop computer 130-3, a motor vehicle built-in device 130-4, and 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, smart footwear, smart glasses, smart helmet, smart watch, smart clothing, smart backpack, smart accessory, and the like, or any combination thereof.
  • the smart mobile device may include a smart phone, a personal digital assistant (PDA) , a gaming device, a navigation device, a point of sale (POS) device, and 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 eye mask, an augmented reality helmet, augmented reality glasses, an augmented reality eye mask, and the like, or any combination thereof.
  • the virtual reality device and/or augmented reality device may include Google Glass TM , Oculus Rift TM , HoloLens, Gear VR, or the like.
  • the automotive built-in device 130-4 may include an onboard computer, an onboard television, and the like.
  • the requester terminal 130 may be a device having a positioning technique for determining the location of the requester and/or the requester terminal 130.
  • the provider terminal 140 may be similar to or same as the requester terminal 130. In some embodiments, the provider terminal 140 may be a device having a positioning technique for determining the location of the provider and/or the provider terminal 140. In some embodiments, the requester terminal 130 and/or the provider terminal 140 may communicate with other positioning devices to determine the location of the requester, the requester terminal 130, the provider and/or the provider terminal 140. In some embodiments, the requester terminal 130 and/or the provider terminal 140 may send positioning information to the server 110.
  • the storage device 150 may store data and/or instructions.
  • the storage device 150 may store map data, registration information (or account information) of users (e.g., the service requesters and/or the service providers) , evaluation data on the system 100 of users, historical service requests, records of requesting the online to offline service, and/or historical movement trajectories of service requesters and/or service providers, etc.
  • the storage device 150 may also store reference data or empirical data, such as the average walking speed of humans, the rush hour in one day, and the average road conditions of different time periods in a plurality of regions.
  • the storage device 150 may store data obtained from the requester terminal 130 and/or the provider terminal 140.
  • the storage device 150 may store data and/or instructions executable by the server 110 or used to execute the exemplary methods described in the present disclosure.
  • the storage device 150 may include mass storage, removable storage, volatile read and write memory, read only memory (ROM) , and the like, or any combination thereof.
  • Exemplary mass storage devices may include magnetic disks, optical disks, solid state hard disks, and the like.
  • Exemplary removable storage devices may include flash memory, floppy disks, optical disks, memory cards, compact disks, magnetic tape, and the like.
  • Exemplary volatile read and write memory may include random access memory (RAM) .
  • Exemplary RAMs may include Dynamic RAM (DRAM) , Double Data Rate Synchronous Dynamic RAM (DDR SDRAM) , Static RAM (SRAM) , Thyristor RAM (T-RAM) , and zero capacitance RAM (Z-RAM) .
  • An exemplary ROM may include Masked ROM (MROM) , Programmable ROM (PROM) , Programmable Erasable ROM (PEROM) , Electrically Erasable Programmable ROM (EEPROM) , CD ROM (CD-ROM) and Digital Universal Disk ROM, etc.
  • the storage device 150 may be implemented on a cloud platform.
  • the cloud platform may include a private cloud, a public cloud, a hybrid cloud, a social area cloud, a decentralized cloud, a cross-cloud, a multiple cloud, and the like, or any combination thereof.
  • the storage device 150 may communicate with one or more components (e.g., the server 110, the requester terminal 130, the provider terminal 140, etc. ) in the online to offline service system 100 via the network 120.
  • the one or more components in the online to offline service system 100 may access data or instructions stored in the storage device 150 via the network 120.
  • the storage device 150 may be directly connected or in communication with one or more components of the online to offline service system 100 (e.g., the server 110, the requester terminal 130, the provider terminal 140, etc. ) .
  • the storage device 150 may be part of the server 110.
  • one or more components of the online to offline service system 100 may have access to the storage device 150.
  • the one or more components of the online to offline service system 100 may read and/or modify the information associated with the requester, provider, and/or public when one or more conditions are met.
  • the server 110 may read and/or modify the one or more information of the user after the service.
  • the provider terminal 140 may access the information associated with the requester, but the provider terminal 140 may not modify the related information of the requester.
  • information exchange of one or more components in the online to offline service system 100 may be achieved via a request service.
  • the object of the service request may be any product.
  • a product may be a tangible product or an intangible product.
  • Tangible products may include food, medicine, daily necessities, chemical products, electrical appliances, clothing, automobiles, dwellings, luxury goods, and the like, or any combination thereof.
  • Intangible products may include service products, financial products, knowledge products, internet products, and the like, or any combination thereof.
  • the internet product may include an individual host product, a web product, a mobile internet product, a commercial host product, an embedded product, or the like, or any combination thereof.
  • the mobile internet product may be software, programs or systems on the mobile terminal, or the like, or any combination thereof.
  • the mobile terminal may include a tablet computer, a laptop, a mobile phone, a personal digital assistant (PDA) , a smart watch, a point of sale (POS) device, an onboard computer, an onboard television, a wearable device, and the like, or any combination thereof.
  • the product may be any software and/or applications used on a computer or mobile phone.
  • the software and/or applications program may be associated with social, shopping, transportation, entertainment, learning, investment, and the like, or any combination thereof.
  • the transportation-related software and/or applications may include travel software and/or applications programs, vehicle dispatch software and/or applications programs, map software and/or applications programs, and the like.
  • vehicles may include horses, carriages, rickshaws (e.g., trolleys, bicycles, tricycles, etc. ) , automobiles (e.g., taxis, buses, private cars, etc. ) , trains, subways, boats, aircraft (e.g., airplanes, helicopters, space shuttles, rockets, hot air balloons) , etc., or any combination thereof.
  • rickshaws e.g., trolleys, bicycles, tricycles, etc.
  • automobiles e.g., taxis, buses, private cars, etc.
  • trains subways
  • boats e.g., airplanes, helicopters, space shuttles, rockets, hot air balloons
  • aircraft e.g., airplanes, helicopters, space shuttles, rockets, hot air balloons
  • the storage device 150 may be a data storage including a cloud computing platform, which may be a public cloud, a private cloud, a social area cloud, a hybrid cloud, or the like.
  • a cloud computing platform which may be a public cloud, a private cloud, a social area cloud, a hybrid cloud, or the like.
  • variations and modifications do not depart from the scope of the present disclosure.
  • FIG. 2 is a schematic diagram of exemplary hardware and/or software components of a computing device on which the server 110 and/or the processing engine 112 may be implemented according to some embodiments of the present disclosure.
  • the computing device 200 may include a processor 210, a storage 220, an input/output (I/O) 230, and a communication port 240.
  • I/O input/output
  • the processor 210 may execute computer instructions (e.g., program code) and execute the functions of the processing engine 112 in accordance with the techniques described herein.
  • Computer instructions may include, for example, routines, programs, objects, components, data structures, operations, modules, and functions that perform the particular functions described herein.
  • the processor 210 may process data obtained from the server 110, the requester terminal 130, the provider terminal 140, the storage device 150, and/or any other component of the online to offline service system 100.
  • the processor 210 may include one or more hardware processors such as a microcontroller, a microprocessor, a reduced instruction computer (RISC) , a special applications integrated circuit (ASIC) , a special applications instruction set processor (ASIP) , a central processor unit (CPU) , graphics processor unit (GPU) , physical processor (PPU) , microcontroller unit, digital signal processor (DSP) , field programmable gate array (FPGA) , advanced reduced instructions system machines (ARM) , programmable logic device (PLD) , any circuit or processor capable of performing one or more functions, or the like, or any combination thereof.
  • RISC reduced instruction computer
  • ASIC special applications integrated circuit
  • ASIP special applications instruction set processor
  • CPU central processor unit
  • GPU graphics processor unit
  • PPU physical processor
  • DSP digital signal processor
  • FPGA field programmable gate array
  • ARM programmable logic device
  • PLD programmable logic device
  • processors in the computing device 200 may also include a plurality of processors.
  • the operations and/or method steps performed by a processor described in the present disclosure may also be performed jointly or independently by a plurality of processors.
  • the processor of the computing device 200 performs process A and process B.
  • process A and process B may also be performed jointly or independently by two or more different processors in the computing device 200 (e.g., first processor performs process A, and second processor performs process B; or the first processor and the second processor jointly perform processes A and B) .
  • the storage 220 may store data/information obtained from the server 110, the requester terminal 130, the provider terminal 140, the storage device 150, and/or any other component of the online to offline service system 100.
  • the storage 220 may include a mass storage, a removable storage, a volatile read and write memory, a read only memory (ROM) , and the like, or any combination thereof.
  • Exemplary mass storage devices may include magnetic disks, optical disks, solid state hard disks, and the like.
  • Exemplary removable storage devices may include flash memory, floppy disks, optical disks, memory cards, compact disks, magnetic tape, and the like.
  • Exemplary volatile read and write memory may include random access memory (RAM) .
  • Exemplary RAMs may include Dynamic RAM (DRAM) , Double Data Rate Synchronous Dynamic RAM (DDR SDRAM) , Static RAM (SRAM) , Thyristor RAM (T-RAM) , and zero capacitance RAM (Z-RAM) .
  • An exemplary ROM may include Masked ROM (MROM) , Programmable ROM (PROM) , Programmable Erasable ROM (PEROM) , Electrically Erasable Programmable ROM (EEPROM) , CD ROM (CD-ROM) and Digital Universal Disk ROM, etc.
  • the storage 220 may store one or more programs and/or instructions to perform the example methods described in the present disclosure.
  • the storage 220 may store a program that may cause processing engine 112 to determine the location information of the requester.
  • the I/O 230 may input and/or output signals, data, information, etc. In some embodiments, the I/O 230 may implement interaction with the processing engine 112. In some embodiments, the I/O 230 may include an input device and an output device. Exemplary input devices may include a keyboard, a mouse, a touch screen, a microphone, and the like, or any combination thereof. Exemplary output devices may include display devices, speakers, printers, projectors, and the like, or any combination thereof. Exemplary display devices may include liquid crystal displays (LCDs) , light emitting diode (LED) based displays, flat panel displays, curved screens, television devices, cathode ray tubes (CRTs) , touch screens, and the like, or any combination thereof.
  • LCDs liquid crystal displays
  • LED light emitting diode
  • CRTs cathode ray tubes
  • the communication port 240 may be connected to a network (e.g., the network 120) to facilitate data communication.
  • the communication port 240 may establish a connection between processing engine 112 and the server 110, the requester terminal 130, the provider terminal 140, storage 150, and/or any other component in the online to offline service system 100.
  • the connection may be a wired connection, a wireless connection, any other communication connection capable of data transmission and/or reception, and/or any combination of these connections.
  • the wired connection may include, for example, an electrical cable, an optical cable, a telephone wire, or the like, or any combination thereof.
  • the wireless connection may include a Bluetooth TM connection, a Wi-Fi TM connection, a WiMAX TM connection, a WLAN connection, a ZigBee connection, a mobile network connection (e.g., 3G, 4G, 5G, etc. ) , etc., or any combination thereof.
  • the communication port 240 may be (or include) a standardized communication port, such as RS232, RS485, and the like. In some embodiments, the communication port 240 may be a specially designed communication port.
  • FIG. 3 is a schematic diagram of exemplary hardware and/or software components of a mobile device on which the server 110, the processing engine 112, the requester terminal 130, and/or the provider terminal 140 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 graphics processing unit (GPU) 330, a central processor unit (CPU) 340, an I/O 350, a memory 360, and a storage 390.
  • the mobile device 300 may also include any other suitable components including, but not limited to, a system bus or controller (not shown) .
  • an operating system 370 e.g., iOS TM , Android TM , Windows Phone TM , etc.
  • the application 380 may include a browser or any other suitable mobile application for receiving and presenting information about the service request or other information from the processing engine 112.
  • the information stream may be interacted with the user via the I/O 350 and provided to the processing engine 112 and/or other components of the online to offline service system 100 via the network 120.
  • a computer hardware platform may be used as the hardware platform for one or more components described in the present disclosure.
  • a computer with user interface elements may be used to implement a personal computer (PC) or any other type of workstation or external device.
  • the computer may also be used as a server if properly programmed.
  • FIG. 4 is a schematic diagram of an exemplary processing engine according to some embodiments of the present disclosure.
  • the processing engine 112 may include an obtaining module 402, a control module 404, a processing module 406, and a storage module 408. At least a portion of the processing engine 112 may be implemented on the computing device 200 shown in FIG. 2 or the mobile device 300 shown in FIG. 3.
  • the obtaining module 402 may obtain data related to the online to offline service (e.g., a service request, a service intention, a request location, a request time, a departure location, a destination, a pick-up location, etc. ) .
  • the obtaining module 402 may obtain the data related to the online to offline service from the server 110, the requester terminal 130, the provider terminal 140, the storage device 150, and/or an external device (not shown) .
  • the data related to the online to offline service may include raw data (e.g., location data) , instructions, or the like, or a combination thereof.
  • the raw coordinate data representing the requester's location may be obtained using the positioning technology in the requester terminal 130.
  • the obtaining module 402 may obtain the raw coordinate data from the requester terminal 130.
  • the instructions may be executed by one or more processors of the processing engine 112 to implement the exemplary methods described in the present disclosure.
  • the obtained data by the obtaining module 402 may be transmitted to the storage module 408 for storage.
  • the control module 404 may control the obtaining module 402, the storage module 408, the processing module 406 (e.g., by generating one or more control parameters) , the server 110, or the like, or any combination thereof.
  • the control module 404 may control the obtaining module 402 to obtain data related to the online to offline service, and/or control the time when the obtaining module 402 obtains data related to the online to offline service.
  • the control module 404 may control the processing module 406 to process the data related to the online to offline service that has been obtained by the obtaining module 402.
  • control module 404 may receive real-time or appointment instructions from a user (e.g., an operator or engineer) of the online to offline service system 100 to control the obtaining module 402 and/or the processing module 406 to perform one or more operations.
  • the control module 404 may control the obtaining module 402 and/or the processing module 406 to generate data related to the online to offline service based on the real-time instructions and/or appointment instructions.
  • the control module 404 may communicate with one or more other modules of the processing engine 112 for information and/or data exchange.
  • the processing module 406 may process information provided by the modules of the processing engine 112. For example, the processing module 406 may process data related to the online to offline service obtained from the obtaining module 402 and/or the storage module 408. In some embodiments, the processing engine 406 may determine a pick-up location for the service requester based on the data related to the online to offline service using a recommendation algorithm.
  • the recommendation algorithm may include a popularity-based recommendation algorithm, a collaborative filtering recommendation algorithm, a content-based recommendation algorithm, a model-based recommendation algorithm, a hybrid recommendation algorithm, or the like, or any combination thereof.
  • the processing module 406 may filter the service providers to determine a suitable service provider for the service requester.
  • the processing module 406 may process the candidate service providers to determine a suitable service provider for the service requester, enabling the service requester to obtain a better user experience.
  • the processing module may include an estimating module, a determination module, and a selecting module.
  • the estimating module may estimate an arrival time of the service requester to the pick-up location according to the request location and the pick-up location of the service requester.
  • the determination module may determine a first time-range according to the estimated arrival time and send the first time-range to the requester terminal 130 of the service requester.
  • the determination module may determine a second time-range according to the first time-range.
  • the selecting module may determine one or more candidate service providers based on the second time-range.
  • the storage module 408 may store data related to the online to offline service, control parameters, processed data related to the online to offline service, or the like, or any combination thereof.
  • the storage module 408 may store one or more programs and/or instructions that may be executed by one or more processors of the processing engine 112 to implement the exemplary methods described in the present disclosure.
  • the storage module 408 may store programs and/or instructions that may be executed by one or more processors of the processing engine 112 to obtain data related to the online to offline service and determine a service provider for the service requester based on the data related to the online to offline service.
  • one or more module shown in FIG. 4 may be implemented in at least a portion of the online to offline service system 100 shown in FIG. 1.
  • the obtaining module 402, the control module 404, the storage module 408, and/or the processing module 406 may be integrated into the requester terminal 130 and/or the provider terminal 140.
  • the service requester may set parameters related to a service request, the service time of the service request, or the like.
  • the online to offline service system 110 may determine a service provider that satisfies specific conditions for the service requester according to the parameters related to the service request and the service time of the service request set by the service requester.
  • the service provider may determine whether to provide services for the service requester according to the parameters set by the service requester.
  • the modules in the processing engine 112 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
  • Bluetooth a ZigBee
  • NFC Near Field Communication
  • FIG. 5 is a block diagram of an exemplary processing module according to some embodiments of the present disclosure.
  • the processing module 406 may include a location determination unit 502, an arrival time determination unit 504, a time-range determination unit 506, and a provider determination unit 508.
  • the processing module 406 may be implemented on one or more components (e.g., the processor 210 of the computing device 200 shown in FIG. 2) .
  • the processing module 406 may be implemented on the computing device 200 shown in FIG. 2 or the mobile device 300 shown in FIG. 3.
  • the location determination unit 502 may obtain a request location and a pick-up location of a service requester. Details regarding the request location and the pick-up location may be found elsewhere in the present disclosure (e.g., the description in connection with FIG. 6) .
  • the arrival time determination unit 504 may estimate an arrival time of the service requester to the pick-up location based on the request location and the pick-up location.
  • the arrival time determination unit 504 may include a distance determination sub-unit configured to determine a distance between the request location and the pick-up location, and a speed determination sub-unit configured to determine a movement speed of the service requester.
  • the movement speed may be a constant value (e.g., 4.5 km/h) .
  • the movement speed may be obtained by the requester terminal 130 in real time.
  • the processing engine 112 e.g., the obtaining module 402 and/or the arrival time determination unit 504 may obtain the real-time movement speed of the service requester from the requester terminal 130.
  • the processing engine 112 e.g., the obtaining module 402 and/or the arrival time determination unit 504 may obtain the movement speed of the service requester based on historical requests.
  • the historical request may include the request time (e.g., the time when the historical request was transmitted) , the request location, the pick-up location, and the arrival time of the historical request.
  • the arrival time determination unit 504 may obtain historical requests initiated by the service requester in the past three days and determine a historical average speed from the request location to the pick-up location of at least one of the historical requests. The arrival time determination unit 504 may determine an average value of the historical average speeds as the movement speed of the service requester. As another example, the arrival time determination unit 504 may obtain historical requests initiated by the service requester and other service requesters in the past three days and determine a historical average speed from the request location to the pick-up location of at least one of the historical requests. The arrival time determination unit 504 may determine an average value of the historical average speeds as the movement speed of the service requester.
  • the request location of the historical request may be within a predetermined distance (e.g., 50 meters) away from the request location of the service requester.
  • the pick-up location of the historical request may be within a predetermined distance (e.g., 50 meters) away from the pick-up location of the service requester.
  • the arrival time determination unit 504 may determine movement speeds for different user categories in advance.
  • the arrival time determination unit 504 may determine the user category of the service requester and obtain the movement speed of the service requester based on the user category. For example, the arrival time determination unit 504 may determine that the movement speed of people aged 10 to 40 is 4.5 km/h, the movement speed of people aged 40 to 60 is 4 km/h, and the movement speed of people over 60 is 3.5 km/h.
  • the arrival time determination unit 504 may obtain the age of the service requester from the account of the service requester related to the online to offline service system 100 stored in a storage medium (e.g., the storage device 150, the storage 220) of the online to offline service system 100. For example, if the age of the service requester in the account is 28, the arrival time determination unit 504 may determine that the movement speed of the service requester is 4.5 km/h.
  • the arrival time determination unit 504 may determine the movement speed of the service requester using machine learning based on the pick-up location, the request location, the request time, the real-time traffic conditions, the age of the service requester, or the like, or any combination thereof.
  • the time-range determination unit 506 may determine a first time-range according to the estimated arrival time and determine a second time-range based on the first time-range.
  • the time-range determination unit 506 may expand the estimated arrival time to obtain the first time-range.
  • a first time-difference and a second time-difference may be added to the estimated arrival time to obtain a first left time point prior to the estimated arrival time and a first right time point after the estimated arrival time, thereby determining the first time-range.
  • the first time-difference may be a difference between the estimated arrival time and the first left time point of the first time-range.
  • the second time-difference may be a difference between the estimated arrival time and the first right time point of the first time-range.
  • the first time-difference and/or the second time-difference may be fixed. In some embodiments, the first time-difference and/or the second time-difference may be adjustable according to specific conditions. For example, if the request time (e.g., the time when the service requester transmits a service request) or the intention time (e.g., the time when the server 110 receives the intended departure location and/or the intended destination from the requester terminal 130) is within rush hour (e.g., 7: 00 am-9: 00 am) , the first time-difference may be relatively shorter (e.g., 0 or 1 minute) and the second time-difference may be relatively longer (e.g., 8, 9, or 10 minutes) because it may take a service provider longer to arrive at the pick-up location.
  • the request time e.g., the time when the service requester transmits a service request
  • the intention time e.g., the time when the server 110 receives the intended departure location and/or the intended
  • the request time e.g., the time when the service requester transmits a service request
  • the intention time e.g., the time when the server 110 receives the intended departure location and/or the intended destination from the requester terminal 130
  • the first time-difference may be relatively longer (e.g., 3 minutes) and the second time-difference may be relatively shorter (e.g., 1 minute) because it may take a service provider shorter time to arrive at the pick-up location and it is better to make the service requester wait for shorter time for the service provider.
  • the first time-difference and the second time-difference may be the same. In some embodiments, the first time-difference and the second time-difference may be different. For example, the first time-difference may be 1 minute, and the second time-difference may be 3 minutes.
  • the first time-range may have a fixed length of time.
  • the time-range determination unit 506 may add the first time-difference to the estimated arrival time to determine the first left time point of the first time-range, and determine the first right time point of the first time-range based on the length of time of the first time-range.
  • the first time-range has a fixed length of time of 5 minutes.
  • the current time point e.g., the request time or the intention time
  • the current time point is 9: 00 a.m.
  • the estimated arrival time is 9: 02 a.m.
  • the first time-difference is 1 minute.
  • the time-range determination unit 506 may determine that the first left time point of the first time-range is 9: 01 a.m.
  • the first right time point of the first time-range is the left time point (9: 01 a.m. ) plus the time length of the first time-range (5 minutes) , that is, 9: 06.
  • the first time-range is from 9: 01 a.m. to 9: 06 a.m.
  • the time-range determination unit 506 may determine the first left time point of the first time-range based on the second time-difference and the length of time.
  • the process for determining the first left time point of the first time-range based on the second time-difference and the length of time may be similar to the process for determining the first right time point of the first time-range based on the first time-difference and the length of time described above.
  • the time-range determination unit 506 may determine that the first left time point of the first time-range is the current time. For example, the current time is 9: 00 a.m., the estimated arrival time is 9: 01 a.m., and the first time-difference is 2 minutes.
  • the first left time point may be 8: 59 a.m., which is prior to the current time, based on the first time-difference and the estimated arrival time.
  • the time-range determination unit 506 may determine that the first left time point of the first time-range is the current time, that is, 9: 00 a.m.
  • the first time-range may be used to notify the service requester of an estimated time-range in which the service requester can be picked up.
  • the time-range determination unit 506 may transmit the estimated arrival time of the service requester to the pick-up location and/or the first time-range to the requester terminal 130 and direct the requester terminal 130 to display the estimated arrival time and/or the first time-range.
  • the requester terminal 130 may display that a text of “Your estimated arrival time to the pick-up location is 2 minutes. ”
  • the requester terminal 130 may display that a text of “You can be picked up at the pick-up location within 9: 00 a.m. -9: 05 a.m. ”
  • the second time-range may be greater than the first time-range and completely cover the first time-range.
  • the second time-range may be used to determine one or more candidate service providers for the service requester.
  • the time-range determination unit 506 may determine a second left time point of the second time-range according to the first left time point of the first time-range, and determine a second right time point of the second time-range according to the first right time point of the first time-range.
  • the second left time point of the second time-range may be prior or equal to the first left time point of the first time-range.
  • the second right time point of the second time-range may be after the first right time point of the first time-range.
  • a third time-difference between the second left time point of the second time-range and the first left time point of the first time-range and/or a fourth time-difference between the second right time point of the second time-range and the first right time point of the first time-range may be fixed.
  • the third time-difference and/or the fourth time-difference may be adjustable according to specific conditions.
  • the third time-difference may be relatively shorter (e.g., 0 or 1 minute) and the fourth time-difference may be relatively longer (e.g., 8, 9, or 10 minutes) because it may take a service provider longer time to arrive at the pick-up location.
  • the third time-difference may be relatively longer (e.g., 3 minutes) and the fourth time-difference may be relatively shorter (e.g., 1 minute) because it may take a service provider shorter time to arrive at the pick-up location and it is better to make the service requester wait for shorter time for the service provider.
  • the third time-difference, the fourth time-difference, or the length of the second time-range may be determined using machine learning based on the request time, the request location, the pick-up location, the real-time traffic conditions, a supply (e.g., available service providers) and demand (e.g., pending service requests) ratio in a region including the pick-up location at the request time, or the like, or any combination thereof.
  • a supply e.g., available service providers
  • demand e.g., pending service requests
  • the provider determination unit 508 may determine one or more candidate service providers based on the second time-range.
  • the provider determination unit 508 may determine a plurality of available service providers that can arrive at the pick-up location within or before the second time-range, and determine one or more candidate service providers for the service requester from the available service providers.
  • a service provider that is online but providing no service at present may be an available service provider.
  • the service requester may also be an available service provider.
  • the provider determination unit 508 may determine scores for the available service providers that can arrive at the pick-up location within or before the second time-range based on one or more features of the available service providers, and rank the scores in descending order.
  • the feature of a service provider may include a favorable rate, a personal preference (e.g., a preference for a pick-up location, a preference for a destination, a preference for a service time period, etc. ) , a distance from the current location of the service provider to the pick-up location of the service requester, the estimated arrival time to the pick-up location of the service provider, the types of roads that the service provider passes through on the way to the pick-up location, real-time traffic conditions, or the like, or any combination thereof.
  • the provider determination unit 508 may determine feature values of the features and determine the scores based on the feature values. For example, the closer the current location of a service provider is to the pick-up location of the service requester, the larger the feature value of the distance is. As another example, the better matching the personal preference of a service provider to the service request or the service intention of the service requester, the larger the feature value of the personal preference of the service provider is. As still another example, the higher the favorable rate is, the larger the feature value of the favorable rate is. As a further example, the better real-time traffic conditions of roads that the service provider passes through on the way to the pick-up location, the larger feature value of the real-time traffic conditions.
  • the provider determination unit 508 may determine the scores by determining a weighted average value of the feature values of the features. In some embodiments, the provider determination unit 508 may determine the scores using machine learning based on the feature values of the features.
  • the provider determination unit 508 may determine a certain number of top (e.g., top one, top two, top three, top four, top five, etc. ) service providers in the rank result as the candidate service providers. In some embodiments, the provider determination unit 508 may determine one or more available service providers of which the scores are greater than a score threshold (e.g., 60%, 70%, or 80%of the full score) as the candidate service providers.
  • a score threshold e.g. 60%, 70%, or 80%of the full score
  • the provider determination unit 508 may directly assign the service request to the candidate service providers and determine the candidate service provider that is the first to accept the service request as the target service provider that provides the online to offline service to the service requester.
  • the provider determination unit 508 may transmit information related to the candidate service providers to the requester terminal 130.
  • the information related to the candidate service provider may include the location of the candidate service provider, the distance between the location of the candidate service provider to the pick-up location, the estimated arrival time to the pick-up location, the favorable rate, the personal preference, the plate number, the vehicle type, the gender, the phone number, or the like, or any combination thereof.
  • the requester may select a target service provider from the candidate service providers.
  • the provider determination unit 508 may transmit the service request to the target service provider.
  • the provider determination unit 508 may transmit the number of the candidate service providers to the requester terminal 130 and direct the requester terminal 130 to display the number of the candidate service providers, which makes the service requester know how many suitable available service providers at present and promote the service requester to transmit a service request. For example, the requester terminal 130 may display a text of “There are 4 suitable available drivers for you at present. ”
  • the units in the processing module 406 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.
  • the description of the processing module 406 is for illustrative purposes only and is not intended to limit the scope of the present disclosure. Many variations or modifications may be made by those skilled in the art under the direction of the present disclosure. However, such variations and modifications do not depart from the scope of the present disclosure.
  • the location determination unit 502 may be integrated into the arrival time determination unit 504 and/or the time-range determination unit 506.
  • the time-range determination unit 506 may be integrated into the provider determination unit 508.
  • FIG. 6 is a flowchart illustrating an exemplary process for determining one or more candidate service providers according to some embodiments of the present disclosure.
  • the process 600 may include: obtaining a request location and a pick-up location of a service requester (operation 602) , estimating an arrival time of the service requester to the pick-up location based on the request location and the pick-up location (operation 604) , determining a first time-range based on the estimated arrival time and sending the estimated arrival time to a terminal associated with the service requester (e.g., the requester terminal 130) (operation 606) , determining a second time-range based on the first time-range (operation 608) , and determining one or more candidate service providers based on the second time-range (operation 610) .
  • the process 600 may be implemented in the online to offline service system 100 illustrated in FIG. 1.
  • the process 600 may be stored in a storage medium (e.g., the storage device 150, the storage 220 of the computing device 200 in FIG. 2, the storage 390 and/or the memory 360 of the mobile device 300 in FIG. 3) as a form of instructions, and can be invoked and/or executed by the server 110 (e.g., the processing engine 112, the processor 210 of the computing device 200 in FIG. 2, the CPU 340 of the mobile device 300 in FIG. 3, the one or more modules or units illustrated in FIG. 4 and/or FIG. 5) .
  • the operations of the illustrated process 600 presented below are intended to be illustrative. In some embodiments, the process 600 may be accomplished with one or more additional operations not described, and/or without one or more of the operations discussed. Additionally, the order in which the operations of the process 600 as illustrated in FIG. 6 and described below is not intended to be limiting.
  • a request location and a pick-up location of a service requester may be obtained. Operation 602 may be executed by the obtaining module 402.
  • the processing engine 112 may receive a service request or a service intention from the requester terminal 130 related to the service requester.
  • the requester terminal 130 and/or the provider terminal 140 may establish a communication (e.g., wireless communication) with the server 110, through an application (e.g., the application 380 in FIG. 3) installed in the requester terminal 130 and/or the provider terminal 140 via the network 120.
  • the application may associate with the online to offline service system 100.
  • the application may be a taxi-hailing application.
  • a service request may refer to information of an online to offline service (e.g., an online taxi-hailing service) that is formally requested and sent out by a service requester to the server 110 via the requester terminal 130.
  • an online to offline service e.g., an online taxi-hailing service
  • the service requester may do so by pressing a button on the interface of the application installed in the requester terminal 130.
  • the server 110 may determine that the information of the online to offline service is formally sent out and determine the information of the online to offline service as a service request.
  • the request location may be where the requester terminal 130 transmits the service request.
  • a service intention may indicate an interest in requesting an online to offline service.
  • the service intention reflects a likelihood that a service request is made before it is actually being formally sent.
  • the application installed in the requester terminal 130 may direct the requester terminal 130 to monitor, continuously or periodically, input from a service requester and transmit the input to the server 110 via the network 120. Consequently, the requester terminal 130 may inform the server 110 about the service requester’s input in real-time or substantially real-time.
  • the server 110 may receive enough information to determine an intention of the service requester.
  • the server 110 may have already received the depature location, and determine that the service requester intends to request an online to offline service.
  • the application may automatically determine the current location of the requester terminal 130 (also the service requester) as the intended departure location using the positioning technology in the requester terminal 130. So before the requester terminal 130 sends out a service request to the server 110, the server 110 may have already received the intended departure location, and determine that the service requester intends to request an online to offline service.
  • the request location e.g., an intended request location
  • the request location may be where the requester terminal 130 obtains all or part of the intended departure location and/or the intended destination.
  • the requester terminal 130 may obtain its own real-time locations through the positioning technology.
  • the positioning technology may include a global positioning system (GPS) , a global navigation satellite system (GLONASS) , a compass navigation system (COMPASS) , a Galileo positioning system, a quasi-zenith satellite system (QZSS) , a wireless fidelity (WiFi) positioning technology, a BeiDou navigation satellite system (BDS) , an inertial navigation system (INS) , or the like, or any combination thereof.
  • GPS global positioning system
  • GLONASS global navigation satellite system
  • COMPASS compass navigation system
  • Galileo positioning system Galileo positioning system
  • QZSS quasi-zenith satellite system
  • WiFi wireless fidelity positioning technology
  • BDS BeiDou navigation satellite system
  • INS inertial navigation system
  • the requester terminal 130 may record the real-time location where a service request is transmitted from the requester terminal 130 or the real-time location where the requester terminal 130 obtains all or part of the intended depature location and/or the intended destination as the request location, and transmit the request location to the server 110 along with the service request or the intended departure location and/or the intended destination.
  • the application may direct the requester terminal 130 to continually transmit the real-time locations of the requester terminal 130 to the server 110.
  • the server 110 may determine the real-time location of the requester terminal 130 that corresponds to a time point when the server 110 receives the service request or a time point when the server 110 receives the intended departure location and/or the intended destination. In some embodiments, the effect of the network delay between the server 110 and the requester terminal 130 may be ignored.
  • the departure location and/or the destination in the service request or the service intention may be input by the service requester in an interface of the application (e.g., the taxi-hailing application) installed in the requester terminal 130 through, for example, the I/O 350 in FIG. 3.
  • the requester terminal 130 may automatically obtain the departure location and/or the destination. For example, an event such as “Attending a meeting at location A from location B” is recorded in a calendar in the requester terminal 130. The requester terminal 130 may automatically determine location A as the destination and determine location B as the departure location based on the event in the calendar.
  • the requester terminal 130 may obtain its location (which is referred to as the location of the service requester) herein through a positioning technology in the requester terminal 130, for example, the GPS, GLONASS, COMPASS, QZSS, BDS, WiFi positioning technology, INS, or the like, or any combination thereof.
  • the requester terminal 130 may determine its real-time location as the departure location.
  • the server 110 may analyze history requests of the requester using, for example, machine learning, and estimate the departure location and/or the destination based on the request time of the historical requests and the current time. The server 110 may transmit the estimated result to the requester terminal 130 for the service requester’s choice.
  • the request location and the departure location may be the same or different.
  • the service requester may use the requester terminal 130 to send a service request for another person that needs the online to offline service (e.g., needs to take a taxi) and is far away from the service requester.
  • the departure location may be the location of the passenger
  • the request location may be the location of the service requester, which are different.
  • the service requester now is located at a location (e.g., the request location) in a road that only allows vehicles to drive east. However, the destination is to the west of the service requester.
  • the service provider may set a departure location across the road. In this case, the departure location and the request location may be different.
  • the processing engine 112 may determine the departure location or the request location as the pick-up location. In some embodiments, the processing engine 112 may automatically determine the pick-up location based on at least one of the request location, the departure location, and the destination. For example, the request location is location M, the processing engine 112 (e.g., the location determination unit 502) may determine a plurality of historical pick-up locations in a predetermined region including location M as candidate pick-up locations.
  • the historical pick-up location may refer to a location that has been determined as a pick-up location for the service requester or other service requesters.
  • the historical pick-up locations a and b related to the service requester, and the historical pick-up locations c, d, e, and f related to other service requesters are included in the predetermined region C.
  • the processing engine 112 may determine the historical pick-up locations a, b, c, d, e, and f as the candidate pick-up locations.
  • the processing engine 112 may rank the candidate pick-up locations based on walking distances between the candidate pick-up locations and the request location, the walking times between the candidate pick-up locations and the request location, real-time traffic conditions, or the like, or any combination thereof. In some embodiments, the processing engine 112 may rank the candidate pick-up locations based on a weighted average value of at least two of the walking distances between the candidate pick-up locations and the request location, the walking times between the candidate pick-up locations and the request location, and the real-time traffic conditions.
  • the processing engine 112 may determine suitability degrees to be a pick-up location of the candidate pick-up locations using machine learning based on the walking distances between the candidate pick-up locations and the request location, the walking times between the candidate pick-up locations and the request location, real-time traffic conditions, the number of times of being determined as a pick-up location, or the like, or any combination thereof.
  • the processing engine 112 may rank the suitability degrees in descending order.
  • the processing engine 112 may directly select one of the candidate pick-up locations as the pick-up location and transmit the selected pick-up location to the requester terminal 130.
  • the service requester is not able to modify the received pick-up location.
  • the processing engine 112 may select the top one candidate pick-up locations in the rank result as the pick-up location.
  • the processing engine 112 may select the candidate pick-up location that is closest to the request location among all the candidate pick-up locations.
  • the processing engine 112 may select the candidate pick-up location to which the walking time of the service requester from the request location is shortest among all the candidate pick-up locations based on the real-time traffic condition.
  • the processing engine 112 may select one or more of the candidate pick-up locations, such as certain number of top (e.g., top one, top two, top three, or top five) candidate pick-up locations.
  • the processing engine 112 may transmit the one or more selected candidate pick-up locations to the requester terminal 130.
  • the service requester may select one of the one or more selected candidate pick-up locations as the pick-up location.
  • the service requester may modify one of the one or more selected candidate pick-up locations to determine the pick-up location or define a pick-up location by himself/herself.
  • the predetermined region may be default of the online to offline service system 100.
  • the predetermined region is preset in the online to offline service system 100 and is a circle region with a real-time position of the service requester (e.g., the request location) as a center and a radius of 500 meters.
  • the predetermined region may be defined by a user (e.g., an operator or engineer of the online to offline service system 100, or the service requester) .
  • the operator or engineer of the online to offline service system 100 may input that the predetermined region is a circle region with a real-time position of the service requester (e.g., the request location) as a center and a radius of 300 meters through, for example, the I/O 230.
  • the service requester may input that the predetermined region is a circle region with a real-time position of the service requester (e.g., the request location) as a center and a radius of 300 meters through the requester terminal 130 (e.g., the I/O 350) and send the input to the server 110 via the network 120.
  • the predetermined region may be a region of any shape.
  • the predetermined region may be defined as the geographical region of a particular shape.
  • an arrival time of the service requester to the pick-up location may be estimated based on the request location and the pick-up location. Operation 604 may be performed by the arrival time determination unit 504.
  • the server 110 may obtain a movement speed of the service requester and determine the arrival time of the service requester to the pick-up location based on the movement speed. Details regarding determining the arrival time of the service requester to the pick-up location based on the movement speed may be found elsewhere in the present disclosure (e.g., the description in connection with FIG. 7) .
  • the movement speed may be a constant value (e.g., 4.5 km/h) .
  • the movement speed may be obtained by the requester terminal 130 in real time.
  • the processing engine 112 e.g., the obtaining module 402 and/or the arrival time determination unit 504 may obtain the real-time movement speed of the service requester from the requester terminal 130.
  • the processing engine 112 e.g., the obtaining module 402 and/or the arrival time determination unit 504 may obtain the movement speed of the service requester based on historical requests.
  • the historical request may include the request time (e.g., the time when the historical request was transmitted) , the request location, the pick-up location, and the arrival time of the historical request.
  • the processing engine 112 may obtain historical requests initiated by the service requester in the past three days and determine a historical average speed from the request location to the pick-up location of at least one of the historical requests. The processing engine 112 may determine an average value of the historical average speeds as the movement speed of the service requester. As another example, the processing engine 112 may obtain historical requests initiated by the service requester and other service requesters in the past three days and determine a historical average speed from the request location to the pick-up location of at least one of the historical requests. The processing engine 112 may determine an average value of the historical average speeds as the movement speed of the service requester.
  • the request location of the historical request may be within a predetermined distance (e.g., 50 meters) away from the request location of the service requester.
  • the pick-up location of the historical request may be within a predetermined distance (e.g., 50 meters) away from the pick-up location of the service requester.
  • the processing engine 112 may determine movement speeds for different user categories in advance.
  • the processing engine 112 may determine the user category of the service requester and obtain the movement speed of the service requester based on the user category. For example, the processing engine 112 may determine that the movement speed of people aged 10 to 40 is 4.5 km/h, the movement speed of people aged 40 to 60 is 4 km/h, and the movement speed of people over 60 is 3.5 km/h.
  • the processing engine 112 may obtain the age of the service requester from the account of the service requester related to the online to offline service system 100 stored in a storage medium (e.g., the storage device 150, the storage 220) of the online to offline service system 100. For example, if the age of the service requester in the account is 28, the processing engine 112 may determine that the movement speed of the service requester is 4.5 km/h.
  • the processing engine 112 may determine the movement speed of the service requester using machine learning based on the pick-up location, the request location, the request time, the real-time traffic conditions, the age of the service requester, or the like, or any combination thereof.
  • a first time-range may be determined according to the estimated arrival time and the first time-range may be sent to the requester terminal 130. Operation 606 may be performed by the time-range determination unit 506. In some embodiments, the processing engine 112 (e.g., the time-range determination unit 506) may expand the estimated arrival time to obtain the first time-range.
  • a first time-difference and a second time-difference may be added to the estimated arrival time to obtain a first left time point prior to the estimated arrival time and a first right time point after the estimated arrival time, thereby determining the first time-range.
  • the first time-difference may be a difference between the estimated arrival time and the first left time point of the first time-range.
  • the second time-difference may be a difference between the estimated arrival time and the first right time point of the first time-range.
  • the first time-difference and/or the second time-difference may be fixed. In some embodiments, the first time-difference and/or the second time-difference may be adjustable according to specific conditions. For example, if the request time (e.g., the time when the service requester transmits a service request) or the intention time (e.g., the time when the server 110 receives the intended departure location and/or the intended destination from the requester terminal 130) is within rush hour (e.g., 7: 00 am-9: 00 am) , the first time-difference may be relatively shorter (e.g., 0 or 1 minute) and the second time-difference may be relatively longer (e.g., 8, 9, or 10 minutes) because it may take a service provider longer to arrive at the pick-up location.
  • the request time e.g., the time when the service requester transmits a service request
  • the intention time e.g., the time when the server 110 receives the intended departure location and/or the intended
  • the request time e.g., the time when the service requester transmits a service request
  • the intention time e.g., the time when the server 110 receives the intended departure location and/or the intended destination from the requester terminal 130
  • the first time-difference may be relatively longer (e.g., 3 minutes) and the second time-difference may be relatively shorter (e.g., 1 minute) because it may take a service provider shorter time to arrive at the pick-up location and it is better to make the service requester wait for shorter time for the service provider.
  • the first time-difference and the second time-difference may be the same. In some embodiments, the first time-difference and the second time-difference may be different. For example, the first time-difference may be 1 minute, and the second time-difference may be 3 minutes.
  • the first time-range may have a fixed length of time.
  • the processing engine 112 may add the first time-difference to the estimated arrival time to determine the first left time point of the first time-range, and determine the first right time point of the first time-range based on the length of time of the first time-range.
  • the first time-range has a fixed length of time of 5 minutes.
  • the current time point e.g., the request time or the intention time
  • the current time point is 9: 00 a.m.
  • the estimated arrival time is 9: 02 a.m.
  • the first time-difference is 1 minute.
  • the processing engine 112 may determine that the first left time point of the first time-range is 9: 01 a.m.
  • the first right time point of the first time-range is the left time point (9: 01 a.m. ) plus the time length of the first time-range (5 minutes) , that is, 9:06.
  • the first time-range is from 9: 01 a.m. to 9: 06 a.m.
  • the processing engine 112 may determine the first left time point of the first time-range based on the second time-difference and the length of time.
  • the process for determining the first left time point of the first time-range based on the second time-difference and the length of time may be similar to the process for determining the first right time point of the first time-range based on the first time-difference and the length of time described above.
  • the processing engine 112 may determine that the first left time point of the first time-range is the current time. For example, the current time is 9: 00 a.m., the estimated arrival time is 9: 01 a.m., and the first time-difference is 2 minutes.
  • the first left time point may be 8: 59 a.m., which is prior to the current time, based on the first time-difference and the estimated arrival time.
  • the processing engine 112 may determine that the first left time point of the first time-range is the current time, that is, 9: 00 a.m.
  • the first time-range may be used to notify the service requester of an estimated time-range in which the service requester can be picked up.
  • the processing engine 112 may transmit the estimated arrival time of the service requester to the pick-up location and/or the first time-range to the requester terminal 130 and direct the requester terminal 130 to display the estimated arrival time and/or the first time-range.
  • the requester terminal 130 may display that a text of “Your estimated arrival time to the pick-up location is 2 minutes. ”
  • the requester terminal 130 may display that a text of “You can be picked up at the pick-up location within 9: 00 a.m. -9: 05 a.m. ”
  • a second time-range may be determined according to the first time-range. Operation 608 may be performed by the time-range determination unit 506.
  • the second time-range may be greater than the first time-range and completely cover the first time-range.
  • the second time-range may be used to determine one or more candidate service providers for the service requester.
  • the processing engine 112 e.g., the time-range determination unit 506 may determine a second left time point of the second time-range according to the first left time point of the first time-range, and determine a second right time point of the second time-range according to the first right time point of the first time-range.
  • the second left time point of the second time-range may be prior or equal to the first left time point of the first time-range.
  • the second right time point of the second time-range may be after the first right time point of the first time-range.
  • a third time-difference between the second left time point of the second time-range and the first left time point of the first time-range and/or a fourth time-difference between the second right time point of the second time-range and the first right time point of the first time-range may be fixed.
  • the third time-difference and/or the fourth time-difference may be adjustable according to specific conditions.
  • the third time-difference may be relatively shorter (e.g., 0 or 1 minute) and the fourth time-difference may be relatively longer (e.g., 8, 9, or 10 minutes) because it may take a service provider longer time to arrive at the pick-up location.
  • the third time-difference may be relatively longer (e.g., 3 minutes) and the fourth time-difference may be relatively shorter (e.g., 1 minute) because it may take a service provider shorter time to arrive at the pick-up location and it is better to make the service requester wait for shorter time for the service provider.
  • the third time-difference, the fourth time-difference, or the length of the second time-range may be determined using machine learning based on the request time, the request location, the pick-up location, the real-time traffic conditions, a supply (e.g., available service providers) and demand (e.g., pending service requests) ratio in a region including the pick-up location at the request time, or the like, or any combination thereof.
  • a supply e.g., available service providers
  • demand e.g., pending service requests
  • one or more candidate service providers may be determined based on the second time-range. Operation 610 may be performed by the provider determination unit 508.
  • the processing engine 112 e.g., the provider determination unit 508 may determine a plurality of available service providers that can arrive at the pick-up location within or before the second time-range determined in 608, and determine one or more candidate service providers for the service requester from the available service providers.
  • a service provider that is online but providing no service at present may be an available service provider.
  • the service requester may also be an available service provider.
  • the processing engine 112 may determine scores for the available service providers that can arrive at the pick-up location within or before the second time-range based on one or more features of the available service providers, and rank the scores in descending order.
  • the feature of a service provider may include a favorable rate, a personal preference (e.g., a preference for a pick-up location, a preference for a destination, a preference for a service time period, etc. ) , a distance from the current location of the service provider to the pick-up location of the service requester, the estimated arrival time to the pick-up location of the service provider, the types of roads that the service provider passes through on the way to the pick-up location, real-time traffic conditions, or the like, or any combination thereof.
  • the processing engine 112 may determine feature values of the features and determine the scores based on the feature values. For example, the closer the current location of a service provider is to the pick-up location of the service requester, the larger the feature value of the distance is. As another example, the better matching the personal preference of a service provider to the service request or the service intention of the service requester, the larger the feature value of the personal preference of the service provider is. As still another example, the higher the favorable rate is, the larger the feature value of the favorable rate is. As a further example, the better real-time traffic conditions of roads that the service provider passes through on the way to the pick-up location, the larger feature value of the real-time traffic conditions.
  • the processing engine 112 may determine the scores by determining a weighted average value of the feature values of the features. In some embodiments, the processing engine 112 may determine the scores using machine learning based on the feature values of the features.
  • the processing engine 112 may determine a certain number of top (e.g., top one, top two, top three, top four, top five, etc. ) service providers in the rank result as the candidate service providers. In some embodiments, the processing engine 112 may determine one or more available service providers of which the scores are greater than a score threshold (e.g., 60%, 70%, or 80%of the full score) as the candidate service providers.
  • top e.g., top one, top two, top three, top four, top five, etc.
  • a score threshold e.g. 60%, 70%, or 80%of the full score
  • the processing engine 112 may directly assign the service request to the candidate service providers and determine the candidate service provider that is the first to accept the service request as the target service provider that provides the online to offline service to the service requester.
  • the processing engine 112 may transmit information related to the candidate service providers to the requester terminal 130.
  • the information related to the candidate service provider may include the location of the candidate service provider, the distance between the location of the candidate service provider to the pick-up location, the estimated arrival time to the pick-up location, the favorable rate, the personal preference, the plate number, the vehicle type, the gender, the phone number, or the like, or any combination thereof.
  • the requester may select a target service provider from the candidate service providers.
  • the processing engine 112 may transmit the service request to the target service provider.
  • the processing engine 112 may transmit the number of the candidate service providers to the requester terminal 130 and direct the requester terminal 130 to display the number of the candidate service providers, which makes the service requester know how many suitable available service providers at present and promote the service requester to transmit a service request. For example, the requester terminal 130 may display a text of “There are 4 suitable available drivers for you at present. ”
  • the processing engine 112 may identify available service providers that can arrive at the pick-up location within or before the first time-range. If the count of the available service providers is greater than a count threshold (e.g., 0, 1, 2, 3, 4, 5, etc. ) , operations 608 and 610 may be omitted and the processing engine 112 may determine the candidate service providers from the available service providers that can arrive at the pick-up location within or before the first time-range based on a process similar to operation 610. If the count of the available service providers is less than or equal to the count threshold, the process 600 may proceed to operation 608.
  • a count threshold e.g., 0, 1, 2, 3, 4, 5, etc.
  • the processing engine 112 may send a message to the requester terminal 130 to ask if the service requester is willing to delay the first right time point of the first time-range (e.g., the picking up time) .
  • the requester terminal 130 may display a text of “There are few available drivers that can arrive at the pick-up location within 9: 00 a.m. -9: 05a.m., are you willing to expand the time-range to 9: 00 a.m. -9: 15 a.m. ?
  • the processing engine 112 may proceed to operation 608.
  • the processing engine 112 may also transmit a message to the requester terminal 130 to ask the service requester for a buffer time.
  • the buffer time may be the longest time for which the service request allows the first right time point of the first time-range to be delayed.
  • the processing engine 112 may determine the buffer time as the fourth time-difference.
  • the processing engine 112 may receive, from the requester terminal 130, a negative response of not willing to delay the first right time point or receive no response within a certain time period (e.g., 1 minute) after the inquiring message is transmitted, the process 600 may be terminated.
  • a certain time period e.g. 1 minute
  • FIG. 7 is a flowchart of an exemplary process for estimating an arrival time of a service requester to a pick-up location according to some embodiments of the present disclosure.
  • the process 700 may be performed by the processing module 406.
  • the process 700 may be implemented in the online to offline service system 100 illustrated in FIG. 1.
  • the process 700 may be stored in a storage medium (e.g., the storage device 150, the storage 220 of the computing device 200 in FIG. 2, the storage 390 and/or the memory 360 of the mobile device 300 in FIG. 3) as a form of instructions, and can be invoked and/or executed by the server 110 (e.g., the processing engine 112, the processor 210 of the computing device 200 in FIG.
  • the server 110 e.g., the processing engine 112, the processor 210 of the computing device 200 in FIG.
  • the CPU 340 of the mobile device 300 in FIG. 3, the one or more modules or units illustrated in FIG. 4 and/or FIG. 5) .
  • the operations of the illustrated process 700 presented below are intended to be illustrative. In some embodiments, the process 700 may be accomplished with one or more additional operations not described, and/or without one or more of the operations discussed. Additionally, the order in which the operations of the process 700 as illustrated in FIG. 7 and described below is not intended to be limiting. In some embodiments, operation 604 of the process 600 in FIG. 6 may be performed based on the process 700.
  • a distance between the request location and the pick-up location of the service requester may be determined. Operation 702 may be performed by the arrival time determination unit 504. Details regarding the request location and the pick-up location may be found elsewhere in the present disclosure (e.g., the description in connection with FIG. 6) .
  • the distance between the request location and the pick-up location may be the length of a route, for walking or riding of the service requester, between the request location and the pick-up location.
  • a movement speed of the service requester may be obtained. Operation 704 may be performed by the arrival time determination unit 504.
  • the movement speed may be a constant value (e.g., 4.5 km/h) .
  • the movement speed may be obtained by the requester terminal 130 in real time.
  • the processing engine 112 e.g., the obtaining module 402 may obtain the real-time movement speed of the service requester from the requester terminal 130.
  • the processing engine 112 e.g., the obtaining module 402 may obtain the movement speed of the service requester based on the historical requests.
  • the historical request may include the request time (e.g., the time when the historical request was transmitted) , the request location, the pick-up location, and the arrival time of the historical request.
  • the processing engine 112 may obtain historical requests initiated by the service requester in the past month and determine a historical average speed from the request location to the pick-up location of at least one of the historical requests. The processing engine 112 may determine an average value of the historical average speeds as the movement speed of the service requester. As another example, the processing engine 112 may obtain historical requests initiated by the service requester and other service requesters in the past month and determine a historical average speed from the request location to the pick-up location of at least one of the historical requests. The processing engine 112 may determine an average value of the historical average speeds as the movement speed of the service requester.
  • the request location of the historical request may be within a predetermined distance (e.g., 50 meters) away from the request location of the service requester.
  • the pick-up location of the historical request may be within a predetermined distance (e.g., 50 meters) away from the pick-up location of the service requester.
  • the processing engine 112 may determine movement speeds for different user categories in advance.
  • the processing engine 112 may determine the user category of the service requester and obtain the movement speed of the service requester based on the user category. For example, the processing engine 112 may determine that the movement speed of people aged 10 to 40 is 4.5 km/h, the movement speed of people aged 40 to 60 is 4 km/h, and the movement speed of people over 60 is 3.5 km/h.
  • the processing engine 112 may obtain the age of the service requester from the account of the service requester related to the online to offline service system 100 stored in a storage medium (e.g., the storage device 150, the storage 220) of the online to offline service system 100. For example, if the age of the service requester in the account is 28, the processing engine 112 may determine that the movement speed of the service requester is 4.5 km/h.
  • an arrival time of the service requester to the pick-up location may be estimated according to the movement speed of the service requester and the distance between the request location and the pick-up location. Operation 706 may be performed by the arrival time determination unit 504. For example, the current time is 9: 00 a.m., the distance between the request location and the pick-up location is 240 meters, and the movement speed of the service requester is 80 meters per minute.
  • the processing engine 112 e.g., the arrival time determination unit 504 may determine that the estimated travel time of the service requester from the request location to the pick-up location is 3 minutes and the estimated arrival time to the pick-up location is 9: 03 a.m.
  • operation 702 may be performed before, after or simultaneously with operation 704.
  • FIG. 8 is a flow chart of an exemplary process for determining candidate service providers according to some embodiments of the present disclosure.
  • the process 800 may be implemented in the online to offline service system 100 illustrated in FIG. 1.
  • the process 800 may be stored in a storage medium (e.g., the storage device 150, the storage 220 of the computing device 200 in FIG. 2, the storage 390 and/or the memory 360 of the mobile device 300 in FIG. 3) as a form of instructions, and can be invoked and/or executed by the server 110 (e.g., the processing engine 112, the processor 210 of the computing device 200 in FIG. 2, the CPU 340 of the mobile device 300 in FIG. 3, the one or more modules or units illustrated in FIG. 4 and/or FIG. 5) .
  • the server 110 e.g., the processing engine 112, the processor 210 of the computing device 200 in FIG. 2, the CPU 340 of the mobile device 300 in FIG. 3, the one or more modules or units illustrated in FIG. 4 and/or FIG. 5 .
  • process 800 presented below are intended to be illustrative. In some embodiments, the process 800 may be accomplished with one or more additional operations not described, and/or without one or more of the operations discussed. Additionally, the order in which the operations of the process 800 as illustrated in FIG. 8 and described below is not intended to be limiting. In some embodiments, operation 610 of the process 600 in FIG. 6 may be performed based on the process 800.
  • a plurality of available service providers that can arrive at the pick-up location within the second time-range may be determined. Operation 802 may be performed by the provider determination unit 508.
  • the processing engine 112 e.g., the provider determination unit 508 may determine available service providers that is within a certain distance (e.g., 5 km) away from the pick-up location.
  • the processing engine 112 may determine estimated arrival times and/or estimated travel times for the available service providers that are within a certain distance (e.g., 5 km) away from the pick-up location and determine the plurality of available service providers that can arrive at the pick-up location within the second time-range.
  • the current time is 9: 00 a.m.
  • the second time-range is 9: 00a.m. to 9: 06 a.m.
  • the pick-up location is location N.
  • the corresponding estimated travel time to location N is 2 minutes, 5 minutes, and 8 minutes, respectively.
  • the processing engine 112 may determine service providers x and y as the available service providers that can arrive at the pick-up location within the second time-range.
  • scores of the available service providers that can arrive at the pick-up location within the second time-range may be determined. Operation 804 may be executed by the obtaining module 402. The processing engine 112 may rank the available service providers in descending order based on the scores. Details regarding determining the scores may be found elsewhere in the present disclosure (e.g., the description in connection with operation 610 in FIG. 6) .
  • certain number of top e.g., top one, top two, top three, top four, top five
  • a score threshold e.g. 60%, 70%, or 80%of the full score
  • Operation 806 may be performed by the provider determination unit 508. Details regarding determining the candidate service providers based on the scores may be found elsewhere in the present disclosure (e.g., the description in connection with operation 610 in FIG. 6) .
  • the beneficial effects that the systems and/or the methods in the present disclosure may bring include, but not limited to: (1) determining the time of being picked up of the service requester based on the request location and the pick-up location of the service requester, and recommending one or more suitable service providers for the service requester based on the time of being picked up of the service requester, which fully considers the time information of the service providers and the service requester, and brings a comfortable user experience; (2) estimating the arrival time of the service requester to the pick-up location based on the request location and the pick-up location of the service requester, and recommending one or more suitable service providers for the service requester based on the estimated arrival time of the service requester, which effectively saves the waiting time of the service requester for a service provider; (3) accurately estimating the arrival time of the service requester to the pick-up location based on the length of the route to the pick-up location, which improves the satisfaction of the service requester; (4) recommending available service providers based on the second time-range with a wider time
  • the various components of the system described above are all implemented by hardware equipment, but also can be implemented only by software. For example, installing system in the current server.
  • the location information disclosed here may be provided by a firmware, a combination of a firmware and a software, a combination of a firmware and a hardware, or a combination of a firmware, a hardware and a software.
  • the numbers expressing quantities or properties used to describe and claim certain embodiments of the application are to be understood as being modified in some instances by the term “about, ” “approximate, ” or “substantially. ” Unless otherwise stated, “about, ” “approximate, ” or “substantially” may indicate ⁇ 20%variation of the value it describes. Accordingly, in some embodiments, the numerical parameters set forth in the description and attached claims are approximations that may vary depending upon the desired properties sought to be obtained by a particular embodiment. In some embodiments, the numerical parameters should be construed in light of the number of reported significant digits and by applying ordinary rounding techniques. Notwithstanding that the numerical ranges and parameters setting forth the broad scope of some embodiments of the application are approximations, the numerical values set forth in the specific examples are reported as precisely as practicable.

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • Theoretical Computer Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Physics & Mathematics (AREA)
  • Marketing (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Development Economics (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)
  • Life Sciences & Earth Sciences (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Traffic Control Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
PCT/CN2019/077034 2018-04-27 2019-03-05 Systems and methods for determining candidate service providers WO2019205815A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201810393037.3A CN108615113A (zh) 2018-04-27 2018-04-27 一种候选载人车确定的方法、系统及计算机可读存储介质
CN201810393037.3 2018-04-27

Publications (1)

Publication Number Publication Date
WO2019205815A1 true WO2019205815A1 (en) 2019-10-31

Family

ID=63661222

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/077034 WO2019205815A1 (en) 2018-04-27 2019-03-05 Systems and methods for determining candidate service providers

Country Status (2)

Country Link
CN (1) CN108615113A (zh)
WO (1) WO2019205815A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108615113A (zh) * 2018-04-27 2018-10-02 北京嘀嘀无限科技发展有限公司 一种候选载人车确定的方法、系统及计算机可读存储介质
CN110009131B (zh) * 2019-02-28 2020-12-25 河海大学 一种考虑多因素影响的网约车派单方法
CN111652666B (zh) * 2019-11-18 2021-05-18 北京嘀嘀无限科技发展有限公司 一种出行订单处理方法及装置
CN111651687B (zh) * 2020-01-10 2021-02-26 北京嘀嘀无限科技发展有限公司 上车点信息推送方法及装置、下车点信息推送方法及装置
CN111341091A (zh) * 2020-02-06 2020-06-26 北京小马慧行科技有限公司 车辆的调度方法、系统、装置、存储介质和处理器
CN111860931A (zh) * 2020-03-31 2020-10-30 北京嘀嘀无限科技发展有限公司 一种到达时长提醒方法、装置、设备和存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1941752A (zh) * 2005-06-09 2007-04-04 索尼株式会社 信息处理设备和方法以及程序
CN103021172A (zh) * 2012-12-06 2013-04-03 苏州亿倍信息技术有限公司 一种出租车调度方法及系统
CN105117799A (zh) * 2015-08-20 2015-12-02 北京嘀嘀无限科技发展有限公司 订单过滤方法及设备
CN105701567A (zh) * 2016-01-11 2016-06-22 上海雷腾软件股份有限公司 一种网络调度用车的方法与设备
CN107122836A (zh) * 2017-04-14 2017-09-01 上海雷腾软件股份有限公司 一种用于车辆派单的方法及设备
CN108615113A (zh) * 2018-04-27 2018-10-02 北京嘀嘀无限科技发展有限公司 一种候选载人车确定的方法、系统及计算机可读存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BR112017017233A2 (zh) * 2015-02-10 2018-04-10 Beijing Didi Infinity Technology And Development Co., Ltd. Method and system for pushing up an order

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1941752A (zh) * 2005-06-09 2007-04-04 索尼株式会社 信息处理设备和方法以及程序
CN103021172A (zh) * 2012-12-06 2013-04-03 苏州亿倍信息技术有限公司 一种出租车调度方法及系统
CN105117799A (zh) * 2015-08-20 2015-12-02 北京嘀嘀无限科技发展有限公司 订单过滤方法及设备
CN105701567A (zh) * 2016-01-11 2016-06-22 上海雷腾软件股份有限公司 一种网络调度用车的方法与设备
CN107122836A (zh) * 2017-04-14 2017-09-01 上海雷腾软件股份有限公司 一种用于车辆派单的方法及设备
CN108615113A (zh) * 2018-04-27 2018-10-02 北京嘀嘀无限科技发展有限公司 一种候选载人车确定的方法、系统及计算机可读存储介质

Also Published As

Publication number Publication date
CN108615113A (zh) 2018-10-02

Similar Documents

Publication Publication Date Title
WO2019205815A1 (en) Systems and methods for determining candidate service providers
CN110678885B (zh) 用于运力调度的系统和方法
CN109417767B (zh) 用于确定预估到达时间的系统和方法
CN114944059B (zh) 确定预估到达时间的方法与系统
US20230237715A1 (en) Systems and methods for displaying vehicle information for on-demand services
CN109416767B (zh) 用于确定组合服务请求者的系统和方法
JP6503474B2 (ja) 移動デバイスの経路を求めるシステム及び方法
JP2019527871A (ja) 到着予定時刻を決定するシステム及び方法
CN109923373B (zh) 用于确定车辆参考方向的系统和方法
KR102232466B1 (ko) 서비스의 시퀀스를 업데이트하기 위한 시스템 및 방법
US20200300650A1 (en) Systems and methods for determining an estimated time of arrival for online to offline services
CN110402370B (zh) 用于确定服务请求的推荐信息的系统和方法
CN109891469B (zh) 交通信号灯配时系统与方法
TW201837839A (zh) 汽車共乘之方法及系統
CN117011003A (zh) 运力调度系统和方法
CN112154473A (zh) 用于推荐上车点的系统和方法
US11468374B2 (en) Methods and systems for carpool services
CN110782648A (zh) 确定预计到达时间的系统和方法
CN111133484A (zh) 用于评估与指定的驾驶服务相关的调度策略的系统和方法
WO2019241928A1 (en) Methods and systems for adjusting transportation capacity
CN110832536B (zh) 推荐上车地点的系统和方法
CN111954891B (zh) 一种跨业务的共享汽车资源复用方法
WO2019196686A1 (en) Methods and systems for time determination in carpool service

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: 19792155

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: 19792155

Country of ref document: EP

Kind code of ref document: A1