WO2018058072A1 - System and method for customizable prescheduled dispatching for transportation services - Google Patents

System and method for customizable prescheduled dispatching for transportation services Download PDF

Info

Publication number
WO2018058072A1
WO2018058072A1 PCT/US2017/053330 US2017053330W WO2018058072A1 WO 2018058072 A1 WO2018058072 A1 WO 2018058072A1 US 2017053330 W US2017053330 W US 2017053330W WO 2018058072 A1 WO2018058072 A1 WO 2018058072A1
Authority
WO
WIPO (PCT)
Prior art keywords
driver
customer
service
drivers
service request
Prior art date
Application number
PCT/US2017/053330
Other languages
English (en)
French (fr)
Inventor
Kevin Sunlin WANG
Original Assignee
Operr Technologies, Inc.
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 Operr Technologies, Inc. filed Critical Operr Technologies, Inc.
Priority to CA3034405A priority Critical patent/CA3034405A1/en
Priority to EP17854096.9A priority patent/EP3516602A4/en
Priority to CN201780072325.2A priority patent/CN110678884A/zh
Priority to BR112019005534A priority patent/BR112019005534A8/pt
Priority to AU2017331458A priority patent/AU2017331458A1/en
Priority to JP2019538087A priority patent/JP2019537166A/ja
Priority to RU2019112415A priority patent/RU2744983C2/ru
Publication of WO2018058072A1 publication Critical patent/WO2018058072A1/en
Priority to PH12019550042A priority patent/PH12019550042A1/en
Priority to ZA2019/01741A priority patent/ZA201901741B/en
Priority to IL265514A priority patent/IL265514B/en

Links

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
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • 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/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • G06Q10/047Optimisation of routes or paths, e.g. travelling salesman problem
    • 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/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/083Shipping
    • G06Q10/0835Relationships between shipper or supplier and carriers
    • G06Q10/08355Routing methods
    • G06Q50/40

Definitions

  • the present disclosure generally relates to systems and methods for transport services, and more particularly, to systems and methods for prescheduled transport services in which one or more service requests are received in advance of a designated dispatch date, prescheduled and/or grouped based on driver availability and compatibility with individual customers.
  • Dispatching and scheduling software in the transportation services industry is programmed to deal with different variables relating to drivers and customers, from processing service requests received from both customers and vendors to coordinating drivers in accordance with those service requests.
  • dispatch software is imperfect in terms of the types of information it collects and stores for later processing when creating schedules. Errors or conflicts can slow processing speeds and compound problems that may eventually obstruct service.
  • Organizing such information in a database and comprehensively querying it to preschedule service requests in an efficient manner presents numerous challenges, particularly where systems sort through one driver after another until a preliminary match is found. After finding a preliminary match, the driver must be contacted to see if he/she is actually able to provide the service.
  • a driver When presented with a service request, a driver may assume that he/she will be able to get it completed on time, but due to an unforeseen route change or a miscalculation, may have to work past his/her desired stopping time.
  • drivers are often dispatched to service requests for which their schedules are incompatible, and customers and drivers sometimes have to cancel with little advanced notice.
  • Dispatchers are not always familiar with who the customers are, and may not know their preferences. Situations arise where a dispatcher sends the closest driver to the customer, but that driver may be unfamiliar with the area or not like by the customer to which he/she is assigned. Although the driver is close and can quickly pick-up the customer, the customer may be dissatisfied with the service.
  • the present invention relates to various systems and methodologies of a prescheduling computer-implemented system. This summary is not intended to identify or point to essential features or limit the scope of the subject matter claimed herein.
  • the present invention relates to methods and systems for prescheduling transportation services in which a plurality of service requests are received in advance of a designated dispatch date, prescheduled, and grouped based on driver availability and compatibility with individual customers to solve the deficiencies of known scheduling and dispatch service systems, with at least the following objectives:
  • a computer-implemented method for customizable prescheduled transportation dispatching.
  • the method comprises receiving, through one or more computing devices, a service request for prescheduling from a customer having at least one customer optional preset service request preference.
  • the service request includes at least one trip having at least one of: a pickup time, a pickup location, a drop off time, or a drop off location.
  • the at least one customer optional preset service request preference includes at least a driver type comprising one of a favorite driver, a preferred driver, or a regular driver.
  • the method further comprises receiving, through the one or more computing devices, at least one driver optional preset service preference with optional preset location limitation or time limitation; automatically precluding at least one driver from a first set of a plurality of drivers from receiving the service request if the at least one driver is unable to complete the service request based on the at least one customer optional preset service request preference or based on a blacklist of the customer; generating at least one indicator associated with a second set of said plurality of drivers that corresponds to service relevant data; transmitting the at least one indicator to the customer, wherein the at least one indicator corresponds with the at least one customer optional preset service request preference; determining, on at least one designated date or time, if the at least one customer optional preset service request preference matches with at least a portion of: the at least one driver optional preset service preference; and the at least one indicator; assigning the service request to the at least one driver from the second set of the plurality of drivers; sending at least one notification dispatching the service request to the at least one driver from the second set of
  • a computer- implemented method for providing customizable automated prescheduled transportation dispatching comprises receiving a plurality of service requests for prescheduling, wherein each of the plurality of service requests includes at least one leg having at least one of a pick-up time, a pickup location, a drop-off time, or a drop-off location; sorting the plurality of service requests according to a geographic region of one of the pickup location or the drop-off location; storing the plurality of service requests in one or more databases; retrieving, from the one or more databases, (i) customer information of a customer associated with each service request of the plurality of service requests, the customer information comprising at least one of optionally preset service preferences, a favorites list, a preferred list, or a blacklist, (ii) one or more driver profiles, each of the one or more driver profiles comprising driver information, the driver information comprising a geographic service region and at least one of optionally preset service limitations, service history, a favorites
  • the method further comprises assigning each driver from the second set of drivers to a service request of the batch in accordance with the priority assignment; transmitting, to a customer computing device, a group of drivers from the second set of drivers based on the priority assignment; receiving, from the customer computing device, a selected one best matching driver from the group of drivers; and transmitting the service request to said selected one best matching driver.
  • a computer-implemented method for providing customizable automated micro-dispatching for transportation services comprising receiving, through one or more remote computing devices, a service request for scheduling from a customer having one or more optionally preset service request preferences, the service request including at least one leg of a route; storing information relating to the service request in one or more databases; selecting a driver from a subset of drivers to receive the service request based at least in part on information displayed through one or more indicators, and dispatching the service request to the selected driver; receiving acceptance of the service request from the selected driver; identify one or more partner drivers associated with the selected driver in a micro-dispatching system, the one or more partner drivers in communication with the selected driver through said one or more remote computing devices; transmitting, by the selected driver, a redispatch request for the accepted service request to an identified one of the one or more partner drivers; sending a redispatch notification to the identified partner driver; receiving acceptance of the redispatch request from the partner driver; automatically notifying the customer of
  • a method for dynamically and automatically updating service relevant data exchanged between a database stored on a server computing system and at least one remote computing device comprises receiving, at a server computing device, a service request from a customer, the service request including at least one leg of a route; storing service relevant data relating to the service request in one or more databases on the server computing device; selecting a driver from a group of drivers to complete the service request, and automatically dispatching the service request to the selected driver; receiving, through one or more remote driver computing devices, acceptance of the service request from the selected driver; identifying first updated service relevant data related to the service request, the first updated service relevant data being identified at the server computing device prior to completion of the service request; updating the database dynamically with the first updated service relevant data; automatically transmitting the first updated service relevant data to the driver for display through the one or more remote driver computing devices; identifying second updated service relevant data related to the service request, the second updated service relevant data being identified by the driver through the one or more remote driver computing devices after acceptance
  • FIG. 1 is a diagram of an exemplary prescheduled dispatch system, including a computing system and one or more peripheral computing devices for use with various embodiments of the invention
  • FIG. 2 is a diagram of an exemplary computing device and associated components in accordance with various embodiments of the invention
  • FIG. 3 is a diagram depicting a dispatch operation incorporating an exemplary dispatch matrix in accordance with various embodiments of the invention
  • FIG. 4A is a flowchart illustrating exemplary dispatch logic in accordance with various embodiments of the invention.
  • FIG. 4B is a flowchart illustrating an exemplary transport methodology and incorporating customer or driver cancellation in accordance with various embodiments of the invention
  • FIG. 5 is a flowchart illustrating an exemplary price negotiation between a driver and a customer with or without a dispatcher web portal
  • FIG. 6 is a flowchart illustrating an exemplary methodology for assigning a plurality of prescheduled service requests in accordance with various embodiments of the invention
  • FIGS. 7 A and 7B are flowcharts illustrating an exemplary methodology for assigning a plurality of prescheduled service requests based on a first algorithm in accordance with various embodiments of the invention
  • FIG. 8 is a flowchart illustrating an exemplary methodology for assigning a plurality of prescheduled service requests based on a second algorithm in accordance with various embodiments of the invention
  • FIG. 9 is a flowchart illustrating an exemplary methodology for prescheduling and rescheduling a plurality of service requests using partner driver and on-demand methodologies in accordance with various embodiments of the invention.
  • FIG. 10 illustrates an exemplary electronic map interface showing unassigned service requests in different geographic regions in accordance with various embodiments of the invention.
  • modules of the systems and methods described herein may be implemented in part by using an interfacing mobile application (app) on an internet- enabled mobile device's operating system, such as, for example, Android, iOS, or Windows Phone OS, and in part by using a web portal interface, and that different types of users may utilize different functionalities of the system.
  • Such users or subscribers can include, for example, one or more "driver(s)” or customers.
  • Driver(s) herein can include anyone, including, for example, one or more individuals, entities, or one or more individuals from an entity, who request or order services.
  • a "customer” can refer to anyone who registers with the system, either individual or individuals from an entity, who requests or orders services, regardless of which type of services that may be, whether transport service, delivery service or both.
  • customers and service providers alike use the methods and systems described herein, both may generally be referred to as a "user” or “users,” in addition to being referred to by specific user type corresponding to the role they play in the service request.
  • Services herein can refer to three types of services: transport service for riders, delivery service of goods, and both transport and delivery service. Those services can be prescheduled or requested on-demand. "On-demand” herein is meant to further define when services take place in real-time, as requested. "On-demand” is used in opposition to the notion of being “prescheduled” or occurring at a future fixed time, such as a couple hours or days later. On- demand services happen at the moment, whereas prescheduled services take place at a predetermined future time, date, or during a predetermined timeframe.
  • a “service provider” herein may be a single individual such as a driver, a group of people or an affiliate of a private business entity such as a car service company who can be summoned to provide transport service or delivery service or both.
  • the service provider's ability to provide service depends on what tools he/she has at the disposal. For example, in the case of driving a customer somewhere, a vehicle would be necessary, whereas a request for a delivery service can be provided not only by vehicle, but also by someone on foot, or someone on a bicycle.
  • Disposcher(s) can include a party which manages service request(s) and operates various scheduling and prescheduling functionalities.
  • "Vendors” herein can refer to a broker or other business entity, government office, or individual who brokers a service on behalf of a customer or passenger. As described herein, each of these different roles may be referred to specifically or by the catch-all terms "user” or “users” that register in or are otherwise directly or indirectly associated with the system.
  • a request for any type of service is generally referred to as a "service request" or 'trip(s)" throughout the disclosure.
  • a service request is assigned to a driver based on a customer's preference(s) and a driver's preferences and/or limitations, and priority is given to certain drivers for certain trips with customers based on one or more attributes or prior trips.
  • the term "preference” as used herein refers to various factors about a particular service that a customer would like included in the overall service provided to him/her in terms of the particular driver, the particular vehicle the driver uses, and any attributes related thereto. These preferences may represent ideal or favored conditions for the service request. Alternatively, such preferences may represent preconditions for service.
  • a customer can set his/her preferences on a mobile device and update them at any point, allowing the customer to feel comfortable, and in the end, satisfied with the quality of the services received.
  • a customer can have one or more such "preferences.”
  • limits can mean any type of constraint that a driver may wish to place upon a service he/she provides. These limitations may include two broad categories: personal limitations regarding when, where, how, and to whom a driver provides services. Such personal limitations may include location limitations based on a driver's reluctance to provide services in certain geographic zones, and time limitations based on a driver's reluctance to provide service within certain time periods. Alternatively, in certain preferred embodiments, a driver may also specify one or more preset location preferences based on a driver's desire to provide services to (e.g., preference to receive work within) certain geographic zones.
  • the driver may also specify location limitations within his/her location preferences based on the driver's reluctance or inability to provide services in certain geographic zones within the driver's preferred geographic zone of service.
  • Service limitations may additionally or alternatively relate to times or time frames when the driver might not want to provide service to a customer. Such times can include hours of the day, days of the week, times of year, etc.
  • Drivers can also set "limitations" for location and time. By way of example, a driver may not want to provide service in a certain area past 10PM, but is willing to provide service in another area past that time.
  • the driver may also specify time preferences indicative of a time period during which the driver prefers to receive service requests.
  • a driver can have one or more such “limitations” and/or “preferences”.
  • the terms “preferences” and “limitations” are not intended to limit a customer or driver to only having a preference or a limitation. Rather, they are intended to draw an illustrative contrast.
  • multiple terms are used to refer to a customer who has an established positive relationship with a driver.
  • a "favorite customer” is one who is on a driver's "favorite customer list”.
  • a driver who has an established a positive relationship with a customer is referred to as a "favorite driver” (e.g., on a customer's "favorite list”).
  • the term "favorite” as used herein is meant to be broadly construed, and refers to any customer or driver who is prioritized in an assignment of a service request (e.g., on a 'Tavorite list").
  • a “favorite list” may alternatively be referenced as, for example, a “friend,” a “top”, a “priority”, or any other word used by drivers or customers to define the concept of such list.
  • atop priority is to denote the concept of a positive driver-customer relationship which encompasses matching between the driver and the customer.
  • a driver's "blacklist” or a customer's “blacklist” as used herein refers to lists which can prevent a match between a driver and a customer in the future (e.g., where both are precluded from service request processing). It will be appreciated by one skilled in the art that other terms may be used to describe this concept, such as, for example, “block list”, “ban list” “dislike list,” or the like.
  • the intention is to denote the concept of a driver excluding customers to whom he/she does not want to provide service, or with whom he/she does not want to have contact, and a way for a customer to exclude the drivers from whom he/she does not want service or contact.
  • a customer may additionally or alternatively have a "preferred" driver.
  • a preferred driver is a driver who is not on the customer's favorite list, but one whom the customer has directly requested be on his/her "preferred list", or one whom the customer has requested be on his/her favorite's list, but whose request has not been agreed to by the driver. In either case, if the driver refuses a customer's request, then the driver will not be added to the customer's favorite or preferred list, and vice versa.
  • drivers and customers are placed on each others favorite lists when both parties agree, and on preferred lists when one or both parties directly request it or when one party requests favorite but the other does not respond.
  • the word "preferred” as used herein generally refers to a lower ranking than 'Tavorite" for purposes of matching customers and drivers when assigning prescheduled service requests.
  • Driver and customers may further rank each other within these classifications as further discussed herein.
  • Drop-off locations can be complicated, such as, for example, at hospitals or clinics which often have confusing or unclear layouts. At these locations, it can be difficult to locate the correct entrance. Thus, it may be preferred to dispatch a service request to a driver who is familiar with a particular route when this type of location is involved. In certain embodiments, any driver who is not a favorite driver or a preferred driver of a customer is referred to herein as a "regular" driver.
  • driver type a driver who is preferred for one customer might be a favorite for another.
  • system herein is referred to the implementation through a combination of hardware and software that operates a portable computing device, which comprises various preprogrammed features combined and integrated with basic components including but not limited to one or more servers, databases, mobile end applications, web portals, network settings, etc. With the support of these components, the system provides the services through user interfaces, such as a website or a mobile application.
  • the system may have more than one server that may be in a distributed structure with support from data centers that may be located anywhere around the world.
  • implementations may be communicatively linked and cross platform so that a user on a mobile device (e.g., smartphone, tablet, etc.) or stationary (e.g., desktop computer, etc.), may be provided with the information relevant to their service request, (e.g., electronic map displays, indicators which display travel times, routes, pricing information, profile/setting information, etc.).
  • a mobile device e.g., smartphone, tablet, etc.
  • stationary e.g., desktop computer, etc.
  • indicator as used herein is a means to transmit or display information related to services to a customer or to a service provider or both in a simple, fast, and convenient way.
  • Various embodiments of systems described herein provide prescheduling transportation through a computing system.
  • the computing systems described herein can include any combination of hardware and software, and can communicate with a plurality of portable computing devices through, for example, a wide-area, packet switched network, which can allow users to access various pre-programmed features combined and integrated with basic components.
  • Such features and components can include but are not limited to one or more servers, databases, mobile end applications, web portals, network settings, etc. within a communications framework/network.
  • the systems described herein provide services through user interfaces, such as, for example, a website or a mobile application on a portable computing device.
  • the systems may also include more than one server operatively disposed in a distributed structure with support from data centers that may be located anywhere around the world.
  • inventions of the systems described herein are not limited to applications involving conventional computer programs or programmable apparatuses that run them. It is contemplated, for example, that embodiments of the inventive disclosure could include an optical computer, a quantum computer, an analog computer, or the like.
  • each element in the flowcharts herein depicts a step or a group of steps of a computer- implemented method, and each step may contain one or more sub-steps. For purposes of illustration, these steps (as well as any and all other steps identified and described) are presented in a certain logical order. However, it will be appreciated that any exemplary embodiment described herein can contain an alternate order of the steps adapted to a particular application of a technique disclosed herein, and that any variations and/or modifications are intended to fall within the scope of this inventive disclosure. The depiction and description of steps in any particular order is not intended to exclude embodiments having the steps in a different order, unless required by a particular application, explicitly stated, or otherwise clear from the context.
  • FIG. 1 illustrated is a diagram of an exemplary computing system 100 and a plurality of peripheral computing devices for use with various exemplary embodiments of the invention.
  • a combination of hardware and software operates on a plurality of computing devices 128 and the computing system 100, generally with one or more connections to wired or wireless wide area network (WAN) 124 (e.g., the Internet), incorporated with local devices through a local area network (LAN) interface 120.
  • WAN wide area network
  • LAN local area network
  • Computing devices 128 can be a wireless mobile hardware device having software capable of communicating information to other mobile devices or computer systems, determining the location of that device with geographical position location capability (e.g., through triangulation of a cell system, GPS, by location specification from the user, etc.), and connecting to a private computer network or public network such as the Internet through a network.
  • geographical position location capability e.g., through triangulation of a cell system, GPS, by location specification from the user, etc.
  • a private computer network or public network such as the Internet through a network.
  • Computing system 100 can include, for example, server 102 including central processing unit (CPU) 104, memory unit 106, database 108, interface 110, communication means 112, display unit 114, one or more input devices 116 (e.g., keyboard, mouse, etc.), LAN data transmission controller 118, LAN interface 120, network controller 122, and internal bus 138. As shown, the system may be connected to a data storage device, such as, for example, a hard disk disposing one or more databases 108 via a wired or wireless link.
  • Central computing system 100 can include one or more servers configured the same or similar to server 102 shown in FIG. 1, or one or more servers configured in a different manner, which may dispose different hardware or software.
  • computing system 100 may comprise multiple servers hosted in multiple spaces such as data centers or server farms.
  • Computing system 100 may be configured to communicate with network service coordinated through a communication means 112, which may include any approach for communicating data over one or more networks or to one or more peripheral devices.
  • Communication means 112 may include, but is not limited to, circuitry and control systems for providing wireless connections, wired connections, cellular connections, data port connections, Bluetooth connections, or any combination thereof, and the means may include devices enabled to communicate using such communication approaches.
  • One of ordinary skill in the art will appreciate that there are numerous approaches to communications that may be utilized.
  • Server 102 and computing system 100 may be communicatively linked, through communication means 112 and WAN 124, to peripheral devices such as computing devices 128, vendor device 126, administrator device 134, and dispatcher device 136.
  • Computing devices 128 may be configured as one or more customer computing devices 130C1- 130Cn or driver computing devices 132Dl-132Dn.
  • Computing devices 128 may be devices (e.g., smartphone, smartwatch, etc.) which allow a user (e.g., customer, driver, etc.) to interact with the computing system 100. Any number (e.g., 1, 2, 3, ... n) of driver devices 132D1... 132Dn, or customer devices 130C1...130Cn may be used in conjunction with computing system 100.
  • Computing system 100 may have more than one server 102 in a distributed structure with support from data centers that may be located anywhere around the world. These implementations may be communicatively linked and cross-platformed, so that a user on a mobile device may be provided with information relevant to the service request, such as, for example, the electronic map display, indicators which display travel times, routes, pricing information, profile information, settings information, etc.
  • server 102 coordinates user interfaces and interacts with database 108. Each user, depending on that user's role and needs, may be provided a different functionality.
  • Server 102 may receive customer input information, location information, and service request information to configure content, as well as the information from the driver (e.g., location information, limitation information, historical information, etc.). As discussed above, server 102 can send information to one or more computing devices through server interfaces, and information can be output to a display of the computing devices.
  • Such content can include features which are region-specific if particularly relevant regional information exists, especially with respect to service request mapping or routing.
  • the service request information received through the server interface may be stored by the computing system 100 in database 108, and may include, for example: the status of service requests; the status of service request acceptances by drivers; the reasons from drivers for cancelling service requests; the histories associated with assigned service requests; operation logs of dispatchers; etc.
  • the content/timestamps of notifications and confirmation statuses may also be recorded in system logs, and this information can be checked by the administrator of computing system 100. It will be appreciated that this is not an exhaustive list of the operational service request information that the system may record.
  • the data stored in one or more databases 108 of computing system 100 can be continually updated with all user information discussed herein, and analyzed in accordance with the various methodologies discussed herein to enable efficient booking and dispatch of prescheduled transport services.
  • computing system 100 can first open a safe access channel with database(s)/database center and then send out query sentences through the access channel to a database management module. If a relational database is utilized, then the data tables may have one kind of relationships, such as one to many relationships, many to many relationships, and one to one relationships with other data table(s).
  • the database(s) management module can exactly follow the query sentences and find the specific data table(s) by using ID(s), table names and column names of the tables with/without joining two or more data tables together. If a non-relational database is utilized instead of data tables, with the data stored in key- value pairs, then the database management module can exactly follow the query sentences and find the specific data by using keys that query sentences provide.
  • Computing system 100 can access all information stored in the one or more databases 108.
  • the database(s) 108 can include rules and procedures data, driver data, administrative data, group data, customer data, map component data, and any other data relevant to implementation of computing system 100.
  • Rules and procedures data can include system price, promotion setting rules and procedures, as well as rules and procedures for indicators, referrals, payments, service requests, system management, system log, system analysis and optimization, etc.
  • the map component data can store map data for service requests that are identified by the GPS and LBS.
  • the GPS and LBS data can determine the location of the computing devices in different ways, such as, for example, through receiving location-based resources.
  • Driver data can include drivers' profiles, such as personal data including a photo of the driver and years of his/her driving experience, gender, country of origin, and language abilities.
  • Database 108 can also include data related to a driver's vehicle, such as make and model, color, seating capacity and accessibility, insurance status, and even pictures of the vehicle. Additional information in the driver's profile may include such information as a driver's favorite list and blacklist, limitations related to zip codes, time, location, and price, as well as service data and records. Database 108 can further include administrative data comprising prices and rates, system data such as contact and FAQ information, and registration details regarding customers and drivers. For example, database 108 may store billing information or other information related to administering on-demand service applications for computing system 100. Group data can include base data, company data, group of individuals data, or data related to vendors.
  • Customer data can comprise customers' profiles including personal data, customers' favorite driver lists, customers' driver blacklist, customers' preferences, service requests data, and records.
  • database 108 can sync dynamically so that whenever changes or updates in data blocks are made, server 102 and database 108 dynamically update the data accordingly to reflect the latest changes.
  • at least one backup database may be utilized to back up a primary one of databases 108 in case of data loss in the primary database 108.
  • database 108 components may vary from the ones depicted herein.
  • computing system 100 may use a set of databases or data storage mediums to provide and maintain a prescheduled service application in order to dispatch a compatible driver based on a customer's preferences and needs.
  • Databases 108 may contain several data categories or groupings. Sections of database 108 may be independent or synchronized in order to retrieve information from both sections at the same time. Such data can include rules and procedures data, administrative data, customer data, driver data, group data comprising base data, company's data, or group of individuals' data, and other types of data such as data relating to user types. In accordance with exemplary embodiments of the present invention, all historical information may be categorized and stored in and retrieved from database 108.
  • Historical data can be tracked in part by assigning a tracking number, service ID number or trip ID corresponding to each service request to help computing system 100 refer back to the service request.
  • Information categorized with this identification may include the type of service request, who requested and carried it out, where it took place (zip code, borough, county, city, state, etc.), what the route was, the cost of the service request, when and how payment for the service took place, and whether either party was added to a favorite list or a blacklist. All information regarding a customer's or driver's preferences or limitations, pricing, and other customizable information can be stored within database 108.
  • Such a comprehensive database 108 may store administrative data and other information.
  • the administrative data can include any information or data which is part of a prescheduled service application, and comprise system data such as contact and FAQ information, customer and driver registration details, such as, for example, billing information or other relevant information relating to administering the prescheduled service application.
  • the registration details can include how long users have been registered with the system or how frequently they use the prescheduled service application.
  • Administrative data can include information such as price and rate information for routes from different organizations. Other stored information can include service rules, procedures, and prices, as well as procedures for drivers' and customers' settings.
  • records of completed service requests can also be stored and maintained within database 108.
  • Computing system 100 can automatically store records of historical data for any completed service requests in a comprehensive database.
  • Database 108 may be dynamically updated as services are booked and completed.
  • Database 108 may store an index of each service request that has been requested and completed, including the registration numbers or user identifications of customers and drivers, which can be retrieved for reference if needed at any time.
  • the service request information stored in the database 108 may include, for example, a service request ID, relevant driver information, relevant customer information, requested pick-up location, actual pick-up location, requested drop-off location, actual drop-off location, pick-up time, drop-off time, distance, duration time, status, prices, insurance company, etc.
  • a dispatcher may update such customer on the status of his/her service request or on the location of the driver. The dispatcher can provide the customer with the most current information, as the start button functionality discussed above allows a driver to instantly connect with the dispatcher at the back- end.
  • the relevant service information may include information such as fleet number, first name, last name, username, email, password, phone number, date of birth, gender, country of origin, driving experience, driver type (e.g., owner- operator), affiliated company name, affiliated base name, allow pets, allow wheelchair, language, signature, and general profile.
  • driver type e.g., owner- operator
  • affiliated company name e.g., affiliated base name
  • allow pets allow wheelchair, language, signature, and general profile.
  • the relevant service information may also include licensure information such as license number, license class, license state, license issuance, license expiration, FHV license number, FHV license issue date, and FHV license expiration; driving record information such as driving record start date and driving record expiration date; vehicle information such as registration status, registration state, registration start date/end date, model year, brand, model, VIN, vehicle type, plate number, FHV registration start/end date, FHV license number, and FHV license; and insurance and inspection information such as liability status, insurance status, insurance provider, insurance start date, insurance end date, vehicle inspection, and vehicle inspection end date.
  • licensure information such as license number, license class, license state, license issuance, license expiration, FHV license number, FHV license issue date, and FHV license expiration
  • driving record information such as driving record start date and driving record expiration date
  • vehicle information such as registration status, registration state, registration start date/end date, model year, brand, model, VIN, vehicle type, plate number, FHV
  • the comprehensive database 108 may also store the details of service requests for each particular driver for future reference.
  • Database 108 can include data about a driver's vehicle, such as type of the vehicle, model, color, seating capacity and accessibility, insurance status and even pictures of the vehicle. Additional information in the driver's profile may include information such as a driver's favorite list and blacklist, preferences, and limitations such as zip codes, time or location limitations, and service data and records.
  • Any backup databases related to database 108 may also be updated accordingly to reflect the latest changes.
  • such information can be organized or structured in a manner allowing for effective sorting and retrieval.
  • the information can be stored in a nonrelational or unstructured manner.
  • One of ordinary skill in the art will appreciate that numerous methods for providing, storing, and organizing data in database 108 or other data storage medium may be utilized in accordance with the exemplary embodiments of the present invention discussed herein. Additionally, it will be appreciated that at least one backup database may be utilized which backs up the primary database frequently in case any data is lost from the primary database.
  • Information stored in the database(s) can be used to generate various indicators (further discussed below) in the prescheduled service system 100.
  • the indicator related icons, shapes, or other depictions can be stored in database 108. Based on the results of exploration and analysis of data in database 108, as well as icon, shape or other depiction assignment rules, the icons, shapes or other depictions can be displayed with other indicators to customers, drivers, and dispatchers accordingly.
  • the prescheduled service system 100 can provide relevant information to any prescheduled service application operatively associated therewith.
  • Driver information may correspond to information about the available drivers themselves, such as profile information about the drivers, current location or movement of the vehicles, or particular distances from the customer or estimated time periods before pick-up.
  • Computing system 100 may also use a set of databases 108 or data storage mediums to provide and maintain a prescheduled service application in order to dispatch a compatible driver based on a customer's preferences and needs.
  • Database 108 may contain several data categories or groupings. Sections of database 108 may be independent or synchronized in order to retrieve information from both sections at the same time. As discussed herein, such data may include rules and procedures data, administrative data, customer data, driver data, group data comprising base data, company's data, group of individuals' data, and other types of data such as data relating to user types. According to an exemplary embodiment of the present invention, all historical information in database 108 may be categorized and stored in and retrieved from database 108.
  • Historical data can be kept track of partly by assigning a tracking number, service ID number or trip ID number assigned to each service request to help computing system 100 refer back to the service request if questioned.
  • Information stored can include what type of service request was requested or provided, who requested it and who carried it out, where the service took place, such as a zip code, borough or county, city or state, which route was utilized, how much the service request cost, when and how payment for the service was made, and whether either party was added to a favorite list or blacklist. All information regarding a customer's or driver's preferences or limitations, pricing and other customizable information may be stored within database 108 of computing system 100.
  • Additional data may be input into database 108, including, but not limited to, locations where customers traveled to, favorite lists or blacklists, locations, other transaction data and details, historical data, insurance policy expiration dates, inspection dates, drivers' license expiration dates, or any combination thereof.
  • This data may also include information relating to indicators and the display thereof.
  • the data may include the service requests that all customers or drivers have completed in a certain area, such as one or more streets, zip codes, town, city, borough, county, state, or any other region defining feature, or how many times a customer and a driver have been paired by computing system 100.
  • computer program instructions used by the computing system 100 may include computer executable code.
  • languages for expressing computer program instructions are possible, including without limitation, C, C++, Java, JavaScript, Python, assembly language, Lisp, and so on.
  • Certain logical functions may need to be implemented to provide highly specific and tailored services for customers and drivers for the technical challenges that need to be solved. These logical functions may be pre-programmed to accommodate various preferences and limitations, and may be exceedingly complex to carry out particular if-then scenarios. Rules may be established that identify certain parameters. In this manner, many complex conditions may be accounted for, and drivers and customers can be filtered by chaining logical functions based on those filters.
  • Various language features can be utilized, and programmed and implemented through programming languages such as Java.
  • Such languages may include assembly languages, hardware description languages, database programming languages, functional programming languages, imperative programming languages, and so on.
  • computer program instructions can be stored, compiled, or interpreted to run on a computer, a programmable data processing apparatus, a heterogeneous combination of processors or processor architectures, and so on.
  • computing devices 128 can be used by either customers (e.g., via devices 130C1...130Cn) or drivers (e.g., via devices 132D1...132Dn) or both, and may be in communication with various components, tangible or intangible, of computing system 100.
  • Computing devices 128 may incorporate various internal devices 200 and external devices 202, and may utilize mobile communications devices 220 for receiving voice, text, and data for connecting to computing system 100 such as over a WAN 124, and location identifier 204 such as a Global Positioning System (GPS) receiver for identification of a present location.
  • GPS Global Positioning System
  • An application, a map component, map data, and location identifier 204 may be integrated into one or more of computing devices 128 for certain location identification functions.
  • Location identifier 204 may identify a location of computing devices 128 in different ways, such as, for example, through receiving location-based resources.
  • a GPS-enabled system or device allows tracking components to identify the location of computing devices 128.
  • location identifier 204 can be instantiated through processing received GPS data from location-based or geo-aware resources of computing devices 128.
  • location identifier 204 can receive GPS data from other applications or programs that operate on the computing device using one or more application program interfaces (APIs).
  • APIs application program interfaces
  • the application can use location information to cause a user interface component to configure a user interface framework.
  • a customer can access a customer module such as computing device 128 operatively associated with computing system 100 to input a service request which includes trip details such as pick-up and drop-off locations as well as desired pick-up and drop-off times. If, however, any entity requests a service which is deemed incompatible with the system (e.g., based on data received from location identifier 204 regarding the location of one or more drivers and/or driver limitations in database 108), then a dispatcher may be notified. [0077] The computing system 100 may be configured to generate a notification to customer device 130 when a driver comes within a region that is a certain distance (e.g., one or two miles) of a customer pick-up location designated in a service request.
  • a certain distance e.g., one or two miles
  • Driver devices 132D1...132Dn may each include an interface component which provides location information gathered by location identifier 204, and passes such location information to an interface component on customer device 130C1...130Cn via WAN 124 and server 102.
  • Driver devices 132D1... 132Dn may also include radio -frequency identification ( FID) technology, or other similar identification device or means, so as to alert the system when a driver is at his/her vehicle or is away from his/her vehicle.
  • FID radio -frequency identification
  • the location identifier 204 can include a GPS-enabled system or device whose tracking components identify the location of customers who are making service requests and drivers who are looking to provide service.
  • Computing system 100 may include an application manager which, based on a customer's current location or service location, may cause a region-specific customer interface feature to be output by a customer interface component on display apparatus 212.
  • a region specific to a customer can include the customer's current location or a service location in which the customer wishes to preschedule service.
  • the region may be identified by zip code, city name, metropolitan area name, etc., in which computing devices 128 are currently located, and may be an area having a certain distance or radius from the customer's current location (e.g., one mile, five miles, etc.), or may be an area specifically partitioned from other areas.
  • Region-specific information about the prescheduled service may be provided in part by a system which supplies driver location data 324 (Fig. 3). It will be appreciated that use of location related preferences or limitations may depend in part on GPS-enabled devices.
  • the prescheduled service systems described herein can identify specific locations (e.g., stores, restaurants, apartment complexes, venues, street addresses, etc.) proximate to and/or located at an identified location, and provide this specific location information as location data (e.g., as part of the traffic and map data 326).
  • specific locations e.g., stores, restaurants, apartment complexes, venues, street addresses, etc.
  • Processor 206 is preferably provided for executing software or a set of instructions on computing devices 128.
  • Computing devices 128 may also contain storage 208 such as random- access memory (RAM) or flash storage.
  • I O Input/output
  • I O devices 210 can be used to connect computing devices 128 to other system implements, depending on the available functionalities of computing devices 128. For example, a driver may use an in-vehicle navigation system, which might not have a camera, while a smartphone may have a built-in camera. In this situation, a camera may be included as an input for the in-vehicle navigation system.
  • Other I/O devices 210 may include a scanner, a microphone, and/or a speaker.
  • Computing device 128 may also include display apparatus 212 to receive and display to a user notifications and/or other data received from computing system 100.
  • Display apparatus 212 may, for example, be an electronic touchscreen display configured to provide user interface 214 in accordance with various methodologies of the invention.
  • Computing devices 128 may also utilize internal clock mechanism 216 to determine the present time.
  • An accelerometer or a speedometer 218 can also be provided as part of and/or in communication with computing devices 128 to measure speed, acceleration, directional changes, etc.
  • User interface 214 displays various content based on user selections and preferences. It will be appreciated that one or more components of computing devices 128 may be combined to provide user features specific to user selections and user locations. These selections can be displayed to the user, and the user can utilize user interface 214 to interact with displays of certain information.
  • user interface 214 can correspond to a program downloaded onto a smartphone or other portable computer device such as a tablet computer or personal digital assistant (PDA).
  • PDA personal digital assistant
  • a user can download and install the application on one or more computing devices 128 and register with the system.
  • pre-programmed features of computing devices 128 are utilized based on certain protocols or methods of integration of basic components, such as servers, databases 108, mobile end applications, web portals, network settings, etc.
  • the applications can be applications written for Android (a mobile platform developed by Google and the Open Handset Alliance), IOS (a mobile platform developed by Apple, Inc.), Windows Phone (a mobile platform developed by Microsoft Corporation), etc.
  • All types of users can be registered and entered within the system for the purpose of activity tracking. Registration may be performed through means such as assigning a user ID to each user such that system functionalities can only be accessed when a user ID is entered. Additionally, the device the user employs to access the system may be tracked by IP address, and system activity may be tracked with timestamps or similar means and stored in database 108. In this manner, a system administrator can track not only who is accessing the system, but also from which device, the location of the device, and the time of such access. Such capabilities allow dispatchers to track activity, and if an error occurs, such as entry of a wrong address on a service request, then the cause of the error can be easily diagnosed and addressed.
  • user interface 214 can be, for example, a homepage, access to a dispatch portal (for drivers), a service requesting module (for customers), an access interface to database 108, or a way for users to access one or a combination of any of the features described herein.
  • the system can retrieve a user's information and other data that is stored in database 108, which may be provided locally and/or remotely.
  • database 108 which may be provided locally and/or remotely.
  • Customer devices 130C1...130Cn may each utilize a customer interface to display various indicators on maps showing geographic information. Each indicator can signify, for example, differing customer information or customer inputs received by computing system 100 from the customer, a vender, or any application which takes a prescheduled service request 300 from the customer. Customer devices 130C1...130Cn can also each contain application features adapted to dynamically synchronize content based on customer selections provided via a customer input.
  • User interfaces 214 on customer computing devices 130C1... 130Cn can include, but are not limited to, a home page customer interface, a service request panel used for customers to identify the details of service requests, preference details, etc., a summary customer interface, a location search customer interface, a confirmation page interface, or a combination of any of these features.
  • a customer's current location is different from an originally requested pick-up location, then the customer can manually preschedule a new pick-up location that is different from the current location stored in computing device 128 or computing system 100.
  • a start button functionality can be provided as part of computing device 128 on, for example, one or more of driver devices 132D1...132Dn.
  • the display of one or more mobile driver device 132D1...132Dn may display relevant information to a driver about the trip queue, starting with the next trip in the queue, where the details of that trip are shown, such as the pick-up location and pick-up time along with the destination and the scheduled drop-off time.
  • the driver can then click 'Start' (e.g., a physical push button or via atouch screen interface on the driver device 132D) in order to let a dispatch or administrator know that he/she has begun the trip and is on the way.
  • the display on the mobile device may also show a list of the remaining trips in the queue with limited details which may be expanded or viewed later.
  • This Start button functionality helps address current drawbacks in communication between various parties as dispatchers can easily identify which service requests are underway. Additionally, it provides a means by which a customer who has scheduled a second leg can let a driver know the status of the related appointment. In a traditional dispatch system run by telephone, the current location of drivers and the status of second leg customers may be unknown. As a result, dispatchers have no choice but to operate by guesswork if they cannot easily reach a driver or customer while coordinating a service request. When a driver presses a start button at the beginning of each leg of a service request, the system can record the status in the database 108. Such functionality will also make tracking easier if the legs of a service request are handled by more than one driver.
  • Pressing the Start button may trigger a series of events which affect the dispatch backend system, and that series of events may be carried out with the help of various software and hardware implements. Pressing the Start button may, for example, cause the driver's location to be relayed to a third-party mapping and navigation service such as Waze ⁇ , which may configure various routing options and the ETA for the driver on each route based on the driver's current speed and the distance associated with each route. This information may be relayed to a dispatch, a customer, and back to the driver, and may be provided in real-time.
  • a third-party mapping and navigation service such as Waze ⁇
  • the user interface may include a Start button which triggers a series of events in the database 108 regarding data storage, where the geolocation of the driver is tracked by the location identifier 204 as part of the records associated with a service request, the customer, the driver, etc.
  • GPS devices may still be able to detect a driver's current location and heading.
  • the Start button is a powerful feature that can provide dispatchers and other parties with an instant update on the driver's real-time status.
  • NEMT Non-Emergency Medical Transportation
  • a clinic operator such as an employee of the clinic may be able to manage (e.g., search/add/delete/modify) appointments affiliated with the clinic, and by using the functionality of a start button, notify other employees of the clinic and customers of any changes.
  • the clinic operator or a customer may be able to notify other users that an appointment has begun by pressing the start button on their end. If, for instance, the appointment began later than scheduled, the system may be able to make any necessary changes, such as shifting an appointment to a different time or notifying customers of how the changes will impact their appointments.
  • a driver who has been assigned to pick-up the customer at the end of the appointment may get a real-time notification about the status of the customer, such as "Checked In,” “Seeing Doctor,” “Almost Finished,” “Finished,” etc., which allows a driver to be ready for any changes in the scheduled pick-up time.
  • Customer devices 130C1...130Cn may be configured to allow a customer to manually supply location inputs by entering an address (e.g., street number, street name, city, state, etc.) or by manipulating and moving a service location graphic/icon on an electronic map display on a portion of a customer interface.
  • the prescheduled service application running on one or more of customer devices 130C1...130Cn can provide the location data to computing system 100.
  • computing system 100 can calculate an estimated time of arrival (ETA).
  • ETA estimated time of arrival
  • a driver may be provided with potential jobs through this interface, where queries can be displayed temporarily for the dispatch of a trip.
  • a driver module can facilitate enabling the interface on a mobile device which the driver has in the vehicle. In the event that a customer cannot sign for a trip, computing system 100 may depend on the driver to collect a signature on his/her phone from a customer.
  • the system 100 dynamically updates and stores any changes to a service request before or during the start thereof, or any updates on the status of the service request, and displays these changes in real time, both in a web portal for the dispatcher, and in a driver interface on the driver device 132 associated with the driver assigned to the service request. For example, if a customer cancels a service request or needs to change the pick-up time or location, the customer can enter this information into the system 100 via the customer device 130. The new information is stored in the database 108. The web portal of the dispatcher updates, and a notification of the change is immediately sent to the driver associated with the service request via the driver device 132.
  • the driver can then preferably access the same information about the service request displayed in the web portal of the dispatcher. Additionally, in preferred embodiments, any new information about the customer (e.g., phone number, email address, a change to preferences, etc.) entered prior to the service request can be communicated to the web portal of the dispatcher and the user interface of the driver device 132 of the driver assigned to the service request. Preferably, only relevant driver devices are updated with new customer information (e.g., driver devices associated with drivers involved with the customer's service requests).
  • the trip status can be updated in the web portal of the dispatcher and the customer device 130 of the customer. It will be appreciated that a customer can thus view an estimate of the arrival time of his/her driver in advance thereof. Such functionality will diminish or eliminate the workload of a dispatcher as he/she will not need to field phone calls regarding changes to service, and will not have to call drivers.
  • External devices 202 can connect to computing devices 128 through a wired or wireless connection. It will be appreciated that these external devices 202 may include any device that can provide additional or enhanced functionalities to computing devices 128, whether computing devices 128 is a mobile device such as a tablet or smartphone, an in-vehicle navigation system, or another type of computing device.
  • computing system 100 can integrate different functionalities specific to various industries, including the NEMT industry. It is a conventional practice in the NEMT industry to receive service requests from brokers who request that services be provided at very specific times between two locations for which addresses are specified. These specific stipulations are understandably meant to combat fraud and make sure that service requests are completed properly. However, for drivers in this industry, adhering to the exact timing and addresses specified is not always easy. Unexpected traffic congestion or construction prevent drivers from arriving on time to both the pick-up and drop-off locations. Dropping a customer off at the exact address as requested may not be possible because of parking regulations, pick-up and drop-off rules, standing prohibitions, or other applicable laws or fines. The driver may need to wait a certain amount of time or complete drop-offs down the block or around the corner where stopping and drop-off is appropriate and legal.
  • the systems and methods disclosed herein may be used in conjunction with the systems and methods disclosed in U.S. Patent Application Ser. No. 15/474,685, filed March 30, 2017, entitled “System and Method For Geo- Aware Transportation Billing Verification,” the disclosure of which is incorporated herein by reference in its entirety.
  • the bona fide nature of these billing adjustments can be confirmed by tracking a driver's geolocation using location identifier 204 and assigning atimestamp at the time of pick-up or dropoff to make sure that such pick-up or drop-off location and timing are within a predetermined field of acceptability, such as within 150 feet away from a specified address or within a fifteen (15) minute timeframe.
  • dispatch systems are tasked with receiving, organizing, coordinating, and dispatching a large volume of service requests. Equitably and efficiently prescheduling each driver with a customer can be challenging. When services are prescheduled, customers can be demanding with regard to preferences when selecting a driver to dispatch. For example, a Spanish-speaking customer may not be happy with a driver who cannot speak Spanish.
  • the present invention may sort service requests based on customer preferences, and give priority to certain drivers based on a variety of factors.
  • FIG. 3 is a diagram illustrating an exemplary dispatch operation incorporating an exemplary dispatch matrix in accordance with various embodiments of the invention. Illustrated is an exemplary embodiment of the operation of computing system 100 where service request 300 is received and a driver is dispatched based on dispatch matrix 322 to complete service request 300. Information from a received service request 300, which a customer can submit through one of customer devices 130C1...130Cn (or by a vendor on behalf of a customer through vendor device 126), is included in a generated dispatch matrix 322. It will be appreciated that a customer may also enter or submit service request 300 using a traditional telephone.
  • processor 104 executes instructions for retrieving relevant data from database 108 relating to a particular customer's information 302. Data may preferably be stored categorically within database 108 and be updated dynamically to ensure the most current and up-to-date information is used in the prescheduling process.
  • Customer information 302 may include any information associated with the customer, including, for example, the customer's transportation needs, one or more customer preferences, a customer favorites list, a customer blacklist, customer contact information, customer billing information, etc. Customer information 302 can also include the customer's home address, the customer's place of business, the customer's preferences, historical information such as information about previous locations for which a customer requested service, recommended points of interest, etc. When a customer selects one of the entries of a recommended point of interest as a current location and/or pick-up location, the system may retrieve various types of historical and current driver location data 324. As shown, computing system 100 can additionally retrieve driver profile information 310 from database 108. Driver profile information 310 can include driver service limitations, driver history and/or service history, driver favorites list, driver blacklist, etc.
  • database 108 can store customer information 302 and driver profile information 310 for a plurality of customers and drivers, as well as any other data 308 desired.
  • a driver may preset various limitations which are meant to limit the scope of service requests that the driver would like to provide, and which are taken into consideration when identifying matching drivers for a customer's service request. For example, a driver's limitation that relates to distance from the driver's current location to the pick-up location may prevent computing system 100 from displaying a driver for a particular service request whose current distance from the requested pick-up location exceeds the distance that this driver has preset as location or distance limitation. A driver may prioritize the various preset limitations in order to resolve potential conflicts when they arise. Additionally, the preset driver limitation on distance to a pick-up location can limit the unavailable service requests 1010 displayed on the electronic map display 1000 to the driver. Similarly, a driver may not be displayed to the customer as a potential option in the event that the prescheduling service is switched to an on-demand service.
  • the historical data retrieved by computing system 100 for each driver can include information on whether the driver has been previously assigned by the particular dispatcher handling the present batch or auto-dispatched by computing system 100, whether the driver has reserved any particular zip codes where he/she prefers to provide service, the number of times the driver has previously handled service requests along the route of the legs of the service request
  • the historical data can also include a driver ID number or name, home address, a preferred service location or geographic region, preferred working hours, a partner list, a favorites list, a black list, a scheduled trip list, and an accepted trip list.
  • computing system 100 can assign one of such drivers provided such driver is compatible with the customer (e.g., not on the customer's blacklist,not having the customer on his/her blacklist, and not precluded by any absolute mismatches between the customer's preferences and the driver's limitations).
  • dispatch matrix 322 can be implemented to preclude one or more drivers who cannot provide service for service request 300 because of one or more aspects of service request 300 and/or who do not wish to provide service to this particular customer, based on a set of rules relating to "compatibility.” If, for example, a driver's limitations (included in driver profile 310) conflict in some manner with service request 300 (e.g., if service request 300 includes a trip from Brooklyn to Manhattan, but driver profile information 310 indicates that the driver has opted not to provide service in Manhattan, or if service request 300 includes a pick-up at 7AM, but driver profile information 310 indicates that the driver wants his/her earliest time for picking up customers to be 8 AM), then such drivers can be precluded from inclusion within a compatible set of drivers 320 generated by computing system 100.
  • driver profile information 310 indicates that the driver wants his/her earliest time for picking up customers to be 8 AM
  • driver location data 324 and/or traffic and map data 326 can be retrieved by computing system 100 and factored into the system's determination of whether a particular driver is sufficiently compatible for inclusion in the compatible set of drivers 320.
  • Driver location data 324 can include a preset and/or relatively current location of the driver or the location where the driver is scheduled to be at a certain time.
  • Traffic and/or map data 326 can include geographic, traffic, and travel time information associated with particular areas. It will be appreciated that database 108 can include driver location data 324 for a plurality of drivers and traffic and map data 326 for a wide array of geographic areas.
  • computing system 100 generates a compatible set of drivers 320 and dispatch matrix 322 from service request 300, customer information 302, driver profiles 310, and/or driver location data 324 by using a processing function in which different variables having different priorities are processed.
  • received service request 300 may include numerous details, such as timing information and locations to which one or more customers want to travel.
  • Driver location data 324 and traffic/map data 326 can additionally or alternatively be factored into the calculations.
  • a driver priority can be established which includes a certain "weight" assigned to a driver indicative of how well a particular driver matches service request 300, the customer's preferences, and the customer favorites list, and/or the feasibility of the driver being able to service the request given where he/she is expected to be at the time of pick-up (driver location data 324), and the expected traffic patterns expected (traffic and map data 326).
  • two of the compatible drivers 320 who are both familiar with a certain route of service request 300 and who have no service limitations which interfere with service request 300 may be assigned the same weighted priority for these factors. However, if one of the two drivers is on the customer's favorites list while the other is not, then the driver on the favorites list may be prioritized over the driver not on the favorites list, and thus assigned a greater driver priority. Based on the various driver priorities established in dispatch matrix 322 for the compatible set of drivers 320, computing system 100 creates dispatch output 330.
  • Dispatch output 330 can include a display of a selection of potential drivers, and can be automatically sent to the customer by computing system 100, or reviewed by, for example, a third-party administrator 134 operating computing system 100, and then sent to the customer.
  • Dispatch output 330 may be a subset of the compatible set of drivers 320 or the entire compatible set of drivers 320 depending on how many drivers make the cut into the compatible set 320 and depending on how many options for drivers the customer wants to view.
  • the customer can then select a driver from the list of drivers included in dispatch output 330.
  • the driver selected by the customer may then be given the option to accept or may be automatically scheduled (further discussed below with respect to FIG. 4B).
  • a driver accepts the service requests, then he/she may see the status of the accepted service requests on his/her service requests list, marked "Accepted.” The driver may then select one or more service requests to start together. After the driver selects more than one service request and begins to act on the first service request, a list of all of the selected service requests may be presented to the driver via one of driver devices 132D1...132Dn for reference, and the driver may update the status of each service request. For example, each service request may have buttons for "Navigation”, “Arrived at Pick-up Location”, “Begin Trip”, “Arrived at Drop-off Location”, etc. If there is more than one service request that the driver is handling at the same time, then the driver may be able to decide pick-up and drop-off in sequence. A signature function may be added to the system for customers to e-sign before or after the service request has been finished.
  • Each of driver devices 132D1... 132Dn may also include a lockout screen that blocks other functions such that the only item appearing is a notification which queries the driver whether or not to confirm a trip.
  • Such notification may show the details of the trip, such as pick-up location, pick-up time, destination, and drop-off time, but without any other interactive feature other than a "Yes" or "No" query for trip confirmation.
  • Prescheduled service requests may be shown on a list with each having the caption
  • Drivers may be given two options: accept or reject. If a driver accepts the service request, then the service request may show "Accepted” in the status column of the service requests list. If a driver rejects the service request, then the service request may show "Rejected” in the status column, and the pre-scheduled driver's name may be shown for reference. Service requests which are deleted from the updated list or version based on records in database 108, or ones which are marked “Cancelled” in the updated version, may be stored as cancelled service requests in computing system 100. If certain cancelled service requests were originally assigned to drivers and started, then the system can mark or store them as
  • the system can determine compatibility between a customer and a driver for a service request by comparing various factors relating to each user's limitations and preferences. For example, if a driver has not indicated Mandarin language abilities and a customer prefers a Mandarin-speaking driver for all of his/her potential drivers, then all service providers who do not speak Mandarin can be deemed incompatible by the system. With regard to time limitations, a driver's time limitations can be compared to the estimated travel time to complete the customer's service request, including the time for which the driver may be underway from traveling to the pick-up location to the drop-off location to the return location, if applicable.
  • the driver or service provider may be deemed incompatible for that particular service request.
  • the system can also compare the driver's location limitations with the route of the service request. If a driver has indicated that he/she will not go to certain areas, then in situations where the customer's pick-up or drop-off location involves at least one of those areas, the driver can be deemed incompatible.
  • Each customer can customize which, if any, factors or attributes is/are relevant to his/her compatibility preferences for being matched with drivers for prescheduled services, and the degree/extent to which each attribute is relevant.
  • the system can be configured to make a weighted calculation based on the customer's preset priority levels for various preferences pertaining to the driver, the driver's vehicle, the driver's capabilities, and/or whether or not a particular driver has or offers such preferences.
  • a driver may be dispatched at random times to random locations.
  • a driver may, for example, drop-off a customer in the Bronx and immediately be dispatched to pick-up another customer in Far Rockaway, Queens.
  • both of these locations are within the New York metro area, they are relatively far apart geographically.
  • the travel time between these two locations can easily be upward of an hour or more.
  • computing system 100 is able to quickly eliminate a number of drivers in database 108, and match a service request to a select list of drivers who are deemed most compatible with the customer and his/her service request, and based on the driver's location or expected location. It will be appreciated that such processing allows computing system 100 to operate more efficiently because it can quickly focus in on more compatible and geographically close drivers.
  • FIG. 4A shown is a flowchart illustrating an exemplary dispatch operation in accordance with an embodiment of the invention.
  • the process starts with computing system 100 downloading or otherwise receiving service requests 300 (Step 400) which may have been uploaded by a vendor and/or submitted by a customer.
  • Computing system 100 may download service requests 300 automatically based on programmatic steps, or a dispatcher can manually download the service requests by, for example, clicking a download link in a web portal or refreshing a pending requests page.
  • Computing system 100 may be configured to allow for several ways in which the service requests can be populated and updated to reflect any changes. For example, computing system 100 may be configured to access relevant vendor web portals or an application program interface (API) to download the list of service requests.
  • API application program interface
  • computing system 100 may perform such downloads repeatedly at certain intervals (e.g., every 5 minutes, every 15 minutes, every 30 minutes, etc.). Vendors may also supply and edit service requests through a vendor module (e.g., through vendor device 126). In either case, computing system 100 then processes the updated list of service requests, and compares them with past service requests based on historical records stored within database 108 to determine whether there are similarities (Step 402).
  • Computing system 100 determines whether its details match a record of any previous service requests stored in database 108 (Step 404), such as, for example, a matching customer name, a pick-up location, and/or a drop-off location. If no match is found, then the service request 300 is sent to dispatch for new processing (Step 406).
  • the system identifies any filter conditions (408) (e.g., level of familiarity with route, prior number of service requests done for the customer, two-door versus four door vehicle, etc.) that service request 300 may have, and accommodates those filter conditions by, for example, comparing them to relevant portions of the driver's limitations in database 108 and precludes certain driver's from being selected to complete the service request (e.g., the service request requires the driver to be fluent in a particular language, but the driver does not speak the particular language).
  • filter conditions e.g., level of familiarity with route, prior number of service requests done for the customer, two-door versus four door vehicle, etc.
  • computing system 100 searches the records in database 108 to determine whether a favorite driver of a customer for a service request is available to carry out the service request 300 (Step 410).
  • Step 414 If a favorite driver is determined to be available (Yes, Step 410), then computing system 100 searches database 108 to determine if a preferred driver is available (Step 414). If a preferred driver is available (Yes, Step 414), then computing system 100 sends service request 300 to that preferred driver for acceptance (Step 412). If no favorite or preferred driver are found to be available (No, Step 414), then computing system 100 identifies whether a regular driver is available (Step 416). If a regular driver is available (Yes, Step 416), then computing system 100 sends the service request to the regular driver for acceptance (Step 412). If no regular driver is available (No, Step 416), then computing system 100 continues to monitor all drivers for the next available driver to be identified and scheduled (Step 420). Once an available driver is identified, service request 300 can be sent to the identified available driver (Step 412).
  • Step 412 If the first regular driver to whom service request 300 is sent at Step 412 does not accept the service request, then the system can repeat the process until another driver is identified (Step 2).
  • Step 418 When a driver receives service request 300 on his/her driver device 132D1...132Dn, that driver has an option to either accept or reject the request (Step 418). If the driver accepts service request 300, then that driver is scheduled to complete the service request (Step 422). If, however, the driver rejects service request 300, then computing system 100 cycles back to step 410 and checks again whether there are any favorite drivers available. If no favorite, preferred, or regular drivers are available, then after a certain amount of time has elapsed, the dispatcher may need to be notified so he/she can go through the process of identifying another driver (Step 420). .
  • a driver may make additions to the driver's favorite customer list and/or the driver's customer blacklist after completing a service request. For example, the driver may be queried as to whether he/she was satisfied with the customer. If the driver was not happy with the customer, then the driver may add the customer to the driver's customer blacklist, in which case the driver and the customer will not be matched together in for future service requests. If the driver is neutral on how he/she feels about the customer, then the driver need not take any action, and the customer will not be added to the driver's favorite customer list or the driver's customer blacklist. If the driver is satisfied with the customer, then the driver can send the customer a request to authorize addition of the driver to the driver's favorite customer list.
  • the up to the customer it is the up to the customer to decide whether or not to accept this request. If the customer denies the request, then the customer is not added to the driver's favorite customer list. If the customer accepts this request, then he/she is added to the driver's favorite customer list. When the driver provides service to the customer another time, the driver can again be queried as to whether or not he/she was satisfied with the customer. If so, then the driver can keep the customer on his/her favorite customer list until the driver provides service to the customer another time, in which case the query will come up again, and so on. In this manner, the driver can be queried about his/her satisfaction with a customer at the end of each service request. If the driver is not satisfied with the customer, then he/she may choose to remove the customer from the driver's favorite customer list.
  • a customer can similarly make an addition to his/her favorite driver list and/or his/her driver blacklist after completion of a service request.
  • the customer may be queried as to whether he/she was satisfied with the driver. If the customer was not happy with the driver, then he/she may add the driver to the customer's driver blacklist, in which case the customer and driver will not be matched together in future service requests. If the customer is neutral on how he/she feels about the driver, then the customer need not take any action, and the driver will not be added to the customer's favorite driver list or the customer's driver blacklist. If the customer is satisfied with the driver, then the customer can send the driver a request to authorize addition to the customer's favorite driver list.
  • the driver can be up to the driver to decide whether or not to accept this request. If the driver denies this request, then the driver is not added to the customer's favorite driver list. If the driver accepts this authorization, then he/she is added to the customer's favorite driver list.
  • the system can query the customer again whether or not he/she was satisfied with the driver. If so, then the customer can keep the driver on the favorite driver list until the driver provides service to the customer another time, in which case the query can come up again, and so on. The customer can be queried about his/her satisfaction with a driver at the end of each service request. If the customer is not satisfied with the driver, then the customer may choose to remove the driver from his/her favorite driver list.
  • Computing system 100 may be configured to determine which driver finished a service request the most number of times, and attempt to add this driver to the customer's favorites list. If this driver is not available, then computing system 100 may be configured to assign another favorite driver who finished a service request for the customer the second most times, the third most times, and so on.
  • driver blacklists will function as incentive tools for drivers to improve their overall service. The driver may realize that he/she needs to improve service to gain more business.
  • a driver may refer a customer from his/her favorite customer list to another driver.
  • Driver 1 and Driver 2 two drivers involved in such a process may be referred to as Driver 1 and Driver 2, with the customer referred to as Customer 1.
  • Driver 1 may indicate that he wants to refer a favorite customer, Customer 1, to another driver, Driver 2.
  • An authorization request is first sent to
  • Users of computing system 100 may make referrals to other users of computing system 100 as long as both users are registered. For users receiving a referral of someone on a blacklist or a favorite list, information such as profile information about the individual being referred can be made available to the user receiving the referral. Computing system 100 can similarly provide information to the referred party about the user to whom they are being referred. For example, a second customer receiving information about a driver may see in the profile information of that driver that he/she has been found in the past to be a no-show, and the customer may choose not to add that driver to his/her favorite list.
  • Customers may also refer drivers from their blacklist to other customers. Referring customers can refer individual drivers, groups of drivers, or entire lists of blacklisted drivers to one or several other customers. Drivers can refer customers from their favorite list to other drivers. Referring drivers can refer individual customers, groups of customers or entire favorite lists to one or several other drivers. A driver may include one or more preset reasons or a note describing why he/she is referring the favorite customer or customers. Such a process may start, for example, with Customer 1 indicating that he wants to refer Driver 1, who is on Customer l's favorite driver list, to another customer, Customer 2. Before the referral is executed, however, an authorization request is sent to Driver 1 who is given the choice to authorize the referral or not. If Driver 1 does not authorize the referral, then no referral occurs.
  • Driver 1 accepts the referral, then Customer 2 is given the option to accept the referral or not. If Customer 2 does not accept the referral, then no referral occurs. If Customer 2 accepts the referral, then Driver 1 is added to Customer 2's favorite Driver list. Similarly, Customer 2 may be added to Driver l's favorite customer list.
  • Computing system 100 can provide information to a dispatcher showing which service requests remain unassigned. Such information can be presented using a map display with labels which identify the service request or the customer number. On this same display, a dispatcher might see drivers near the locations of unassigned service requests. Various indicators may be utilized on the visual display to differentiate an available driver from an unavailable driver so that the dispatcher can know immediately which driver(s) to whom he/she should assign to a service request. For example, an available driver may be marked by an indicator that shows a white car, whereas an unavailable driver may be marked by an indicator that shows a black car. It will be understood by one skilled in the art that the indicators described herein are not meant to be limiting. Instead, they are illustrative as exemplary embodiments of the present invention.
  • the system can provide sets of indicators to better assist users, including drivers and customers, schedule service or get service prescheduled.
  • Various sets of indicators may be provided to streamline the conveyance of information. Indicators can depict this information through one or more letters, numbers, icons, symbols or other graphic representations of the information, which can be displayed on a user's interface.
  • a set of indicators can be provided to convey an estimated travel time (ETT) from the customer's pick-up location to the customer's drop-off location specified in a service request.
  • ETT estimated travel time
  • a service request may contain multiple pick-ups and drop-offs if the service request is pre-scheduled to have more than one leg.
  • This set of indicators conveying ETT connects location information associated with the customer's pickup location and the customer's drop-off location in a prescheduled service request.
  • such indicators are displayed to inform the customer about an estimated time in transit, or the driver about the estimated travel time to complete the service request.
  • Such indicators may be based on the estimated time to get from the pick-up location to the drop-off location, which can be provided by a third-party mapping API such as Google® Maps. From the point of view of the driver, it may be the time from the current location to the pick-up location and from the pick-up location to the drop-off location, an additional step. This too may change if the customer's service request is prescheduled to have multiple legs.
  • Such indicators may also include the time it would take the driver to return to the return location from the drop-off location, if an applicable return location limitation was set by the driver. From the driver's point of view, the estimated travel time also means the time to complete a service request. However, a completed service request from the customer's point of view is only the time from the pick-up location(s) to the drop-off location(s).
  • a set of indicators may also be provided to identify more specific availability of drivers. Such indicators may be shown to both customers and dispatchers on an electronic map, where a driver may only be shown on the electronic map when active. Such indicators may also include information about the driver's availability based days and/or times the driver has preset. For example, such indicators can show availability and how long the period of availability may last, or whether it is indefinite availability. Such indicators can be removed if the driver goes off-duty or is currently carrying out a service request. Alternatively, such indicators may be provided to identify whether a customer's service request has been assigned to a driver.
  • Such indicators may be shown to dispatchers on an electronic map display, thus providing a visual representation of which trips are still waiting to be assigned, and they may be configured to automatically disappear from the dispatcher's interface if a driver is dispatched for the service request (e.g., once the service request is no longer unassigned).
  • a set of indicators may also be provided to convey information about the current geolocation of a driver and the driver's return location, if the driver has preset a return location. Such indicators may be provided for viewing by a dispatcher on his/her touch screen electronic map display, so that the dispatcher is able to assign a service request to the most compatible driver.
  • a set of indicators may be provided to convey information about designated pick-up locations and drop-off locations, and locations from the first and second leg of a service request, as prescheduled by the customer. Such indicators may show service request related location information to a dispatcher or a driver on a touch screen electronic map display.
  • the touch screen display enables a customer to make selections regarding a service request, and can be equipped with sensors within the touch screen display that are clickable or otherwise react to touch.
  • the signals that are received by the sensors within the touch screen display are what the processor may receive as input, and those signals may be turned into outputs which lead the system to carry out the selection a customer or a driver has made.
  • a set of indicators may also be provided to show to a customer the driver's estimated time of arrival (ETA) at the requested pick-up location.
  • ETA driver's estimated time of arrival
  • the system with the assistance of a third-party API such as Waze®, may identify a driver's current real-time traveling speed, such as a road speed along a potential route from the driver's current location to the prescheduled pick-up location.
  • a set of indicators may be provided to show to a driver the customer's estimated time of readiness (ET ).
  • Such indicators can reveal, for example, when the customer intends to be ready for pick-up if the customer has scheduled a second leg for a trip. For example, a customer at a doctor's appointment can enter into one or more of customer devices 130C1...130Cn that he/she estimates that he/she will be ready for the return trip in thirty
  • ETR indicator allows for improved efficiency in the provision of prescheduled services. It will be appreciated that such prescheduling and ETR estimates can help drivers cut back on wasted time. With the assistance of the ETR indicators, a driver will be kept aware of the customer's current status, and if the ETR happens to be a long enough amount of time, then the driver may be able to complete another service request during that time.
  • the first driver who provided a service for the first customer on the first leg may be able to decide, based on the ETR specified by the first customer, whether to wait for that first customer on the second leg or to take a second different service request. If the first customer's ETR shows that he/she might not be ready for a while, then the first driver might decide to take the second service request, and anticipate completing it by the time he/she is ready for the second leg. Even if the first driver is considered a preferred driver for that first customer, if the system detects, based on the ETA, that the first driver is not able to arrive for the second leg on time, then the system can notify the first customer.
  • the first customer will have an option to either agree to wait until the preferred driver completes his/her second service request, or to request reassignment of the second leg to another driver. If the second leg is provided to another driver, that other driver is sent an estimate about when to be at the pick-up location for the second leg which may be conveyed by the ETR indicator.
  • the system provides multiple sets of indicators to better assist a customer select a best matching service provider for the service request. Extensive customization may be allowed for both a customer and a service provider. However, various information including but not limited to pricing, identification of the number of completed service requests, familiarity with a route in a service request, etc. may be complicated for a user to navigate when making a deal for a service request. As a customer and service provider need different information, the indicators will differ depending on what that information may need to be. Service providers and customers are able to customize their experience, expectations and preferences through the various sets of indicators.
  • Exemplary embodiments of the present invention provide at least twenty-six (26) customizable sets of indicators to streamline this comprehensive information.
  • the system will display unified indicators to avoid confusion, but users may also elect to change certain sets of indicators. For example, users may want to replace a default symbol or icon that represents an indicator with their own symbol, such as an emoticon or abbreviation for his/her own user ID.
  • explanations about what each indicator means may also be provided, and both customers and service providers have the option of turning these explanations on/off, or temporarily hiding them.
  • the indicators are a means to transmit or display information related to services to a customer, a service provider, or both in a simple, fast, and convenient way. Multiple sets of indicators are used to assist with matching proper service between the two, as well as allow for customization by both customers and service providers. Customers and service providers may have different indicators on their respective interfaces, but they can also see each other's indicators if they choose to. Additionally, there may be a tiering system for some indicators, which includes a range of numbers with a minimum and maximum amount, and each tier representing a different meaning to different customers and service providers. Below is a brief description of preferred sets of indicators. A more complete description of these indicators is provided in the '783 application, which is incorporated herein by reference in its entirety.
  • a first set of indicators may identify a user type for drivers in three categories, including but not limited to favorites, preferred, and regular drivers.
  • a second set may also identify a user type for customers in three categories, including but not limited to favorites, preferred, and regular customers.
  • a third set may identify the availability of service providers, which may connect the time for which the service providers will remain available for service requests.
  • a fourth set may identify whether a customer is currently requesting a service request, which may connect the time for which service requests from the customer will remain available.
  • a fifth set may be based on the service request volume that a service provider has carried out, where numbers regarding historical data are connected.
  • a sixth set may show one or more or any combination of geographic zones based on one or more or any combination of corresponding search parameters preset by the customer.
  • a seventh set may be based on the data and information provided by the sixth set of indicators to further compare the total number of potential available service providers with the total number of potential available customers.
  • An eighth set may help streamline pricing information regarding a service provider's response to a price proposal from a customer by connecting numbers regarding pricing.
  • a ninth set may display information regarding a price that has been initiated by a service provider in the case a customer sends the service request without a quoted price, and the service provider responds with a proposed price, which may be either negotiable or non-negotiable.
  • a tenth set may connect historical data and geolocation data to reflect information regarding zone information based on the total number of service requests completed by a service provider within the geographic zone in which a customer indicates the pick-up location the service request.
  • an eleventh set may connect historical data and geolocation data to reflect information regarding zone information based on the total number of requests completed by a service provider within the geographic zone in which a customer indicated the drop-off location in the service request.
  • a twelfth set may convey the level of familiarity of a service provider with the route of the service request, represented at least through percentage or any other depiction such as tiers, wherein the familiarity is calculated by the route between the pick-up location and the drop-off location indicated in the customer's service request is matched with one or more service providers' past routes derived from the one or more service providers' historical service data stored in the database.
  • An administrator of computing system 100 such as a dispatcher may utilize features unique to their job functions coordinating drivers with various customers. Such coordination may be done automatically through route matching software, manually by human dispatchers making decisions about who is likely available to service a service request, or some combination thereof.
  • This set of indicators may be generated by connecting requested route information with a service provider's service records stored in a database.
  • this information may include the service provider's familiarity with the route indicated in the service request; for delivery service, this may be information such as the service providers experience or familiarity with the route.
  • the indicator is adjusted to display information relevant to the situation. The percentage may be displayed by itself as a percentage, or it may be divided into tiers, for example, tier E standing in for familiarity between 0-19 percent, tier D for 20 39 percent, tier C for 40-59 percent, tier B for 60-79 percent and tier A for 80 100 percent.
  • tiers need not be limited to A through E or even letters at all, as tiers may be shown as any single one or combination of depictions that divides the familiarity percentages by tier.
  • the tier and percentage may also be shown together. For a service provider, this may be a useful indicator in evaluating where he/she has picked up many customers, or where he/she picked up only a few customers.
  • This set of indicators may be used by service providers to evaluate where they have the most experience or may be the most valuable, or it may be used by a customer in selecting a best matching service provider based on the experience he/she may have with the service request.
  • a service provider's familiarity is contextualized in two ways, by "direct” or “indirect” familiarity, and each type is distinct.
  • Direct familiarity is a calculation of how familiar the service provider is with a certain route, as in the route from the pick-up location to the drop-off location— all done in one trip.
  • Indirect familiarity in contrast, is a calculation of how familiar a service provider is with the route between the pick-up and drop-off location, but this familiarity may be through piecemeal experience with the route. For example, two service providers have 100 percent familiarity with a route; the first service provider has provided service of this same route for a customer previously, from the same pick-up location to the same drop-off location.
  • the second service provider also has a 100 percent familiarity— however, the one part of the route he/she provided for a different customer in the past, and another part of the route was also included as part of the route in another service request. Even though the service provider has traversed the length of this entire route, it was not from the same pick-up location to the same drop-off location.
  • the familiarity the service provider has with the route is indirect.
  • the degree of familiarity with the requested route will be calculated by comparing the requested route with the routes of service requests previously completed by the same service provider by tracking how common all or any parts of the requested route are to the routes of previously completed service requests.
  • the service provider's familiarity with the requested route would especially matter at times when any part of the requested route lies within the area known to have weak or no GPS signal, or when the service request takes place after dark making it harder to follow navigation directions.
  • a thirteenth set of indicators may be based on how many times a customer and a service provider have been matched and have completed a transaction together.
  • a fourteenth set may connect the location information of the service provider with location information of the customer's pick-up location to display the time within which a service provider can pick-up the customer, an estimated time of arrival (ETA).
  • ETA estimated time of arrival
  • a fifteenth set may be based on the estimated travel time (ETT) from the customer's pick-up location to the customer's drop-off location indicated in a service request.
  • ETT estimated travel time
  • a sixteenth set may connect geolocation data to reflect at least the customer's pick-up and drop-off locations indicated in the service request.
  • a seventeenth set may convey information about total number of service requests requested and completed by a customer.
  • An eighteenth set may identify one or more or any combination of geographic zones based on one or more or any combination of search parameters preset by the service provider.
  • a nineteenth set may be based on the eighteenth set of indicators to further display the number of potential available service providers compared to the number of potential available customers.
  • a twentieth set may streamline the display of the price proposals a customer initiates, where numbers regarding pricing information are connected and displayed.
  • a twenty-first set may provide details about a customer's proposed price that comes as a response to a service provider proposed price, where numbers regarding pricing information are connected and displayed by this set of indicators.
  • a twenty- second set may connect historical data regarding a customer's service request history and geolocation data to identify a customer by how many service requests he/she has requested and completed based on pick-up location geographic zones.
  • a twenty-third set may identify a customer by how many service requests he/she has requested and completed based on drop-off location geographic zones, where geolocation data and historical service request data are connected.
  • a twenty-fourth set may connect historical service request data to display the number of times a service provider and a customer have been matched with each other and completed a transaction together.
  • a twenty-fifth set may identify the estimated travel time to complete a service request for a service provider.
  • a twenty-sixth set may connect geolocation data of a service provider and the geolocation data of service provider's preset return location after carrying out a service request, if the service provider preset a return location.
  • any indicator that is based at least in part on countable numbers may also be reflected in terms of tiers.
  • Tiers assigned by the system may be ranges of numbers with minimum and maximum amounts depending on whether it is applied to customers or to service providers, and also depending on whether it is applied to transport service, delivery service or both transport and delivery service. They may be displayed as letters, shapes or colors or any other way that shows the difference between each tier. Some customers' and service providers' indicators may have different meanings.
  • the indicators indicate activity relative to their user type, category and subcategory. Since the system stores service request records in the database of the system, it is able to quantify when they were made or carried out by using time stamps and where they were carried out by request details.
  • time or other numbers may be scaled up or down, where a customer may divide the time frame of relevance, such as one or more days, one or more months or one or more years. All of these different adjustable search parameters regarding time or timeframe or zone or other numbers are designed as customizable so that a customer and a service provider can individualize and prioritize the information they want to see.
  • the supply and demand relating to a service provider can be displayed by search parameters preset by the customer based on a time within which the customer expects the pick-up to occur at the pick-up location, a distance from the pick-up location, and the desired number of service providers with whom the customer wants to negotiate a price for the service request.
  • the search parameter based on time may create a search radius, and may include identifying all service providers on all possible routes leading to the pick-up location, identifying real-time traveling speed along each of the possible routes, multiplying the traveling speed of each service provider along the possible routes by a maximum time preset by the customer to calculate a maximum distance the service providers can travel within the maximum time preset by the customer, identifying the pick-up location of the customer as a center point of the search radius, and identifying the extreme point for the search radius, which may be the furthest location of a service provider within the search parameter or some other point that is at a distance preset by the customer.
  • the supply and demand for the service request within the search parameters may be displayed for the customer as the number of potential available service providers for supply compared to the number of potential available customers for demand.
  • Presetting the search parameters by the customer may include presetting and searching for the desired number of service providers, and creating a search radius by identifying the pick-up location as the center point for the search radius, and identifying the extreme point for the search radius to be the furthest location from the center point of the service providers.
  • the search radius may be smaller or larger than a search radius which is based on time or distance, and an estimated time of arrival of the service providers may be identified for the customer with assistance of the indicators.
  • the number of service providers identified within the search radius may be prioritized for price negotiation for the customer.
  • indicators displayed on their own interfaces may be relevant to the type of user, whether providing or requesting service. Preferably, some indicators are more useful to customers, whereas some are more useful to service providers. However, indicators are not intended to be displayed to only service providers or to only customers exclusively, as indicators that are preferably displayed to one party may reflect information useful for the other party. If users choose, however, they can look at their own information throughs the system. If they are interested in seeing their own indicators or their service request history to make sure that the indicators other users see regarding their service request history are correct, they may do so through their profile information or any other means designated by the system, which shows all the indicators that apply to them.
  • This service request history may include information that other parties can see, such as indicators regarding total number of service requests completed or requested.
  • the service request history may also provide information that other parties cannot see, such as private information regarding how much money they have earned or spent. All such indicators are intended to provide customers and service providers with customizable information that may help them choose a best matching a service provider or a customer, respectively, to make a best deal for each other. It will be appreciated that additional indicators may be developed and/or utilized for deployment through one or more computing devices as a means for visually communicating a summary of other types of relevant information.
  • the first action a driver may take to accept a service request is pressing an 'Accept' button on driver device 132D1...132Dn.
  • driver device 132D1...132Dn When the driver is ready to begin the service, he/she can press a 'Start' button to indicate that he/she is on the way to the pick-up location. The driver may also call the customer to give notice that he/she is on the way. If at any point after pressing the 'Start' button the driver needs to make a cancellation, he/she may do so, if, for example, he/she gets a flat tire, or if the driver's vehicle experiences a mechanical failure, or any other legitimate grounds for a cancellation. In such circumstances, the driver can provide the reasons for the cancellation, and cancel the service request, in which case the service request may be re-dispatched to another driver such as a partner driver.
  • Drivers may cancel the service requests any time they want. If drivers cancel one day in advance, then they may not need to report any reason for the cancellation. In such cases, dispatchers can reschedule and re-dispatch to a new driver. If drivers cancel on the date that the service requests are to be completed, then drivers may provide reasoning for the cancellation, choosing from potential default reasons or filling in the reasons by text entry. If no drivers are readily available to accept a service request following the cancelation, then the service request can go back to the service requests list on a main web portal for dispatchers to assign to other drivers.
  • computing system 100 can be configured to send another notification to the customer, which can include the previous driver's name, the reason why the previous driver cannot provide service for the customer, the new driver's name, the new driver's phone number, the new driver's vehicle make, brand and color, the pickup time, etc.
  • the customer may change or cancel a service request at any time. If upon entering the vehicle a customer wishes to change destinations, the driver may reroute to the intended destination. Once the driver and the customer arrive at the drop-off location, the driver can ask the customer to sign for the service request as confirmation that correct and/or satisfactory service has occurred. Upon completion of these steps, the service request comes to an end.
  • Computing system 100 may provide a functionality for a driver to choose potential service requests with, for example, an electronic map showing available routes for that day, the next day, the next week, etc.
  • a driver's time and location limitations are taken into account by utilizing current and/or future predicted traffic and other events potentially impacting travel time (e.g., construction, road closures, accidents, etc.) or location limitations on the driver.
  • travel time e.g., construction, road closures, accidents, etc.
  • Such data may be stored in database 108 and supplied into dispatch matrix 322 as part of the traffic and map data 326 (see FIG. 3).
  • FIG. 4B shown is a flowchart illustrating an exemplary series of steps for a customer or driver to cancel a prescheduled service request following the exemplary dispatch operation of FIG. 4A, and a new process for replacing the canceling driver.
  • a driver or a customer may cancel a pre-scheduled service request at any time. If a driver (or customer) cancels a prescheduled service request far enough in advance (e.g., one day, one week, etc.), then the driver (or customer) need not report the reasoning for the cancellation. In such circumstances, dispatchers or computing system 100 simply cancels the service request if cancelled by the customer, or reschedules and re-dispatches the service request to a new driver. However, a different process may be utilized for replacing the driver who has canceled on short notice.
  • Step 422 computing system 100 can send a notification to the customer (Step 424) indicating that service request 300 has been scheduled. If the driver does not cancel (Step 426) and the customer does not cancel (Step 428), then the service request is carried out (Step 430) as scheduled, and the process ends (Step 432). The driver may then begin the billing process. If, however, the customer cancels (Step 428) through, for example, one of customer devices 130C1 . . . 130Cn, then the customer may be asked to provide the reasons for cancelling (e.g., appointment canceled, driven by another person, service no longer needed, etc.) (Step 434), and the process ends (Step
  • computing system 100 dispatches service request 300 based on one or more partner drivers identified by the cancelling driver if the customer has preset permission to allow partner drivers
  • Step 435 If so, then notification is sent to the partner driver for acceptance (Step 437). If the customer has not preset permission to allow partner drivers, then the service request can be sent to dispatch for processing (Step 439).
  • the partner driver allocations can be stored in database 108 for quick access by computing system 100.
  • service request 300 may be sent to the partner driver (Step 436) to complete service request 300.
  • service request 300 may be sent to more than one potential partner drivers and a list of these best matching partner drivers can be displayed for the customer choose from. If the partner driver chosen by the customer accepts the service request (Step 437), then this partner driver services the service request (Step 438).
  • the method utilized for selecting the partner driver who is to provide service for the service request can be similar to the methodologies for generating the compatible set of drivers and dispatch matrix discussed above with respect to FIG. 3. In other words, this may include assigning the potential partner driver a certain driver priority, assessing availability, limitations, etc., and the customer may use these considerations to make a selection at his/her discretion.
  • a single partner driver may be associated with each driver such that a partner driver, if available and not on the customer blacklist, is automatically assigned to the service request at the moment the previously assigned driver cancels.
  • the partner driver completes the service (Step 438) and the process ends (Step 432).
  • the partner driver can then initiate the billing process.
  • service request 300 can be marked "Cancelled," and computing system 100 can notify the driver immediately. Once the driver is sent such cancellation notification, the system may be configured to require that the driver confirm receipt of the cancellation. Otherwise, if the driver does not confirm receipt of the cancellation, then the application running on the relevant one of driver devices 132D1...132n may be locked such that the driver cannot perform any kind of operation within the application until confirming receipt of the cancellation notification.
  • the customer can be assigned a means for identifying that he/she cancelled a service request at the last minute, such as an indication stating "Canceled 5 Min. Before Pick-Up.”
  • the customer may be added to the system's blacklist such that computing system 100 will not preschedule any service requests for that customer for a certain length of time.
  • Computing system 100 may be configured to send a notification to the customer as a warning that after another two cancellations within half an hour, he/she may be put into the system's blacklist.
  • Computing system 100 may also provide contact information in case the customer has any questions.
  • computing system 100 can first determine, for example, the compatibility of the service request with any driver on the customer's favorite list. If several are compatible, then the system can notify those drivers of the available service request, and whichever one of the favorite drivers accepts the service request first is assigned the service request. [0148] Computing system 100 may be configured to give drivers the option of adding customers to their preset blacklists.
  • the driver is skipped over by computing system 100 when searching for matching drivers for that same customer's service request.
  • the system can be configured such that when it receives a service request from a customer who was put on a driver's customer blacklist, computing system 100 will automatically send the request to another driver and skip any drivers who added the customer to their respective blacklists.
  • Dispatchers may also be notified by computing system 100 when certain drivers are blacklisted by certain customers, and vice versa, so that they know which drivers not to dispatch for particular service requests if they want to override computing system 100 for any reason because they have a better or closer driver in mind.
  • the "blacklist” is essentially for "difficult" customers or drivers who do not
  • Preset 'preferences' for a customer stored and dynamically updated in database 108 can include, but are not limited to, preferences related to pick-up locations, drop-off locations, make, model, and type of vehicle, years of driving experience, seating capacity, gender, language spoken, service accessibility, medical device availability, pet accommodation, and baby seat availability .
  • Pick-up location preference allows a customer to identify his/her pick-up location.
  • Drop-off location preference allows a customer to identify his/her drop-off location.
  • Make, model and type of vehicle preference allows a customer to specify the make, model, and type of vehicle he/she prefers for his/her service request.
  • 'Years of driving experience' preference allows a customer to preset the number of years' experience he/she may prefer his/her driver to have.
  • 'Seating capacity preference' allows a customer to specify a number of passengers for his/her service request.
  • Gender preference allows a customer to choose a driver of a certain gender.
  • 'Language spoken' preference allows a customer to choose a driver speaking a certain language.
  • 'Accessibility preference' allows a customer to preset a preference for drivers whose vehicle is equipped for special accessibility.
  • 'Medical device availability' preference enables a customer to make sure that a transport vehicle has certain equipment, such as oxygen tanks or other medical devices.
  • 'Pet accommodation' preference allows a customer to preset a preference for service requests who are able to accommodate pets.
  • 'Baby seat availability' preference allows a customer to request a driver who can provide a baby seat.
  • a customer might also have a preference for how familiar a driver is with the particular route of the service request.
  • a driver's familiarity might be "direct” or “indirect” familiarity, and both may be conveyed to the customer through a customer interface on the relevant one of customer devices 130C1... 130Cn.
  • Direct familiarity might be, for example, a calculation of how familiar a driver is with a route from the pick-up location to the drop-off location.
  • Indirect familiarity might be a calculation of how familiar a driver is with the route between the pick-up and drop-off locations, but through piecemeal experience with the route. For example, two drivers may have one hundred percent (100%) familiarity with a given route, but through different experiences.
  • the first driver may have provided service for the same route, from the same pickup location to the same drop-off location. Such experience would constitute direct familiarity, and indicated by, in addition to the 100% rating for matching routes, a number or tier showing that this driver has provided service using the same route.
  • the second driver may have serviced one part of the route for a different customer in the past, and another part of the route for another service request. Even though this second driver has traversed the length of the entire route of the service request, it was not from the same pick-up location to the same drop-off location. This second driver would thus have indirect familiarity with the route of the present service request.
  • the degree of familiarity with a requested route can be calculated by comparing the requested route with the routes of service requests previously completed by the same driver, and by tracking how common all or any parts of the requested route are to the routes previously completed by the driver. It will be appreciated that a driver's familiarity with a requested route matters particularly at times when any part of the requested route lies within an area known to have weak or no GPS signal, and/or when the service request takes place after dark, making it harder to follow navigation directions. It will also be appreciated that automated tracking of GPS data on each driver and continual storage and updating of such data in the database
  • the systems' customization is in part based on customers' preferences and drivers' limitations.
  • the concept of preferences discussed herein relates to giving customers options to put certain conditions on service requests. It will be understood by those skilled in the art that the term “preference” is not intended to restrict that concept in any way. Other terms such as “condition,” “filter condition(s)” or “qualification” may be used in its place.
  • the term “limitation” is also not intended in any way to restrict the concept of enabling a driver to set limits on accepting service requests. Terms such as “restriction” or “boundary” may be used in place of "limitation”.
  • preference and limitation may be used in contrast to one another, and this contrast is intended to convey the difference in user types between customers and drivers, not to place “preferences” and “limitations” as fundamentally opposed concepts. It will be appreciated that a customer who has preferences may also have limitations, or that a driver who has limitations may also have certain preferences.
  • Service limitations for a driver may include, but are not limited to, limitations related service time, return location and time, service area, accessibility, number of passengers, allergy, baby seat limitations, and any other relevant limitations.
  • Service time limitations allow a driver to preset the time he/she is not available to provide service.
  • Return location and time limitations allow a driver to preset certain locations where he/she wants to be at a certain time.
  • Service area limitations allow a driver to preset one or more geographic zones where he/she is not willing to provide services, for example, based on a zip code, borough, city, state, etc.
  • a driver may set limitations for geographic zones through an interactive map on a driver interface of the relevant one of driver devices 132D1...132Dn.
  • a driver may click on a zip code on a map to determine a location where he/she does or does not want to provide service.
  • Such driver limitations regarding selection of a geographic location may be required in embodiments where service requests are batched and distributed to drivers in groups as discussed below with respect to Figures 6-9 below.
  • a driver in Brooklyn may see a map of the borough divided into subsections which reflect the zip codes within Brooklyn.
  • the driver can click each to indicate the particular service areas.
  • a clickable map interface i.e. an interactive map interface
  • the clickable map of one driver may additionally or alternatively be integrated with a clickable map of another driver, such as a partner driver.
  • computing system 100 could potentially generate and display for a dispatcher the scope of where a driver and the driver's partner drivers could provide service.
  • a driver may preset personal time limitations relating to his/her work shift.
  • Computing system 100 may group zip codes into borough or county, town, city, or state into mapping data in database 108. Once computing system 100 identifies the zip codes or other location limitation information, it can skip a driver with relevant location limitations when generating dispatch matrix 322 and dispatch output 330 such that no service request is sent to that driver which involves areas within that driver's limitations.
  • One of ordinary skill in the art will appreciate that the list of driver's service limitations described herein is not exclusive, and that a driver can have other limitations related to his/her service.
  • exemplary embodiments of the invention allow for an efficient dispatch system utilizing different defined regions to schedule service requests.
  • Computing system 100 can identify which service requests will take place where, especially the start and end locations, as they relate to the time they are scheduled, and may group them by region. In current industry practices, dispatching is executed almost randomly. In a large city such as New York, a driver may be dispatched at random times to random locations. By grouping service requests by geographic area and tracking drivers, dispatchers can preschedule service requests much more efficiently, and drivers can complete service requests in less time.
  • a customer may submit his/her proposed price for a service request to the system (Step 501).
  • the customer's proposed price may be based on a default price, and one or more processors may determine when the proposed price is higher, lower, or equal to the default price.
  • the default price for a transport service may be different from that of a delivery service.
  • the default price may be derived from the default price for each of the transport service and the delivery service.
  • FIG. 5 only depicts a scenario in which the customer proposes a price for transport service.
  • the system queries the customer regarding who the customer would like to send the proposed price to, depending on whether the customer has or does not have any favorite service providers (or any favorite service providers available) (Decision 502). If there are favorite service providers available, then the customer can decide whether he/she wants to send the price proposal to one or more of those available favorite service providers (Decision 503). If the customer wants to send the price proposal to any of those favorite service providers, he/she additionally decides whether his/her proposed price will be negotiable or non-negotiable with the favorite service providers (Decision 504).
  • the customer can decide whether his/her proposed price will be negotiable or non-negotiable with any preferred or regular service provider(s) (Decision 505). The process is the same regardless of whether the service provider is a favorite service provider or a regular service provider once it has been established whether the customer will be negotiating or not negotiating with one or more service providers.
  • Step 506 When the customer sets a price he/she deems negotiable, then service providers will be advised of that (Step 506). It is then the service provider's decision whether to negotiate (Decision 507).
  • the service provider has three options on a negotiable price proposal. If the service provider does not want to take the service request at all, he/she declines both negotiation and the request, and the request expires (Step 508). If the service provider does not want to negotiate but still wants to provide the service request, he/she accepts the original negotiable price as is (Step 513) and is then dispatched (Step 514). The third option available to the service provider is to negotiate the price.
  • the service provider makes a counter (Step 509), which is sent to the customer. Then the customer may choose whether he/she accepts the counter (Decision 510). If the customer accepts the counter, the service provider is dispatched by the system (Step 514). If the customer does not accept the counter, then the customer counters the counter (Step 511), and the negotiation cycles back to the service provider. The service provider is then presented with a decision of whether to accept the counter price (Decision 512). If the service provider accepts the counter price, then the service provider is dispatched (Step 514). If the service provider does not accept the counter, then he/she counters the customer's counter (Step 509).
  • Step 514 The process repeats until the service provider and the customer both agree on the price, whereupon the service provider is dispatched (Step 514).
  • the request is routed to the customer's favorite service providers (or any other service providers if the customer does not have available service providers on his/her favorites list), who either accept or don't accept the non- negotiable price (Decision 515). If the service provider accepts the non-negotiable price, then he/she is dispatched (Step 514). If the service provider does not accept the request, then the customer is notified that the service request has not been accepted at the price he/she proposed (Step 516). The customer may then, upon notification, revise the original service request and resubmit a new price proposal (Step 501).
  • Fig. 5 only depicts one of many possible scenarios for price negotiation between a service provider and a customer, and that the system could receive an initial price proposal from either a service provider or a customer. Accordingly, the initial price proposal could be countered by both a customer and a service provider.
  • the process depicted herein is not exclusive and does not require the particular order shown to achieve desirable results.
  • FIG. 6 shown is a flowchart illustrating an exemplary methodology for prescheduling a batch (i.e., a plurality) of unassigned service requests.
  • a plurality of service requests may be received by computing system 100 (e.g., uploaded by customers/passengers and/or by a third-party vendor such as an insurance company on behalf of its patients who will need transport services) and assigned respective identification numbers (IDs) (Step 600).
  • computing system 100 e.g., uploaded by customers/passengers and/or by a third-party vendor such as an insurance company on behalf of its patients who will need transport services
  • IDs respective identification numbers
  • Such uploads can be made by the customer using one or more of customer computing devices 130C1...130Cn, electronically by the customer or third-party vendor using vendor device 126 through a web interface, and/or manually by a dispatcher using dispatcher device 136 after receiving the service request(s) and associated schedules by phone, text message, email, or paper copy.
  • the system may employ interactive voice recognition (IV ) technology and/or voice-to-text technology to automatically receive service requests via traditional telephone systems.
  • each service request 300 is broken down into legs corresponding to each portion of a trip (e.g., pick-up location(s), drop-off location(s), etc.) (Step 620).
  • a service request may consist of being picked up at location A and dropped off at location B, and at a later time, picked up at location B and dropped off at location A.
  • a service request may alternatively contain three or more legs and/or different pick-up and drop-off locations, and may spread out over the course of the day.
  • service request 300 might include a customer's home (location A), a hospital (location B), and place of work (location C), and have three legs, A to B, B to C, and C to A.
  • the three legs would take place chronologically, but with different time periods between them.
  • the service request, the legs thereof, and all information associated therewith, including the zip codes corresponding to the pick-up and dropoff locations of each leg, and any required pick-up and/or drop-off times, can be stored in database 108.
  • a dispatcher can use dispatcher device 136 to specify a particular geographic region (e.g., one of the five boroughs of New York City) and a particular date (e.g., the same day, the following day, several days from the present day, a week from the present day, etc.) on which he/she wishes to assign drivers to unassigned service requests in computing system 100 (Step 610).
  • computer system 100 may be preset to automatically batch and assign service requests a predetermined number of days before the requested date of service.
  • computer system 100 may be preset to automatically batch and assign service requests a predetermined number of days before the requested date of service. For example, computer system
  • the dispatcher 100 may be preset to perform the batched assignment process on August 17 th for service requests scheduled for August 18 th .
  • the dispatcher may view, via an interface on dispatcher device 136, a list of the received unassigned service requests in computing system 100 chronologically or otherwise by their respective service request dates.
  • the dispatcher or computer system 100 might simply begin with the earliest future date for which unassigned service requests remain in computing system 100.
  • Computing system 100 may also be configured to automatically select the particular date (e.g., the earliest date for which any unassigned service requests remain in the system) and the first geographic region to schedule (e.g., Manhattan, Queens, etc.) on that date.
  • computing system 100 retrieves a batch of unassigned service requests from the stored plurality of unassigned service requests uploaded (Step 630).
  • the retrieved batch of unassigned service requests preferably has legs with pick-up and drop-off locations falling within the particular geographic region specified (or with at least one of the respective pick-up and drop-off locations falling within the particular geographic region specified), and have requested pick-up and/or drop-off times on the particular date (the designated date) (Step 620).
  • Computing system 100 may also retrieve customer information corresponding to a plurality of customers associated with the batch of unassigned service requests, and driver profiles corresponding to a potential set of drivers to assign to the batch based on the particular geographic region and the particular date specified.
  • the customer information may include a customer ID number or name, service preferences, a favorites list, a preferred list, and a blacklist.
  • the driver profiles can include driver information comprising one or more service limitations, a service history, a favorites list, a blacklist, and historical data.
  • Computing system 100 may identify the availability and compatibility of the potential set of drivers for the unassigned service requests of the batch (Step 640), and assign drivers to a plurality of the unassigned service requests of the batch (Step 650). It will be appreciated that the system can execute steps 640 and 650 prior to receipt of a dispatch date, whereby drivers are preliminarily assigned to service requests and dynamically updated using the algorithm (step 650) prior to receiving a specific dispatch date from a dispatcher, at which point the system prints a proposed schedule for the designated dispatch date.
  • computing system 100 cycles between identifying available and compatible drivers and assigning drivers since each assignment may likely change the availability of a particular driver with respect to the next service request being prescheduled (Steps 640, 650).
  • the availability of the drivers can be assessed based on the driver's preset limitations, and an estimated location of the driver at the pick-up time of the unassigned service request (e.g., the driver may already be assigned to an earlier service request leg stored in database 108) whose drop-off location and drop-off time will make it feasible/unfeasible for the driver to be available to provide service for the unassigned service request.
  • computing system 100 can efficiently assign service requests to drivers.
  • the compatibility of the potential set of drivers for the unassigned service requests of the batch is assessed in accordance with one or more algorithms or criteria based on, for example, presence of the drivers on blacklists, favorite lists, or preferred lists of the customers as discussed herein.
  • available drivers on the customer's favorite list are given the highest priority, followed by available drivers on a customer's preferred list.
  • Available drivers on a customer's blacklist are excluded from being assigned to that customer's service request. All available drivers on a customer's favorites list, and if necessary, preferred list, can be reviewed and considered for potential assignment by computing system 100.
  • Computing system 100 assigns drivers according to a predetermined algorithm (Step 650).
  • Computing system 100 can start with a first service request, check driver limitations regarding locations, times, conflicts, blacklists, trip conflicts, etc., and rule out any drivers who cannot service the unassigned service request due to unavailability, blacklists, expected geographic location at the pick-up time, expected lunch breaks or stopping times, or any other reasons.
  • Computing system 100 can next check to determine whether any drivers not excluded (e.g., who are expected to be available and reasonably close to the pick-up location at the pick-up time and date) are on the customer's favorites or preferred lists. If so, then such driver can be accorded high priority.
  • the same driver may be assigned to all legs of a service request at Step 650 using compatibility as the leading criteria to maximize client satisfaction.
  • a second leg e.g., a return leg
  • computing system 100 may assign the first driver to the second leg of the first service request while simultaneously keeping the first driver's status for the hours in between the two legs as 'available', and subsequently assign the first driver to another leg of another service request during that available time period should one arise for which the first driver is compatible and matched as computing system 100 works through the service requests of the batch.
  • Computing system 100 can be configured to book one or more drivers to different legs of a service request while also adhering to customer and driver preferences and limitations.
  • Computing system 100 may be configured to store any remaining service requests of the batch not assigned to a driver in accordance with the algorithms/criteria utilized at Step 650 in a job pool (Step 660) accessible by a plurality of available drivers through remote driver computing devices 132D1... 132Dn to enable the drivers to select at least one of the remaining unassigned service requests.
  • Computing system 100 can cap the number of unassigned service requests in the job pool that a single driver can select.
  • the unassigned service requests of the job pool can be displayed via a clickable electronic map display 1000 accessible by the drivers via driver devices
  • Electronic map display 1000 may display different geographical regions as noted by the six partitions (i.e., I, II, III, IV, V, and VI) corresponding, for example, to a plurality of local geographic regions where the unassigned service request pick-up and drop-off locations are located.
  • the unassigned service requests can be displayed as clickable indicators 1010. While
  • Drivers may select (e.g., click on), via the relevant one of driver devices 132D1...132Dn, one of the plurality of partitions I thru VI and/or to select one or more of clickable indicators 1010 to request an assignment area or the corresponding unassigned service request.
  • a driver can also specify his/her initial limitations or other presettings for service using such a map display 1000.
  • a driver can designate, as a default setting or for one or more days, a preferred working area in computing system 100 by selecting one of the six partitions I thru VI.
  • a driver's default preferred working area can be set at one corresponding to the driver's home address.
  • Step 670 The driver can accept or reject each service request in the schedule. While such notification to and approval by the driver can take place, for example, days or even weeks before the designated date when service requests are to be serviced, such notification may be provided close to or even at the beginning of the scheduled date.
  • a customer may also add a driver to his/her favorites list, preferred list, or blacklist at any time, and a driver may similarly add a customer to the driver's blacklist or favorites list (provided if the request is to add to favorites, the customer agrees to the request). Such additions may occur, for example, following completion of a pre-scheduled service request of the batch. Users may view the profiles of previous drivers and customers, and to send requests to be on each other's favorites list. A search function can be provided to find the accounts of customers and drivers. Addition of a customer on a driver's blacklist or addition of a driver on a customer's blacklist may or may not occur with mutual notification or approval. It will be appreciated that such one-way authorization for blacklists without notification to the other party will help avoid confrontations or awkwardness between customers and drivers. A driver may add a partner driver at anytime if both drivers approve.
  • computing system 100 may be configured to engage a micro-dispatch system and/or process wherein the canceling driver dispatches the cancelled pre-scheduled service request to a partner driver. If such partner driver is available and accepts, then computing system 100 can assign the partner driver provided the partner driver is not on the customer's blacklist or vice versa. Such partner drivers may also be utilized if, for example, a driver accepts a service request but cannot make it to the pick-up location on time. The driver could send the service request leg to his partner driver provided computing system 100 allows this based on partner driver's compatibility with the customer. Each driver may have multiple partner drivers in the micro-dispatch system and process.
  • the driver may be given the option to forward a prescheduled service request that he/she is cancelling to another, non-partner driver, and computing system 100 can assign the cancelled prescheduled request to the other driver if the other driver accepts, is available, and is deemed compatible with the customer (e.g., not on the customer's blacklist).
  • Step 670 If a driver rejects any prescheduled assignments (Step 670), then computing system 100 can switch both the driver's status during the cancelled time period and the service request's status from "assigned" to "unassigned", identify and assign an alternative driver for the service request using the same criteria/algorithm discussed above (Step 680).
  • the prescheduled driver assignments stored in the database 108 may be dynamically updated and drivers reassigned (Step 680). If a driver rejects a particular service request on his/her schedule, then computing system 100 may add the rejected service request to the job pool (Step 660), or may automatically reassign the service request to a partner driver, provided such partner driver is available.
  • the job pool may be dynamically updated continually as drivers approve or reject the schedule of service requests sent to them, in whole or in part. Such updates can be stored in the database 108.
  • computing system 100 may be configured such that if a driver rejects any prescheduled service requests or legs thereof, then that driver may lose priority. It will be appreciated that based on customer preferences and driver limitations, computing system 100 can quickly identify compatible drivers for an unassigned service request. For example, a driver with no limitations and a customer with no preferences can be identified as compatible, and therefore, as a match. Alternatively, if any settings (e.g., driver limitations, customer preferences, etc.) conflict with one another, then the driver and customer may be deemed incompatible, and be prevented from being matched. It will also be appreciated that comprehensive disclosure of service request details, a driver's limitations, and a customer's preferences will improve the experiences of both customers and drivers.
  • any settings e.g., driver limitations, customer preferences, etc.
  • FIGS. 7A-7B shown is a flowchart illustrating a first exemplary algorithm for assigning a plurality (or a batch) of prescheduled service requests in accordance with an exemplary embodiment of the invention.
  • drivers in a potential set of drivers being considered for the batched service requests must have a preset limitation for the geographical region in which he/she will accept jobs.
  • a first unassigned service request of the batch is identified, as well as the associated customer corresponding thereto, and any pick-up and/or drop-off locations and/or time requirements on the designated date (Step 710).
  • the potential set of drivers (initially retrieved based on the designated date and the geographic region specified by the dispatcher or system) is reviewed and any of the potential set of drivers who are on the customer's blacklist are excluded, and any who list the customer on his/her blacklist are excluded (Step 712). Whether any of the remaining potential set of drivers are available to service the unassigned service request is then determined (Step 714).
  • Availability can be assessed based on both the driver's preset limitations and the estimated location of where the driver will be prior to the pick-up time of the unassigned service request as discussed above. For example, a driver who will need to get from location X ⁇ to location X 2 in time T may be able to do so based on historical traffic and map data 326 stored in database 108, but may have a preset limitation on how far he/she is willing to travel between different legs of respective service requests. If a driver is deemed unavailable, then his/her status is set to 'unavailable' and he/she is excluded from the potential set of drivers for this particular unassigned service request.
  • the service request is sent to a job pool 716 where it can be viewed and potentially selected by other available drivers as described herein.
  • the assignment process begins again (Step 700) and where it identifies a second unassigned service request of the batch, as well as the new customer, location, and time information associated with the second service request (Step 710).
  • Step 714 If computing system 100 determines that drivers are available (Step 714), whether any of the available drivers are on the particular customer's favorite list is determined (Step 716). Whether only a single favorite driver or a plurality of favorite drivers are available is then determined (Step 718). If only one favorite driver is available, then the single favorite driver is assigned to the unassigned service request (Step 720). The next unassigned service request is the processed (Step 710). If a driver, while carrying out a previously assigned service request, receives a second service request assignment, the driver may be able to accept the second service request, depending on customer preferences.
  • computing system 100 may be configured to avoid empty legs when possible, and the ability to assign a driver whose preset return location and preset return time coordinate with the customer's service request is beneficial for the driver as he/she can profit from a leg of the service request that might otherwise be empty.
  • computing system 100 can review the plurality of favorite drivers (Step 722) to determine which of them is the most experiences (e.g., with this customer in terms of the total number of service requests previously performed for this customer, etc.) (Step 724) as indicated by the historical data retrieved at Step 630. It will be appreciated that such historical and other data stored in database 108 can be retrieved at various steps of the process disclosed herein.
  • the most experienced favorite driver is assigned to the unassigned service request (Step 726).
  • Step 724 If a plurality of most experienced favorite drivers are determined (Step 724), then computing system 100 can determine which of these drivers will be the closest based on the shortest estimated time period to get from an estimated location on the designated date at the pickup time to the designated pick-up location of the unassigned service request (e.g., as discussed in the example above with respect to locations Xi, X 2 and times Ti and T 2 ). The closest experienced favorite driver is then assigned to the unassigned service request. Once a driver has been assigned to the request, (Step 726), the next unassigned service request is processed (Step 710).
  • Step 732 If none of the remaining potential set of drivers are on the customer's favorites list, then whether any of the remaining potential set of drivers is/are on the customer's preferred list is determined (Step 732). If only one preferred driver is available (Step 734), then this single preferred driver is assigned to the unassigned service request (Step 736). If a plurality of preferred drivers are available (Step 738), then computing system 100 can determine a most compatible or most experienced preferred driver and select him/her based on the number of matches between the preset preferences of the customer and the various attributes or limitations of the driver and his/her vehicle (Step 740). This most compatible or most experienced preferred driver may be assigned to the unassigned service request (Step 742). Historical data may be used to determine which of these preferred drivers is the most experienced for the customer based on the total number of service requests previously performed for the customer.
  • Matching attributes between the customer's preset preferences and the drivers' preset preferences/limitations can include, for example, the following: car type, car size, color, make, model, year, two-door, four-door, nationality, number of years driving, type of vehicle, make and model of vehicle, vehicle seating capacity, vehicle space capacity, vehicle weight capacity, wheelchair accessibility, baby seat availability, accommodation for pets, driver's language abilities, driver's gender, driver's driving experience, driver's familiarity with the route, driver's experience handling certain types of goods, or accommodation for fragile goods or goods requiring other special packaging or delivery methods, or any other attribute or preference.
  • the number of these attributes matched can serve as the basis for assignment of a preferred driver to the unassigned service request rather than the number of previous trips the preferred driver performed for the customer.
  • the criteria or algorithm used for selecting one of the plurality of available preferred drivers may use a combination of these concepts. For example, the preferred driver with the most preference matches to the customer may be given priority, then the one with the most previous trips for the customer, and then, if two or more preferred drivers are otherwise deemed equally compatible based on those criteria, the one estimated to be closest based on location and time can be assigned.
  • the unassigned service request may be assigned to a driver categorized as a regular driver (Step 744).
  • Computing system 100 first assesses whether only a single driver is available or if multiple drivers are available (Step 746). If only one regular driver is available (Step 746), then this single regular driver is assigned to the unassigned service request (Step 748). If a plurality of preferred drivers are available (Step 746), then computing system 100 may review the available regular drivers (Step 750) and determine a most compatible or most experienced regular driver (Step 752) and select him/her based on the number of matches between the preset preferences of the customer and the various attributes or limitations of the driver and his/her vehicle.
  • This most compatible or most experienced regular driver may be assigned to the unassigned service request (Step 754). Historical data may be used to determine which of these regular drivers is the most experienced for the customer based on the total number of service requests previously performed for the customer or within the particular area. It will be appreciated that one of the driver's preset limitations (or the customer's preferences) may preclude assignment of a driver to a particular service request at any step. If for any reason, no regular drivers are available (Step 744), then computing system 100 can put the unassigned service request in the job pool (Step 716).
  • computing system 100 can determine a closest driver based on the regular driver having a shortest estimated time to get from his/her estimated location to the pick-up location of the service request. Computing system 100 may then assign the closest and most experienced regular driver to the unassigned service request (Step 754). Once a driver has been assigned to the request, (Step 748 or 754), the next unassigned service request is processed (Step 710).
  • the customer optionally presets his/her favorite and preferred drivers and a specific ranking for each favorite driver and each preferred driver if the customer has multiple favorite drivers and/or multiple preferred drivers.
  • Drivers can similarly preset specific rankings for favorite or preferred customers. For example, if a customer has four favorite drivers on his/her favorites list, then the customer can preset rankings 1st, 2nd, 3rd, and 4th corresponding to each of his/her four favorite drivers.
  • a customer can also preset two or more drivers with the same favorite ranking or preferred ranking. It will be appreciated that a number of ranking scenarios are thus possible. In a first scenario, classifications (favorite, preferred) are preset without any rankings among the classified favorite and preferred drivers/customers.
  • classifications and rankings of drivers/customers are both preset.
  • classifications and rankings of drivers/customers are both preset, and two or more drivers/customers within a classification are given the same ranking.
  • a customer assigns classifications and rankings of drivers, but one or more drivers only assign classifications to customers without rankings, etc. If more than one favorite or preferred driver of the same ranking is available, then the system can randomly assign the service request to one of these drivers with the same ranking, or use additional criteria as discussed in various embodiments herein, such as number of prior service requests performed for the customer, level of familiarity with the route, etc.
  • the system may be configured to first look at a customer's available favorite drivers when assigning a service request, and then assign by favorite driver rank (if it identifies multiple favorite drivers), without regard to which of the favorite drivers is the most experienced or closest. If there are no available favorite drivers, then the system can similarly assign by preferred driver rank. In this manner, a customer can leave little doubt as to the hierarchy of driver assignments he/she desires.
  • the system can also be configured to take into account a driver's classification and ranking of customers on the driver's favorite or preferred customer lists when making assignments.
  • the driver's ranking of a customer and the customer's ranking of a driver may be used as part of the matching criteria in matching drivers to service requests of customers.
  • the system can utilize all preset information when assigning customer service requests to drivers. All preset data can be done through one or more web portals or computing devices (e.g., 130ci- 130cn, 132DI- 132DH). Default settings may alternatively or additionally be utilized if the settings are not completed by a customer or driver.
  • the customer can additionally preset whether he/she wants to allow partner drivers to be assigned to his/her service request(s) if specific favorite or preferred drivers are unavailable or cancel on the designated dispatch date. Partner drivers are further discussed with respect to Fig. 9 below. If a customer does not want any partner drivers to handle his/her requests and presets this in the system, then the system can cycle through favorite and preferred drivers using ranking as priority, and/or using the algorithms discussed herein with respect to Figs. 7A-9.
  • the system can assign a partner driver provided the partner driver is not precluded from being assigned to the customer due to being on the customer's blacklist or failing to meet any other requirement of the customer's service request or preferences.
  • the hierarchy by which partner drivers may be woven into assignments for prescheduled service requests may be preset by each customer. Default settings for such algorithms may be utilized if the customer does not preset certain criteria.
  • the partner driver methodologies disclosed herein may be utilized not only in prescheduling embodiments where a prescheduled assigned driver cancels, rejects, or becomes unavailable to service a service request or where a customer changes a service request as discussed with respect to Fig. 9, but also in the initial prescheduling of a single service request or a plurality of service requests in a given batch.
  • FIG. 8 a flowchart is shown which depicts a second algorithm for assigning a plurality of prescheduled service requests in accordance with various exemplary embodiments of the invention.
  • an algorithm which prioritizes customer preference and driver limitation matching before customer favorite and preferred lists may be used.
  • favorite and preferred classifications may alternatively be given weighted rankings themselves in addition to other matching criteria utilized (e.g., rather than first looking at classification and rank, and then other matching attributes, in certain embodiments, the system can be preset to give matching classifications a weighted value in a matching criteria calculation to determine best matching drivers.
  • Computing system 100 identifies a first unassigned service request of the batch, including any associated customer-related information, any pick-up/drop-off locations/times, etc. (Step 810).
  • a first potential set of drivers is reviewed based on the designated date and the geographic region specified by the drivers limitations such that certain drivers may be excluded for being on a customer's blacklist or for having the customer on his/her blacklist (Step 812).
  • Step 812 Next, whether any of the remaining potential set of drivers are available (e.g., based on time, location, etc. (see FIGs.
  • Step 814 If a driver is deemed unavailable, then his/her status may be set to 'unavailable' and he/she will be excluded from the first potential set of drivers with respect to this particular service request. If none of the drivers in the first potential set are deemed available, then the service request may be sent to a job pool (Step 816) where it may be viewed and selected by other available drivers. A second unassigned service request of the batch is then identified, as well as the new customer, location, and time information associated with the second service request, and the process continues until all of the service requests of the batch are assigned, and any unassigned requests are sent to the job pool.
  • computing system 100 may inquire as to whether such drivers are also assignable (Step 815) (e.g., whether any customer preferences or driver limitations preclude assignment of the service request to such drivers). If at least one driver is found to be assignable, computing system 100 inquires whether there is only one or a plurality of available and assignable drivers (Step 818). If only one driver is available and assignable, then such driver is assigned to the service request (Step 820). The next unassigned service request is identified for processing.
  • Step 815 e.g., whether any customer preferences or driver limitations preclude assignment of the service request to such drivers. If at least one driver is found to be assignable, computing system 100 inquires whether there is only one or a plurality of available and assignable drivers (Step 818). If only one driver is available and assignable, then such driver is assigned to the service request (Step 820). The next unassigned service request is identified for processing.
  • computing system 100 can determine a compatibility factor for each such driver based on matching attributes with customer preferences (Step 822). In some embodiments, such compatibility factors may take precedence over whether or not any drivers are on the customer's favorites or preferred lists. Based on customer information and the driver profile information, system 100 may preclude one or more drivers deemed not sufficiently compatible with a customer because of one or more aspects of the service request, customer preferences, and/or driver limitations. Such aspects or compatibility factors may be prioritized by the customer in the order in which the customer wants preference to be given. A processing function may be used in which different variables/attributes relating to such preferences, limitations, and/or service request requirements are assigned different priorities and processed.
  • Computing system 100 determines whether there is a most compatible driver (e.g., a driver with a highest compatibility factor (Step 824), and assigns the service request to the most compatible assignable driver (Step 826). A new service request is then identified for processing
  • a most compatible driver e.g., a driver with a highest compatibility factor (Step 824)
  • Step 826 assigns the service request to the most compatible assignable driver
  • Step 810 If multiple compatible drivers are determined to have the highest compatibility factors but are equal or substantially equal, then computing system 100 may estimate which of such drivers will be the closest to the pick-up location of the service request based on location and time (Step 810). If multiple compatible drivers are determined to have the highest compatibility factors but are equal or substantially equal, then computing system 100 may estimate which of such drivers will be the closest to the pick-up location of the service request based on location and time (Step
  • FIG. 9 shown is a flowchart illustrating an exemplary methodology for prescheduling and rescheduling a plurality of service requests of a retrieved batch using partner driver and on-demand methodologies in accordance with various embodiments of the present invention.
  • Computing system 100 may preschedule a batch of service requests (Step 900), for example, on August 15, 2017, for a particular designated date of, for example, August 18, 2017, with drivers utilizing one of the algorithms or criteria discussed herein (e.g., the algorithms shown and discussed regarding FIGs.
  • computing system 100 will preferably dynamically update and finalize driver assignments for the batch as drivers accept/reject the service request assignments given to them and computing system 100 will reassign the service requests in accordance with various embodiments discussed herein (Step 902).
  • a notification is then received on the designated dispatch date (e.g., August 18, 2017) from a customer corresponding to a particular service request, Xc, of the batch indicating that the customer needs to change the pick-up time of the service request from 2:00 PM to 5:00 PM (Step 904).
  • the customer may alternatively desire other changes, such as, for example, the location of the pick-up or any other attribute of the service request or customer preferences associated therewith.
  • computing system 100 Upon receipt of the requested change(s) from the customer, computing system 100 notifies the prescheduled driver for the service request, Xc (Step 906).
  • the customer may be enabled to communicate directly with the assigned driver to request the change(s). Such communication may take place, for example, directly from the relevant customer device 130C1... 130Cn to the driver device 132D1... 132Dn, the vender device 126, the administrator device 134, the dispatcher device 136, or some combination thereof.
  • the assigned driver is prompted to indicate whether he/she accepts the change(s) to the service request (Step 908).
  • computing system 100 may be configured to allow the assigned driver to accept the change regardless of its effect on later service requests, or may be configured to prevent the driver from accepting the change, and to reassign a new driver to the service request such as a partner driver. Alternatively, a driver may be allowed to accept the change if it is anticipated to only cause some disruption to subsequent service requests. If the assigned driver accepts the change (Step 908), then computing system 100 keeps the same assigned driver assigned to the service request (Step 910).
  • computing system 100 may identify whether the assigned driver has any partner drivers (Step 912). If so, computing system 100 may identify whether any of the partner drivers are or will be available to service the service request Xc based on their current or estimated locations, any potential conflicts such as blacklists, etc., or any conflicts between their limitations and the customer's preferences which would preclude an assignment (Step 914). When one or more partner drivers are available, then computing system 100 sends a request to the most compatible or closest partner driver who is available (Step 916). Closeness may be established based on location and time estimates using both historical and up-to-date traffic and map data 326.
  • Compatibility may be established based on favorites lists, preferred lists, or matching criteria customer preferences and driver limitations as discussed herein.
  • the partner driver responds with his/her acceptance or rejection of the request (Step 918). If accepted, computing system 100 reassigns the service request Xc to the partner driver (Step 920). If rejected, computing system 100 may automatically switch the status of the partner driver (Step 922) from "available” to "unavailable”, and again check for any other available partner drivers (Step 914).
  • computing system 100 may identify at least one best matching available driver (Step 924) using the customer preferences, driver limitations, and other matching criteria. As the pick-up time draws near for a prescheduled service request, if there are problems (e.g., last-minute driver cancellation or customer change, or the service request remains unassigned), computing system 100 can operate in accordance with the various on-demand embodiments illustrated and described in the '783 application.
  • problems e.g., last-minute driver cancellation or customer change, or the service request remains unassigned
  • the best matching available drivers can be identified based on matches between customer preferences and driver limitations, as well as driver availability based on location, time, and preset limitations, if any.
  • Computing system 100 may automatically and periodically track a time-varying geographic location of, for example, the customer devices 103C1...130Cn and driver devices
  • the geographic location of the customer devices 103C1...130Cn, driver devices 132D1... 132Dn, job pools 716/816, electronic map display 1000 may be dynamically updated in database 108, to indicate changes in a customer's and a driver's presets, settings, preferences, limitations, feedback or other information to provide quality services.
  • a service provider e.g., driver
  • a customer can be appropriately matched based on a matrix of customer preferences and driver limitations such that customers can be provided last minute assignments with efficiency while also continuing to cater to the customer's personal preferences.
  • driver e.g., driver
  • Feedback may include positive, neutral, or negative feedback.
  • Positive and negative feedback may be provided in the form of preset positive/negative reasons, respectively, based on evaluation of a provider's performance. The evaluation may be provided either by a customer or a best matching service provider, who can further choose to add a corresponding party to a favorites list or blacklist.
  • Neutral feedback or no feedback may not affect a match between customers and a service provider in the assignment of future service requests.
  • Service providers and customers can mutually be on each other's favorites lists or blacklists, but cannot be on each other's blacklist and favorites list simultaneously.
  • a customer can add one or more entities to his/her blacklist, and all service providers affiliated with such entities may also be added to the blacklist.
  • negative feedback may be provided by preset negative reasons to rate a customer anonymously by putting the customer on a service provider's blacklist. Negative reasons may include uncleanliness, being a no-show, being too noisy, verbal or physical abuse, refusal of payment or other similar reasons. Similarly, negative feedback may be provided to rate a service provider anonymously by putting the second service provider on a customer's blacklist.
  • negative reasons may include rudeness, verbal or physical abuse, messy vehicle, poor driving skills, lack of familiarity with street conditions, inability to follow through with customer's instructions, improper handling of goods, broken or lost goods, late delivery or other similar reasons.
  • Notifications may be provided to a customer and service provider a certain time after any negative feedback is provided to inform them that they received negative feedback and/or why. Based on the negative feedback, a customer and/or service provider may be suspended from the service.
  • computing system 100 can show the customer a group of best matching drivers (e.g., Driver 1, Driver 2, Driver 3, Driver 4, etc.) with details about each driver, expressed through indicators (Step 926). Such details may include distance or time from the customer, route information, route familiarity, etc. Sets of indicators may also be utilized to facilitate a customer in selecting a driver from a proposed group of best matching drivers for his/her service request in a convenient and efficient way.
  • a customer selection is received identifying one of the best matching drivers (Step 928), who is then notified (Step 930).
  • the selected best matching driver is queried as to whether he/she would like to accept the service request (Step 932). If the selected driver does not accept the service request, then computing system 100 identifies another best matching available driver (Step 924) using the customer preferences, driver limitations, and other matching criteria. If the selected driver accepts the service request, computing system 100 reassigns the service request Xc to the selected driver (Step 934).
  • the concepts introduced herein may be utilized in various combinations as desired in order to customize prescheduling services for customers and drivers for a single prescheduled service request of a single customer, for multiple service requests of a single customer, or for a plurality of service requests for a plurality of customers assigned to one or more drivers, in advance of or on a designated dispatch date, and that various matching algorithms may be utilized.
  • the prescheduling methods disclosed herein may be utilized in conjunction with on-demand methods, and that the system may switch between prescheduling and on-demand, or vice versa, depending on the situation.
  • a customer may input a single service request into the system for prescheduling and receive a list of best matching drivers with a set of indicators corresponding to each best matching driver based on specific information about each driver the customer is interested in viewing (e.g., indicators representative of matching attributes of the driver, level of familiarity or experience with a particular route, etc.), and select one or more of such best matching drivers to perform the service request.
  • the customer may be notified of a last minute cancellation by a prescheduled driver, and given the option to select from a list of best matching drivers.
  • the system may switch from an on-demand method to a prescheduling method if, for example, a customer who selected a driver for on-demand service suddenly learns that his/her doctor is running late, and that he/she now needs to cancel the on-demand service request and instead be picked up in several hours or on another day.
  • partner drivers may or may not have preferred geographic regions in the same regions as the drivers from whom they are referred or sent requests, as the partner driver system is meant to minimize dispatching. For example, if a driver cancels a service request, then he/she may press a button and see the current status of his/her partner drivers and their respective locations, send a recommendation or notification to one of these partner drivers. The partner driver can then accept the request if the system allows it (e.g., if the system determines that the partner driver and customer of the service request are not on one or the other's blacklist or precluded because of some other preset criteria or reason). Such functionality can enable drivers to preserve their business and keep their customers happy if they have to cancel at the last minute.
  • each driver's preferences as to the geographic region(s) to receive work and the time period(s) to receive work are preferably preset, along with any limitations the driver has with respect to geographic locations within the preferred geographic region(s), or limitations with respect to time periods within the driver's preferred time period(s). For example, if a driver presets specific geographic region(s) in the system (e.g., by clicking on and/or highlighting a specific geographic region of a map in a map interface), then he/she may receive a plurality of prescheduled service requests by the system, each having a pick-up time and drop-off location within that geographic region.
  • the driver does not wish to service, he/she can specify such limitations within the system, by manual entry or by clicking on a map display interface. If there are specific time periods during which a driver prefers to receive work within his/her preset geographic region, then the driver can similarly preset such specific time period preferences in the system. If there are specific time periods during which the driver does not wish to receive work during that preferred time period (e.g., during his/her lunch break or during a personal appointment during the day), then the driver can also preset such time period limitations in the system. In this manner, the system can preschedule a plurality of service requests accurately and efficiently.
  • a driver's preferences for geographic region and time are optionally preset, but in certain embodiments, are required for being considered for being assigned a plurality of requests on a designated date.
  • the system contains preset data regarding which geographic regions each driver prefers, it can more efficiently assign a plurality of service requests since most service requests will fall within specific geographic regions designated by drivers (e.g., within Manhattan, Queens, Brooklyn, between 30 th street and 90 th street, etc) as opposed to between designated geographic regions.
  • the system may recommend or notify various drivers of service requests sent to or already within the job pool 660, 716 when the system deems such drivers a good match based on preset data and algorithms the system is configured to execute. For example, the system may recommend a service request in the job pool to a driver who suddenly becomes available and/or enters a particular geographic region and/or meets the customer's matching criteria. The system can give the driver a predetermined time period to accept. If the driver does not accept, then the system may notify another driver of the available service request, etc.
  • the system may notify available drivers of service requests about to be placed in the ob pool (either because an assigned driver has cancelled or because the system was not able to preschedule the service request based on preset driver preferences), and give such drivers the ability to select the service request before it is placed in the job pool and/or modify their preset preferences and limitations. Drivers may be inclined to take such recommended service request as once it is placed in the job pool, a driver previously given exclusive rights to it may lose out if another driver selects it.
  • the system may be configured to execute a more inclusive or less restrictive algorithm (e.g., eliminating one or more criteria or reducing the weighting thereof) for service requests in the job pool in order to identify potential drivers not previously identified using the more restrictive algorithm.
  • the more inclusive algorithm may be less restrictive on, for example, any presettings related to availability. For example, drivers familiar with a geographic region may be able to handle a service request in less time than the system calculates and/or be able to communicate with the customer and agree on a different pickup time. Such communications can help resolve dispatching issues and allow more service requests to be removed from the job pool.
  • the system may recommend drivers to the customer and vice versa based on, for example, the driver's level of familiarity with a given route and/or the number of service requests the driver typically does in the geographic area. All data can be retrieved and analyzed from the database 108, and dynamically updated through the system as customers and drivers change their presettings, as well as during and following completion of service requests.
  • the database 108 may be dynamically updated with new driver location data 324, traffic and map data 326, data from job pool 660, 716, data from map display 1000, and any user interfaces on the customer devices 130ci- 130cn and driver devices 132 ⁇ - 132 ⁇ may be dynamically updated in real time when service requests are started, completed, modified, selected, cancelled, assigned, etc.
  • the best matching driver steps discussed herein may additionally or alternatively be utilized for prescheduling a single service request for a customer in combination with, for example, the price negotiation steps discussed with respect to FIG. 5.
  • a customer can review a list of best matching drivers with respective indicators reflecting a summary of information associated with the particular driver, and select one or more for a price negotiation.
  • the sets of indicators disclosed herein can help the customer evaluate supply and demand factors, which may be critical in setting prices for the negotiation as the customer may propose lower prices at times of lower demand or higher prices at times of higher demand.
  • the number of available service providers who can provide the service and the number of customers currently requesting service in a particular region may be dynamically updated in the database 108. Any service provider who provides the same type of service as the type of service in the customer's service request can be included in a pool of potential available service providers as long as the service provider is within the geographic zone and available.
  • the sets of indicators displayed to the customer may be turned on or off by the customer via the customer device 130. If the customer has turned a set of indicators off, then he/she will not see it on his/her display. However, the customer's service requests may still be counted in a census by the system of all available requests within a proper subcategory.
  • Various sets of indicators may be displayed to service providers (e.g., drivers) via driver device 132, and may be useful to drivers for setting a price for the service request based on, for example, various types of customer information.
  • the service provider may want access to and be provided with the same search results or supply and demand information displayed to the customer.
  • the system may allow the customer and the service provider to exchange with one another, in full or in part, information displayed to them, which allows for a more transparent negotiation process. It will be appreciated that drivers may be provided with indicators representative of customer attributes not only for price negotiation, but also for various other embodiments discussed herein.
  • the system may be configured to enable the driver to access customer information associated with the service request, and review indicators associated with the desired customer information. In this manner, the driver can make an informed decision as to whether to accept the prescheduled service request.
  • the system may utilize a set of indicators to help streamline pricing information regarding one or more service providers' response to a price proposal from a customer, whereby the customer may negotiate price simultaneously with several best matching drivers.
  • a proposed price which may be either negotiable or non-negotiable
  • the system may display pricing numbers initiated by the driver(s) for the customer with a set of indicators. If the proposed prices is/are negotiable, then the negotiation may go back and forth until a final deal or no deal can be made.
  • various sets of indicators may be utilized for different situations depending on which party initiates a price proposal.
  • the indicators themselves may convey whether a price proposal is above, below, or equal to a default price provided by the system.
  • the system may display a green indicator or an upward arrow for an initiated price above the default price or a red indicator or a downward arrow for a price that lies below it.
  • Price that exactly match the default price can be displayed as yellow or as a dot. Those three different colors convey the difference in each of these three situations, and illustrate a clear difference that allows users to sort more quickly, based on an easy-to-see visual representation which would otherwise take longer. Included in the representation is, for example, the actual price proposed, along with information that compares the difference between the price proposal and the default price as a dollar amount or as a percentage. This set of indicators may be turned off, or may selectively have one or any parts displayed depending on the user's discretion. During such a prescheduled service request, the system may be configured to time out the negotiation if no final price is agreed upon, or may give the customer the option of continuing the negotiation up until the date and time of the service request. Users may also set limits on which price proposals are automatically rejected, by presetting a price threshold higher or lower than the default price.
  • these sets of indicators are displayed to both a customer and a service provider.
  • Various sets of indicators may be displayed to any user type in the system.
  • a customer who requests price proposals from a service provider may preset in the settings not to see any price proposal that is higher than or equal to 50 percent above the default price. Otherwise, the price proposals may be automatically rejected.
  • a customer has discretion in choosing which price indicators to see depending on price difference.
  • An indicator may also be displayed for a customer reflecting information regarding zone information based on the total number of service requests completed by a service provider within the geographic zone in which a customer indicates the pick-up location of the service request.
  • Such indicator may be representative of historical data retrieved from database 108. It will be appreciated that this indicator can provide a customer with a visual representation which quickly conveys the service provider's experience or familiarity in the pick-up location. Such information may help inform a customer about which service provider may be better suited for their service request because of more experience in the area.
  • a set of indicators can display the number of potential available service providers compared to the number of potential available customers within each geographic zone, the pool of potential available service providers and the pool of potential available customers, and the geographic zones based on search parameters including number, time and distance or any combination thereof.
  • This set of indicators can provide information about supply and demand within each geographic zone based on the search parameters, which may be factored into setting prices.
  • service providers may also limit their displays to show only requests from favorite customers, preferred customers, or from favorite, preferred, regular, and new customers.

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Economics (AREA)
  • Human Resources & Organizations (AREA)
  • Tourism & Hospitality (AREA)
  • Strategic Management (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Marketing (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Development Economics (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Game Theory and Decision Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Traffic Control Systems (AREA)
  • Navigation (AREA)
PCT/US2017/053330 2016-09-23 2017-09-25 System and method for customizable prescheduled dispatching for transportation services WO2018058072A1 (en)

Priority Applications (10)

Application Number Priority Date Filing Date Title
CA3034405A CA3034405A1 (en) 2016-09-23 2017-09-25 System and method for customizable prescheduled dispatching for transportation services
EP17854096.9A EP3516602A4 (en) 2016-09-23 2017-09-25 SYSTEM AND METHOD FOR ADAPTABLE PRE-PLANNED SENDING OF TRANSPORT SERVICES
CN201780072325.2A CN110678884A (zh) 2016-09-23 2017-09-25 用于交通运输服务的可订制的预先派单调度的系统和方法
BR112019005534A BR112019005534A8 (pt) 2016-09-23 2017-09-25 Sistema e método para despacho pré-programado personalizável para serviços de transporte
AU2017331458A AU2017331458A1 (en) 2016-09-23 2017-09-25 System and method for customizable prescheduled dispatching for transportation services
JP2019538087A JP2019537166A (ja) 2016-09-23 2017-09-25 運輸サービスのためのカスタマイズ可能な事前に計画された派遣のためのシステムおよび方法
RU2019112415A RU2744983C2 (ru) 2016-09-23 2017-09-25 Система и способ приспосабливаемого к конкретным потребностям, спланированного заранее диспетчерского обслуживания транспортных услуг
PH12019550042A PH12019550042A1 (en) 2016-09-23 2019-03-20 System and method for customizable prescheduled dispatching for transportation services
ZA2019/01741A ZA201901741B (en) 2016-09-23 2019-03-20 System and method for customizable prescheduled dispatching for transportation services
IL265514A IL265514B (en) 2016-09-23 2019-03-20 A system and method for pre-adjusted shipping for transportation services

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201662399129P 2016-09-23 2016-09-23
US62/399,129 2016-09-23
US201762505626P 2017-05-12 2017-05-12
US62/505,626 2017-05-12

Publications (1)

Publication Number Publication Date
WO2018058072A1 true WO2018058072A1 (en) 2018-03-29

Family

ID=61690035

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2017/053330 WO2018058072A1 (en) 2016-09-23 2017-09-25 System and method for customizable prescheduled dispatching for transportation services

Country Status (11)

Country Link
EP (1) EP3516602A4 (zh)
JP (1) JP2019537166A (zh)
CN (1) CN110678884A (zh)
AU (1) AU2017331458A1 (zh)
BR (1) BR112019005534A8 (zh)
CA (1) CA3034405A1 (zh)
IL (1) IL265514B (zh)
PH (1) PH12019550042A1 (zh)
RU (1) RU2744983C2 (zh)
WO (1) WO2018058072A1 (zh)
ZA (1) ZA201901741B (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110428120A (zh) * 2018-05-01 2019-11-08 通用汽车环球科技运作有限责任公司 实时的个人移动性规划系统
JP2020052926A (ja) * 2018-09-28 2020-04-02 マツダ株式会社 自動車運行管理システム
WO2020190207A1 (en) * 2019-03-21 2020-09-24 Grabtaxi Holdings Pte. Ltd. Communications device, method and communications system for managing a plurality of data structures
CN111831931A (zh) * 2019-09-24 2020-10-27 北京嘀嘀无限科技发展有限公司 一种上车点排序、信息排序的方法及装置
CN111915256A (zh) * 2020-07-31 2020-11-10 上海寻梦信息技术有限公司 构建派件围栏的方法、异地签收识别方法及相关设备
CN112288286A (zh) * 2020-10-30 2021-01-29 上海仙塔智能科技有限公司 安全派单方法、安全派单系统及可读存储介质
CN112348397A (zh) * 2020-11-20 2021-02-09 北京瞰瞰科技有限公司 网约车服务评价方法及系统、以及派单方法
CN112418552A (zh) * 2020-12-04 2021-02-26 沙师弟(重庆)网络科技有限公司 基于调度要求对货单与承运车辆进行优化调度的工作方法
CN112465384A (zh) * 2020-12-11 2021-03-09 深圳依时货拉拉科技有限公司 一种运力调度的方法、装置、计算机设备及计算机可读存储介质
CN112819580A (zh) * 2021-01-29 2021-05-18 北京瞰瞰科技有限公司 智能化订单生成方法、服务器、乘客端及存储介质
WO2021230808A1 (en) * 2020-05-15 2021-11-18 Grabtaxi Holdings Pte. Ltd. Server and method of determining an advanced booking fee for an advance booking
US20220036284A1 (en) * 2018-09-26 2022-02-03 Honda Motor Co., Ltd. Request processing system
EP3935596A4 (en) * 2019-03-06 2022-11-02 United States Postal Service PROCEDURES AND SYSTEMS FOR COORDINATING LOCAL DELIVERIES
CN116402322A (zh) * 2023-06-08 2023-07-07 北京白驹易行科技有限公司 车辆调度方法、装置及计算机设备

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11755960B2 (en) * 2017-05-04 2023-09-12 Lyft, Inc. System and method for reserving drivers with minimum fare offers and navigating drivers to service transportation requests
US10575123B1 (en) * 2019-02-14 2020-02-25 Uber Technologies, Inc. Contextual notifications for a network-based service
CA3073155A1 (en) * 2019-02-19 2020-08-19 Tread Inc. Systems and methods for filling driver positions
CN111899061B (zh) * 2020-03-10 2024-04-16 北京畅行信息技术有限公司 订单推荐方法、装置、设备及存储介质
US20220092516A1 (en) * 2020-09-23 2022-03-24 GetSwift, Inc. Delivery system including fleets and driver-specific capabilities
CN112258117B (zh) * 2020-10-27 2021-09-21 上海寻梦信息技术有限公司 寄件方法、装置、电子设备以及存储介质
CN113256115A (zh) * 2021-05-26 2021-08-13 首约科技(北京)有限公司 一种提高成交金额的全局派单方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060059023A1 (en) * 2002-08-02 2006-03-16 Alex Mashinsky Method system and apparatus for providing transportation services
US20080033652A1 (en) * 2006-08-05 2008-02-07 Patrick Hensley Determining and displaying the geographic location of articles
US20130132140A1 (en) * 2009-12-04 2013-05-23 Uber Technologies, Inc. Determining a location related to on-demand services through use of portable computing devices
US8554608B1 (en) * 2010-04-17 2013-10-08 James O'Connor Driver controlled automated taxi service and devices

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002342424A (ja) * 2001-05-18 2002-11-29 Nec Software Hokkaido Ltd タクシー配車システム,方法,タクシー配車サーバおよびタクシー配車プログラム
JP2002367086A (ja) * 2001-06-06 2002-12-20 Ffc:Kk タクシー手配システム、タクシー手配方法およびその方法をコンピュータに実行させるプログラム
JP2003168190A (ja) * 2001-11-30 2003-06-13 Tamura Electric Works Ltd 車両配車案内システム及び車両配車案内方法
US20040059613A1 (en) * 2002-09-04 2004-03-25 Ford Motor Company Online method and system for advising customers on service needs, facilitating the scheduling of vehicle service appointments, and checking vehicle service status
DE10317855A1 (de) * 2003-04-16 2004-11-18 Rkb Reparatur- Und Karosseriebau Gmbh Verfahren und Einrichtung zum Verteilen von Paketen o. dgl. Beförderungsgütern
EP2135200A4 (en) * 2007-02-12 2011-12-28 Sean O'sullivan DISTRIBUTED TRANSPORT SYSTEM AND SERVICE NETWORK
JP2010134917A (ja) * 2008-10-27 2010-06-17 Paam Inc タクシー又は運転代行サービスの業務支援システム及び業務支援方法
CN103218769A (zh) * 2013-03-19 2013-07-24 王兴健 出租车订单分配方法
CN103996290B (zh) * 2014-06-09 2016-08-24 北京东方车云信息技术有限公司 一种提供叫车服务的方法、服务器及系统
CN105160021A (zh) * 2015-09-29 2015-12-16 滴滴(中国)科技有限公司 基于目的地偏好的订单分配方法及装置
KR101725343B1 (ko) * 2015-03-12 2017-04-26 네이버 주식회사 콜택시 서비스 제공 방법 및 이를 제공하는 콜택시 서비스 서버
KR101600381B1 (ko) * 2015-05-08 2016-03-08 주식회사 아이온뱅크 차량정보 중계서버 기반의 차량정보 수집/전송을 이용한 콜택시 배차 방법 및 콜택시 배차 중계 시스템

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060059023A1 (en) * 2002-08-02 2006-03-16 Alex Mashinsky Method system and apparatus for providing transportation services
US20080033652A1 (en) * 2006-08-05 2008-02-07 Patrick Hensley Determining and displaying the geographic location of articles
US20130132140A1 (en) * 2009-12-04 2013-05-23 Uber Technologies, Inc. Determining a location related to on-demand services through use of portable computing devices
US8554608B1 (en) * 2010-04-17 2013-10-08 James O'Connor Driver controlled automated taxi service and devices

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3516602A4 *

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110428120A (zh) * 2018-05-01 2019-11-08 通用汽车环球科技运作有限责任公司 实时的个人移动性规划系统
US20220036284A1 (en) * 2018-09-26 2022-02-03 Honda Motor Co., Ltd. Request processing system
JP2020052926A (ja) * 2018-09-28 2020-04-02 マツダ株式会社 自動車運行管理システム
EP3935596A4 (en) * 2019-03-06 2022-11-02 United States Postal Service PROCEDURES AND SYSTEMS FOR COORDINATING LOCAL DELIVERIES
WO2020190207A1 (en) * 2019-03-21 2020-09-24 Grabtaxi Holdings Pte. Ltd. Communications device, method and communications system for managing a plurality of data structures
CN111831931A (zh) * 2019-09-24 2020-10-27 北京嘀嘀无限科技发展有限公司 一种上车点排序、信息排序的方法及装置
CN111831931B (zh) * 2019-09-24 2023-11-17 北京嘀嘀无限科技发展有限公司 一种上车点排序、信息排序的方法及装置
WO2021230808A1 (en) * 2020-05-15 2021-11-18 Grabtaxi Holdings Pte. Ltd. Server and method of determining an advanced booking fee for an advance booking
US20230138588A1 (en) * 2020-05-15 2023-05-04 Grabtaxi Holdings Pte. Ltd. Server and method of determining an advanced booking fee for an advance booking
CN111915256A (zh) * 2020-07-31 2020-11-10 上海寻梦信息技术有限公司 构建派件围栏的方法、异地签收识别方法及相关设备
CN111915256B (zh) * 2020-07-31 2023-09-26 上海寻梦信息技术有限公司 构建派件围栏的方法、异地签收识别方法及相关设备
CN112288286A (zh) * 2020-10-30 2021-01-29 上海仙塔智能科技有限公司 安全派单方法、安全派单系统及可读存储介质
CN112348397A (zh) * 2020-11-20 2021-02-09 北京瞰瞰科技有限公司 网约车服务评价方法及系统、以及派单方法
CN112418552A (zh) * 2020-12-04 2021-02-26 沙师弟(重庆)网络科技有限公司 基于调度要求对货单与承运车辆进行优化调度的工作方法
CN112418552B (zh) * 2020-12-04 2023-06-27 沙师弟(重庆)网络科技有限公司 基于调度要求对货单与承运车辆进行优化调度的工作方法
CN112465384A (zh) * 2020-12-11 2021-03-09 深圳依时货拉拉科技有限公司 一种运力调度的方法、装置、计算机设备及计算机可读存储介质
CN112819580A (zh) * 2021-01-29 2021-05-18 北京瞰瞰科技有限公司 智能化订单生成方法、服务器、乘客端及存储介质
CN116402322A (zh) * 2023-06-08 2023-07-07 北京白驹易行科技有限公司 车辆调度方法、装置及计算机设备
CN116402322B (zh) * 2023-06-08 2023-09-22 北京白驹易行科技有限公司 车辆调度方法、装置及计算机设备

Also Published As

Publication number Publication date
BR112019005534A8 (pt) 2023-04-25
RU2744983C2 (ru) 2021-03-17
RU2019112415A (ru) 2020-10-23
JP2019537166A (ja) 2019-12-19
PH12019550042A1 (en) 2019-07-24
IL265514A (en) 2019-05-30
AU2017331458A1 (en) 2019-04-18
EP3516602A1 (en) 2019-07-31
EP3516602A4 (en) 2020-03-25
CA3034405A1 (en) 2018-03-29
BR112019005534A2 (pt) 2019-06-18
RU2019112415A3 (zh) 2021-01-15
CN110678884A (zh) 2020-01-10
IL265514B (en) 2021-05-31
ZA201901741B (en) 2019-12-18

Similar Documents

Publication Publication Date Title
US10909477B2 (en) System and method for customizable prescheduled dispatching for transportation services
IL265514A (en) Pre-adapted shipping method and method for transportation services
US11887036B2 (en) Method and system for on-demand customized services
US20190122760A1 (en) Method and system for customized scheduling of home health care services
US10785340B2 (en) System and method for a convertible user application
US11087423B2 (en) Systems and methods for transportation coordination in healthcare and other settings
CN106897788B (zh) 通过车辆远程信息处理/信息娱乐基础设施建立、传送和呈现的集中式管理的路径点
US20090313077A1 (en) Consumer initiated, service provider direct dispatching system
US20120239452A1 (en) Fleet Management Systems and Processes
US10977589B2 (en) Task assignment method, computer program product and task assignment system
JP2008509500A (ja) 臨時医療業に人材を派遣するシステムおよび方法
JP2014029580A (ja) タクシー配車アプリケーションシステム及び配車プログラム
US20180082356A1 (en) Systems and methods for determining customer availability for customer pick up of orders
US20240070764A1 (en) Systems and methods for generating a visual representation showing order availability at shopping facilities
CA3095553A1 (en) System and method for healthcare billing verification
Agatz et al. Transportation-enabled services: Concept, framework, and research opportunities

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 3034405

Country of ref document: CA

ENP Entry into the national phase

Ref document number: 2019538087

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

REG Reference to national code

Ref country code: BR

Ref legal event code: B01A

Ref document number: 112019005534

Country of ref document: BR

ENP Entry into the national phase

Ref document number: 2017331458

Country of ref document: AU

Date of ref document: 20170925

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2017854096

Country of ref document: EP

Effective date: 20190423

ENP Entry into the national phase

Ref document number: 112019005534

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20190321