SYSTEM AND METHOD FOR OPERATING A SERVICE TO ARRANGE TRANSPORT AMONGST PARTIES THROUGH USE OF MOBILE DEVICES
A system and method are described for enabling transportation to be arranged for individuals carrying handsets or mobile devices. In some embodiments, a customer can transmit a request for transport from a given customer geographic location. A service may handle the request by selecting a driver for the customer.
This Application is a Continuation of U.S. patent application Ser. No. 13/596,497, filed Aug. 28, 2012, which is a Divisional of U.S. patent application Ser. No. 12/928,254, filed Dec. 6, 2010, now U.S. Pat. No. 9,959,512; which claims benefit of priority to U.S. Provisional Patent Application No. 61/266,996, filed Dec. 4, 2009; all of the aforementioned priority applications being hereby incorporated by reference in their respective entirety for all purposes.TECHNICAL FIELD
Embodiments described herein pertain generally to a system and method for operating a service to arrange transport amongst parties through use of mobile devices that are carried by the respective parties.BACKGROUND
Current fleet management systems employed for taxi and limousine fleet typically utilize onboard metering devices, radios, and cell phones to dispatch drivers and monitor fares. Such systems typically are not communicative to customers that are waiting for pickup. Furthermore, little information is tracked about individual fares. Moreover, conventional approaches rely on the customer making payment directly to the driver, by credit card or cash.
A system and method are described for enabling transportation to be arranged for individuals carrying mobile devices (e.g. handsets). In some embodiments, a customer can transmit a request for transport from a given customer geographic location. A service may handle the request by selecting a party to provide transport to the customer. According to some embodiments, the pairing of the party to the customer requesting the transport is performed programmatically and/or automatically, based on parameters such as the location of the driver (or a vehicle of the transport party).
Some embodiments provide that a location of the customer is communicated to a service and/or driver using programmatic resources of the customer's handset.
According to embodiments, individual drivers may be selected as respondents to a customer request, whom in turn have the option to accept the assignment. Once a driver (or alternatively, transport party) is selected and has accepted the assignment, information about the driver (e.g. the location of the driver when the fare was accepted, a picture of the driver, his rating etc.) may be communicated to a device of the customer (e.g. to the customer's handset). The driver may also be provided information about the customer (e.g. the picture of the customer, the customer's rating, the customer's precise location).
Additionally, some embodiments provide that the customer is provided updates as to the location of the vehicle of the driver en route to the customer. The updates may be provided in real-time or near-real time, to reflect the progression of the driver towards the customer.
Among other benefits, embodiments recognize that transport services often have vehicles that have down-time because they are between fares. In particular, limousine (or black cabs) spend much of their operational time being idle, as conventional dispatching services for such drivers often significantly underutilize the individual drivers. In contrast to conventional approaches, embodiments provided herein enable the operators of the vehicles to field transport requests from, for example, their handsets. The handsets (or other mobile devices) may correspond to, for example, (i) cellular telephony or data devices (e.g. APPLE IPHONE) that run a program that is part of a transport platform, and/or (ii) roaming devices that can connect to access points (e.g. hot spot) or operate under other wireless networks (e.g. WiMax). When the drivers/respondents are free (e.g. between fares), they can operate the program on their devices to field transport requests. Customers may run a program of the same platform on similar handsets or devices, in order to make requests for transport from their respective location. A service (such as provided online, through use of a server) may select a respondent/driver (or transport), and perform some intermediary functions (such as make payment). Various parts of the transport transaction, in which a customer is picked up and transported to a desired location, are handled programmatically, through computing resources of the platform. As explained in more detail, embodiments employ such programmatic components in order to facilitate the ability of customers to request transport, as well as to facilitate transport providing parties and customers to meet at the pickup site and to conduct their business.
Among other features, at least some embodiments provide that the geographic location of the respective parties is determined programmatically using geo-aware resources. This information is communicated to the other party without need for manual involvement by the party operating the handset. Thus, for example, when the customer makes the request for transport, his location at the time of making the request can automatically be included in the request. Further, when the respondent/driver accepts the fare and starts to travel to the customer, his location and other relevant information (such as continuously updated estimated time of arrival) can be automatically communicated to the customer.
According to some embodiments, the fare for the transport is determined automatically, using a program platform that is shared by the devices of both customer and driver. Moreover, the customer's funds may be automatically accessed and transferred to the driver/respondent. Thus, the driver is provided an incentive in participating in the platform, by being assured that funds for services will be received.
Still further, embodiments provide that each party is able to provide a rating or feedback of the other party for the transaction. Thus, if either party has a particularly good or bad experience with the other party, they can record a rating that affects the reputation of the other party in using the service. In this way, both parties can be motivated to perform and behave well, thereby increasing the quality of the experience to both customer and driver.
Still further, embodiments enable a system such as described to be implemented using commercially available handsets and devices. Examples of devices that may be operated by customers or respondents (e.g. drivers) include multifunctional cellular telephony devices (e.g. APPLE IPHONE, devices that operate the Android operating system), and wireless network enabled devices such as laptops, netbooks or tables (e.g. iPAD). As such, specialized devices or components are not needed. Customers who wish to use a transport service such as described need to only download or otherwise run a program on a suitable handset. Likewise, drivers who wish to participate need only to run a corresponding program on a similar handset.
One or more embodiments described herein provide that methods, techniques and actions performed by a computing device are performed programmatically, or as a computer-implemented method. Programmatically means through the use of code, or computer-executable instructions. A programmatically performed step may or may not be automatic.
One or more embodiments described herein may be implemented using programmatic modules or components. A programmatic module or component may include a program, a subroutine, a portion of a program, or a software component or a hardware component capable of performing one or more stated tasks or functions. As used herein, a module or component can exist on a hardware component independently of other modules or components. Alternatively, a module or component can be a shared element or process of other modules, programs or machines.
Furthermore, one or more embodiments described herein may be implemented through the use of instructions that are executable by one or more processors. These instructions may be carried on a computer-readable medium. Machines shown or described with figures below provide examples of processing resources and computer-readable mediums on which instructions for implementing embodiments of the invention can be carried and/or executed. In particular, the numerous machines shown with embodiments of the invention include processor(s) and various forms of memory for holding data and instructions. Examples of computer-readable mediums include permanent memory storage devices, such as hard drives on personal computers or servers. Other examples of computer storage mediums include portable storage units, such as CD or DVD units, flash memory (such as carried on many cell phones and personal digital assistants (PDAs)), and magnetic memory. Computers, terminals, network enabled devices (e.g. mobile devices such as cell phones) are all examples of machines and devices that utilize processors, memory, and instructions stored on computer-readable mediums. Additionally, embodiments may be implemented in the form of computer-programs, or a computer usable carrier medium capable of carrying such a program.
According to some embodiments, the customer 110 operates a handset 105 to generate a request for transport 112. As described in
According to an embodiment, the service 120 processes the request 112 in order to select candidate respondents that can provide the requested transport. The service 120 is able to use identification information 124 to identify an account or profile of the user. The account or profile of the user may include or identify (i) funds for payment for transport services, (ii) rating information that identifies a reputation or class of user of the customer 110. Other information that may optionally be associated or maintained with the user account/profile includes, for example, an image of the customer, preferences of the user (e.g. type of vehicle the user prefers), the rating of the user (which may be provided by drivers that have previously interacted with), and historical information such as previous drivers that have provided transport to the user. Such preferences, rating information, historical information and other profile information can be used to select drivers for the user at a given instance. For example, for a given fare request, the service may first attempt to locate a driver that the user has previously used (and perhaps provided a good rating for).
As an alternative or addition, some or all of the account/profile information may be stored with the user, and communicated as part of the user's request.
Service 120 uses information contained in the customer request 112 to select candidate respondents 132 based on one or more criteria. The criteria may include (i) proximity of the individual candidate respondents to the customer 110, (ii) a class or rating of the candidate respondent 132, based on reputation and/or level/quality of service (such as provided by rating/feedback of past instances), (iii) availability of the candidate respondents 132. As mentioned, the criteria may also include user-specified preferences, including specific identification by the user of a particular driver, or previous drivers that have serviced the user and whom have received good feedback from the user. In order to arrange transport to the customer, an embodiment provides that the service 120 implements a pairing process upon receipt of the request 112. The service 120 performs the pairing process by (i) using the one or more criteria to select a first candidate respondent; (ii) sending an invitation 114 to the first candidate, and giving the first candidate a short duration to accept the invitation; (iii) if the first candidate respondent declines or fails to accept the invitation, selecting a second candidate respondent using the one or more criteria; (iv) sending the invitation 114 to the second candidate, and giving the second candidate a short duration to accept. The pairing process may be repeated (n times) until a respondent 130 from the candidate pool 132 communicates back an acceptance 115 to the invitation 114.
As an alternative to a single pairing process, another embodiment provides for selecting drivers by contacting a set of two or more drivers at once, based on criteria such as described above. The particular driver that ultimately is selected may correspond to, for example, the first driver in the set to respond and accept the invitation.
Either as part of the invitation 114, or in a follow on communication (following acceptance 115 of the invitation), the service 120 may specify, to the selected respondent 130, information about the customer 110 that includes: (i) the reputation of the customer (e.g. the user's feedback as provided by other drivers), (ii) the expected fare of the transport for that customer (which may include determining and communicating the customer's destination), and/or (iii) the geographic location of the customer. The customer's picture or other identification information may also be communicated to the accepting respondent. Thus, for example, the respondent 130 is able to identify the customer 110 from sight when he arrives to pickup the customer.
According to embodiments, the pool of respondents 132 are equipped with devices that can communicate with geo-aware mobile devices (e.g. handsets) of the customers. In particular, the pool of respondents 132 may include portable/mobile and personal handsets 135, such as cellular voice/data devices with geo-aware resources that the respondents can carry with them into and out of their vehicles. In one embodiment, the handsets 135 of the candidate respondents share a platform (e.g. application level) with the handsets 105 used by the customers. The shared platform enables each party to exchange communications across a shared functionality and user-interface.
Once the respondent 130 starts traveling to the customer 110, a series of progress communication 126 are communicated to the customer 110. The progress communications 126 may be generated automatically, using program instructions that cause the handset to utilize its geo-aware resources to automatically generate location information of the respondent 130 as it progresses en route to the location of customer 110. The progress communications 126 are communicated to the customer 110 using network communications. The progress communications 126 may be communicated directly from the respondent 130 to the customer 110, or via the service 120.
On pickup, the customer 110 and the respondent 130 are each facilitated in that identification information for each party has been communicated to the other. This identification information may include the picture of the other party.
According to an embodiment, once the respondent 130 picks up the customer 110, one or both devices can be used to perform fare monitoring functions. The fare monitoring functions enable the calculation of the fee that the customer will have to pay when he is driven to his desired destination. In an embodiment, the fee determination is based on the distance or route travelled and/or the time that the customer 110 is in the vehicle. The fee determination may also be determined based on a formula or factor that is specific to a particular transport party (e.g. the transport) company or service. Stop and wait times may be calculated, either by monitoring the GPS information communicated from the metering device, or from use of accelerometers that are sometimes included in the hardware of the handset. Numerous other parameters may be used to determine the fee for the fare, as described with embodiments and variations of
In an embodiment, payment is automatic. The customer 110 may store or associate an online fund account with his device 105. Likewise, the driver (or alternatively the transport party) has an associated account for receiving funds. Once the customer 110 is driven to his desired destination, service 120 (or the devices as configured) can trigger transfer of out of the customer's account. In one embodiment, the funds are transferred from the customer's account to an account of the service, which then transfers funds to compensate the respondent party that provided transport. The distribution of the funds from the customer may be distributed to the service 120, as well as a transport party transport that can correspond to either the driver, or a business entity that provides the driver (e.g. fleet operator). The fee transferred from the service to the transport is based on the fee charged to the customer, but may include reductions for use of the service. Various payment schemes may be used to compensate the transport party, such as paying the transport party a percentage of the fare, or compensating the transport party based on various parameters that include quality of service, desirability of fare, or even hourly. As a variation or alternative, the service can trigger at least a portion of the funds to be transferred from the customer's account directly to the transport party (e.g. fleet operator or driver). Thus, the fund transfer can be accomplished by moving funds from the customer's online financial account to that of the service and/or respondent 130 (e.g. a commercial account for the fleet manager or company). In an embodiment, fund transfer communication 142 is directed to the respondent 130 to confirm that payment has been made. The fund transfer communication 142 may be made in response to the respondent/driver (and/or the customer 110) signaling via the respective handset that the fare is over. As mentioned with other embodiments, some or all of the actual funds may be distributed to an account associated with either the driver or the transport party (e.g. the entity that employs the driver).
After the customer 110 is driven to the desired destination, an embodiment enables one or both parties to provide feedback about the other. The customer 110 may provide a rating or feedback 144 to service 120, to rate, for example, the customer's experience with the particular driver. Likewise, the driver can provide a rating or feedback 146 for the customer 110. The service 120 may associate profiles or accounts with each of the customer 110 and respondent 130 (or respondent party), and the rating/feedbacks 144, 146 may affect the overall rating of the customer/respondent. Thus, the reputation of the customer 110 or the driver 130 may be influenced by the feedback provided by the other party.
According to some embodiments, a service such as described by
Moreover, embodiments such as described by
Computing device 210 includes GPS component 204, network resources 206, processor 212, and memory resources 214. Other components that may be included with the computing device 210 include, for example, sensors such as accelerometer 230. In one implementation, the network resources 206 includes one or more modules for enabling wireless connectivity. The wireless modules may include radios or modems, as well as software or logic for enabling network ports and interfaces through use of the radios. The network resources can include, for example, a cellular data/voice interface to enable the device to receive and send network communications over a cellular transport, including communications to service 120 (see
In an embodiment, device 210 uses the geo-aware resources, shown in form of Global Positioning System (GPS) component 204, as well as network resources 206 to communicate with the service 120 or the respondents 130 (
In one embodiment, the processors 212 execute programming instructions 211 in order to auto-locate and transmit geo-location information to the service 120 or to the device of the other party in the transaction. This functionality (as provided by programming instructions 211) enables geo-aware communications 209 to be transmitted from the device. The geo-aware communications 209 may correspond to the customer's request for transport 112 (
The device 210 also includes geo-presentation resources 213, to enable mapping or similar presentations using geographic identification information. For example, maps can be stored and/or retrieved on the device to present the position of either party at a given moment. The on-device GPS unit 204 may provide GPS coordinates 205 to the processor, which then uses the geo-presentation resources 213 to present ‘real-time’ maps of the user's position. The processor 212 may also receive GPS coordinates 215 from over a network (via the network interface 206) and use geo-presentation resources 213 and the received GPS coordinates 215 to present the location of the other party at a given instance.
According to an embodiment, device 210 includes an accelerometer 230 that provides accelerometer information 232 to the processor 212. The accelerometer information 232 can be used by the processor 212 to determine metering information, particularly with regard to stop or waiting time. More specifically, an embodiment provides that the processor 212 uses the GPS data 205 and the accelerometer information 232 to determine (i) position information, such as pickup and drop-off locations and route information or distance traveled, and (ii) stop/wait time. When used by the customer, the processor 212 may perform the metering function to validate or confirm the fare. The driver/respondent may also use the information to determine the fare.
Dispatch, Driver Selection and Pickup
According to embodiments, dispatch component 320 implements a selection process that results in a driver being paired to a customer, who has made a request for transport. In an embodiment such as shown, the customer request is generated programmatically, such as by way of the customer operating a user interface of a handset to make the request.
On the server 300, customer interface 310 receives the transport request 312 from a given customer, and uses the dispatcher 320 to select a respondent for invitation 314. The transport request 312 may communicate a pickup location of the customer. The pickup location can be included in the transport request 312 manually (e.g. the user specifies an address for the pickup operating a handset), or automatically (e.g. based on the users known position via the GPS information communicated from his handset). As discussed below, position data 311 can be procured programmatically and automatically from the customer when the service is in use, based on the GPS information of the user's device. Similar position data 313 may be maintained for the driver when he is available for customer pickup, as well as when he is engaged to pick up and deliver a customer to a destination location. Once the transport is initiated, the position data 311, 313 may be used to determine a route taken, or intermediate positions between the pickup and drop-off locations.
The dispatch component 320 responds to the transport request 312 from the customer. In responding, the dispatch component 320 may identify relevant parameters, such as the pickup location (or the location of the customer), as well as profile information about the customer (e.g. customer rating, customer preferences etc.). In response to receiving the request 312, the dispatch component 320 may also identify the customer, and obtain profile information 353 from the profile database 350. More specifically, as mentioned in some embodiments, server 300 (as part of service 120
Thus, the profile information 353 may be stored in a database or similar data structure, and dispatch component 320 may query 351 the database for information about the customer, based on the identity identified from the request 312 or other customer communication 302.
In selecting the driver for a given customer, dispatch 320 includes information to identify the pickup location in the invitation 314 that is communicated to the one or more drivers. As discussed previously, multiple invitations 314 may be used to progressively select a driver respondent for the customer, using criteria that includes (i) proximity of the customer to the candidate respondent, (ii) rating or class association of the driver and/or the customer, (iii) user preference for a particular driver, driver or vehicle class, or other characteristic of the driver or transport; and/or (iv) alternative business logic (e.g. driver bidding process for the fare). In order to handle transport requests and make invitations, the server 300 may require use of geographic information resource (GIR) 326 that identifies, for example, proximity by distance or time of individual drivers to the requesting customer. The geographic information may also be used to identify the geographic location of individual parties based on their communicated GPS information. The geographic information resource may include maps or codes that enable locating parties from their GPS coordinates, as well as information needed for calculating time/distance separating the two parties. The dispatch component 320 may also identify profile information 353 about the individual drivers by, for example, querying 351 the database 350.
In one embodiment, dispatch component 320 sends out multiple invites 314 to multiple drivers, in response to transport request 312 communicated via customer device interface 310 (which may receive the customer communication 302). The invitations 314 may be sent in parallel (e.g. concurrently), or in series (sent to one driver, who can then accept or not, then sent to another driver). Each of the initially selected drivers is a candidate, selected based on parameters such as proximity, rating, preference etc. The candidate driver that is selected to handle the transport may communicate response 316, via the driver device interface 330 (which receives the driver communication 332). Dispatch 320 may then communicate (i) a notification 331 that informs the customer of the driver selection (including optionally, information about the driver, such as his picture, vehicle identification, rating, and current position); and (ii) updates 333 that convey information about the position of the driver en route to the pickup location and/or estimated time of arrival.
According to embodiments, once the customer is picked up, position data 311, 313 is obtained from the handsets of each of the customer and driver (via the respective device interfaces 310, 330). A customer tracking component 360 uses the position data 311 to track the customer by position and time. Similarly, the driver tracking could component 370 uses the position data 313 to track the driver by position and time. The GIR 326 can be used to place the user's position data 311 and the drivers position data 313 in context to mapping information and other geographic resources. The server 300 implements presentation component 352, 354 for the customer and the driver. The respective customer and driver tracking components 360, 370 communicate the position information of customer and driver to the presentation component 352, 354 for output to the user. The output of the respective presentation components 352, 354 may be a geographic output, such as one that would combine the position data 311, 313 of each of the customer and driver with mapping information. In one implementation, the geographic output 317, 319 is communicated to the customer and driver devices via the device interface 310 and 330, respectively. Thus, under one implementation, both customer and driver are able to view the progress of the fare after pickup.
The server 300 includes logic for facilitating payment between customer(s) and the relevant transport party for a particular fare. According to some embodiments, payment of the customers transport is performed automatically, or substantially automatically (i.e. with minimal user input, such as confirmation by the user that the fare is to be paid), in response to completion of the transport. Still further, some embodiments provide that the completion of the transport can be detected automatically, based on, for example, the position data 311 of the customer relative to the position data 313 of the driver. For example, if the customer leaves the transport vehicle and does not return to the vehicle after a set duration, a determination may be made that the transport has been completed. This determination may be made by, for example, customer and/or driver tracking component 360, 370.
As an alternative or addition, some embodiments provide that one or both parties to the transport can signify that the transport has been completed with some action, such as providing input via the handset. As another example, the customer can enter rating information for the driver, which then can be interpreted as signifying the completion of the transport.
The payment component 380 may receive payment location parameters 381 from one or both of the customer/driver tracking components 360, 370. The location payment parameters 381 may include (i) the pickup location of the customer, (ii) the drop-off location of the customer, (iii) the route or intermediate position of the vehicle between the customer pickup and drop-off locations, and/or (iv) the duration of the transport. Other location payment parameters may also be used by the payment component 380, such as whether toll fees were incurred (which can be determined from position data 311, 313 cross-referenced with information provided by GIR 326), and the type of the vehicle used (e.g. can be determined by the profile information 350 of the driver). Other parameters may also be used, including parameters on predicted or actual market demand, vehicle availability, time of day, rating of driver, type of vehicle, and quality of service (see description provided by
The payment component 380 may implement one or more algorithms to determine the fare for the transport, based on the location payment parameters 381 and/or other parameters or conditions (e.g. market demand, time of day etc.). Additional descriptions of how payment algorithms can be implemented are described with
Once the fare for the transport is determined, the payment component 380 may communicate an instruct 383 to account interface 340. The instruct 383 identifies the amount of the transport, the customer (or customers) that are to provide the amount, and the transport party that is to be credited for the fare.
In one implementation, the account interface 340 may be used to process and transfer funds from an online account of the customer to an online account of the transport service (provided by the server 300). In turn, the transport service may utilize one or more methodologies to compensate the relevant transport party. The relevant transport party can correspond to a business entity (e.g. company) that operates the vehicle, or which employs the driver. Alternatively, the relevant transport party may correspond to the driver, who can, in some variations of embodiments described, receive funds from the service. The transport service, may for example, compensate the transport party by (i) distributing a portion (e.g. 50%) of the compensation to the transport party; (ii) pooling funds from multiple transports of the transport party, then transferring the funds (which can represent a portion of the total funds received) to the transport party; (ii) compensating the transport party based on an alternative metric such as flat fee or hourly rate. Embodiments further recognize that many situations, the transport party corresponds to an entity that operates one or more vehicles (e.g. fleet), and is separate entity from the driver. In such embodiments, implementations provide that the transport party is compensated with one payment (for driver or operating entity) or multiple payments (separate payments for driver and operating entity). In still another variation, the transport service may delineate a tip portion of the payment of the customer, and compensate the driver separately for the tip portion.
Accordingly, account interface 340 is capable of interfacing with online transactional accounts on behalf of either the customer 310 or the transport party/respondent. As an alternative, the server 300 may maintain credit card information for customers and use that information to pay the transport party/driver.
According to some embodiments, when the fare is complete, server 300 automatically, without approval from the customer, pays the respondent. In this way, the respondents are encouraged to accept the transport requests, in that payment for services is assured. The customer may have the option to tip. Whether the customer tips or not may reflect back on the customer by the respondent's rating/feedback.
Some embodiments enable the participants of the transport service to provide feedback about one another based on their respective experiences. As mentioned elsewhere, one embodiment provides that each participant (customer and driver) can provide feedback that includes a rating or other quantative metric. Additionally, a user can provide qualitative statements, such as sentences or paragraph-formed commentary about his experience with the driver.
With reference to
In some embodiments, the rating interface 384, 388 is provided in part as a webpage or webform that the user can interact with to record information about the other participant in the transaction. Still further, the rating interface may be presented to the user upon completion of the transport, such as pushed (or accessible) to the user's handset (via web browser or app). Numerous alternatives and variations are possible in regard to enabling the participant (customer or driver) to enter rating and other feedback.
Other forms of feedback may also be collected in addition to, for example, overall ratings. For example, the transport service may prompt the customer to answer a series of yes or no questions as a means of evaluating the performance of a particular driver. The questions may ask, for example, whether the driver was courteous, whether the driver opened the door or assisted the customer in entering the vehicle, the manner in which the driver drove the vehicle, and the driver's response time. The user's questionnaire feedback may be recorded for the particular driver and/or the company or operator that provided the driver.
Once entered, the rating information can have a variety of uses. Rating information can influence, for example, the ability of a customer to pick up a driver when the pool of drivers is limited. A customer's rating may be based on factors such as whether the customer provided a decent tip, and was courteous. A “good tipper” can be identified from the rating information, and when the good tipper needs transport, available drivers are more likely to accept his fare. On the driver side, the rating information associated with a driver may reflect the driver's courtesy, driving manner etc. The transport service 300 may prioritize (or emphasize) selection of drivers with good ratings. For example, the invite 314 may first be sent to proximate drivers with highest ratings, then proximate drivers with middle tier ratings. Still further, some embodiments provide the user with the ability to reject the driver based on, for example, the driver's rating information.
As still another variation, the rating information may be used as a parameter in selecting one driver to be paired to a customer. In such an embodiment, customers may first be paired with drivers with similar ratings.
Log and Data Usage
Still further, embodiments enable collection and dissemination of data that can promote or facilitate transport services for both customers and drivers. A transport service such as described with
Other types of information that may be collected, disseminated or otherwise used includes (i) popular pickup locations (e.g. to assist transport providers as to locations to patrol or be near for pickups), (ii) popular destinations, (iii) estimated travel times through to a given destination, or through a particular part of a city (e.g. to estimate traffic). Thus, the collection and dissemination/use of this and other information may be collected to provide additional services, or to enhance transport providers in providing service.
With reference to
From the recorded information, various kinds of analysis can be performed. An analysis component 390 may analyze information from the log 394 to identify information for users (customers and drivers) of the transport service, as well as to direct users who may research based on information recorded by the transport service. The analysis component 390 may provide output to users on, for example, a website.
According to some embodiments such as described with
As another example, web users can utilize the site to identify traffic spots or best routes by identifying routes taken by drivers of the transport service, as well as their actual transport time (versus expected or average).
Numerous other applications for such data exist. For example, common pickup locations may be analyzed by time, date or event to facilitate taxi services in knowing where to locate themselves in their off time. Similar information can identify information relevant to other business or social settings of a city. For example, hotel occupancy can be estimated by identifying the number of drop-offs at hotels.
Historical information may also be utilized to predict likely transport request times and locations. For example, the most common pickup times in a given region of a city at a particular time of year can be determined.
Customers may subscribe to participate in a transport service such as described with
In this environment, participants (customers and transport providing parties) are associated with accounts (410). In the case of the customers, the accounts include funds that can be used for transfer to a driver. For example, the customer may make payments through a specific transport service account that is managed by the transport service entity. The payments may be made, for example, in advance, periodically, or when prompted (such as by the transport service in response to the customer receiving the transport). The transport service (such as implemented on the server(s) 300) may have authority to automate transfer of funds from an account of the customer that is not under the control of the transport service (e.g. checking account, credit card account, PAYPAL account).
As provided with other embodiments, the relevant transport party that is to receive compensation from the fare (directly from the service) can, depending on the implementation and the payment methodology, correspond to (i) the fleet or vehicle operator (e.g. limousine company or entity), and/or (ii) the driver. The transport party may establish or associate an account to receive funds from the transport service and/or account of the customer. Each account may also be associated with profile information of the respective participant, including the identity of the participant.
The transport service determines when the customer is being provided transport by driver (420). This determination may be made based on factors that include the customer requesting pickup, and a transport service selecting a particular driver. However, embodiments further recognize that not all transport requests may end up as fares. Thus, embodiments include the ability to auto detect when the customer and driver have actually initiated the transport (422). Such detection can be implemented in one of many possible ways. For example, the position of the transport providing vehicle and customer can be compared over duration of time while the two are moving, and if they are at the same position, the significance is that they are determined to be in the same vehicle. As an alternative or addition, accelerometers incorporated into the handsets of the customer and/or driver may detect linear motion, such as provided by motion of a vehicle. This information can also be used to detect a fare pickup, or to confirm as such. As an alternative or addition, customer input (424) or driver input (426) may be used to determine when the fare has started.
In addition to detecting the pickup, one or more embodiments detect the completion of the transport (430). Similar to pick up, this determination may be made automatically (432), or by way of input from either the customer (434) or the driver (436). Automatic detection of the transport completion can be made by comparing relative position data 311, 313 (e.g. as determined from GPS of devices) of the customer and transport vehicle, respectively. For example, if the position data 311, 313 indicates that the customer and transport vehicle have separated in position, and a designated duration of time has passed by which the customer does not return to proximity of the transport vehicle, then a determination may be made that the fare is complete.
As still another variation, once the fare pickup is detected as being present, a wireless signal (e.g. Bluetooth detection and/or pairing) may be used to determine that the two devices are in very close proximity to each other (e.g. front seat and backseat of vehicle). The completion of the transport may correspond to such wireless signal indicating the two devices have separated.
As mentioned with pickup, manual input may also be used, such as by the customer (434) or the transport party (436). For example, one party may have lost battery life, in which case manual input from the other party is needed to signify end of transport.
Once the transport is complete, the location payment parameters for the fare are determined (440). The location payment parameters can include, but are not limited to, the customer pickup location (442), the customer drop-off location (444), route information (or intermediate positions between the pickup and drop-off locations) (446), and/or the duration of the transport (448). Other location parameters can include the type of vehicle used (e.g. sedan versus stretch limo), presence of tolls or other costs, and even the transport route that is used.
As an addition or alternative to use of location payment parameters, some embodiments determine the fare price using alternative parameters (450). The alternative parameters include market condition parameters (452). Market condition parameters may correspond to metrics that estimate or predict availability and demand for transport at a particular duration corresponding to when the customer requests transport. In one implementation, the demand may be based on (i) determining the pool of candidate parties or respondents that are in service in the particular duration, and (ii) determining the number of drivers that are engaged by customers at the given duration. For example, during peak hours, the number of transport providing vehicles may be a maximum. Rates for transport services may be higher or at peak than low demand hours. Still further, the fare value may weight or prioritize demand for transport independently. For example, when demand is at peak, rates for transport services may be higher.
Demand can be determined from real-time information maintained by the transport serve. For example, the log 394 may at a given instance identify the number of available vehicles, and the number of transports that are engaged or in service. As an alternative or addition, the demand may be predicted from historical analysis, such as estimations of demand during particular hours of weekdays, weekends, or holidays.
As a variation or alternative to market parameters, desirability parameters may be used to determine the fare value (454). Desirability parameters may correspond to the type of vehicle or transport provided. For example, the luxury limousines may result in a higher fare value than non-luxury sedans. The desirability of the transport may also include parameter such as whether ride sharing is permitted, whether on-board entertainment or amenities or provided etc. Desirability parameters may also correspond to rating parameters of the transporting party (either the company or driver). Such rating parameters may designate higher ratings for transport providing parties (or drivers) that have higher ratings. The fare value may also be affected by the customer rating. For example, customers may have higher ratings or class designations (e.g. VIPs), and with such designation, the fare for that customer may be reduced.
As another variation, some embodiments may base the fare value on transport evaluation parameters. The transport service may evaluate the quality and kind of the transport that the customer received from the driver. The evaluation may be based on criteria such as (i) the response time of the driver to arrive at the pickup location, (ii) the transport time, (iii) whether the driver elected the fastest or best route to the drop-off location. Other considerations include whether amenities were provided to the customer (or whether the customer actual used the amenities), as well as feedback by the customer as to specifics of the transport (e.g. the driver was courteous, opened the door, the car was clean, the driver obeyed driving laws etc.).
Other parameters may also be used to determine the fare value. Such other parameters may include bids that the transport service receives from the transport providing parties for fares at select locations, times or for particular drivers or vehicles.
From the payment parameters, the fare for the transport is calculated and transferred from customer to driver (460). In one embodiment, the fare is calculated and accessed from the customer account, in response to a determination that the transport is complete. Alternatively, the transfer of the fare may be performed substantially automatically, such as by way of prompting the customer and/or driver to perform some action or otherwise provide confirmation upon determining that the transport has been completed.
As mentioned with other embodiments, various methodologies may be used to distribute funds from the customer to the various entities that are involved in providing the transport to the customer. In one embodiment, the transport service collects the funds and distributes funds to the pertinent transport parties periodically, or responsively, after one or more fares are collected. The sum total of the fares that are distributed to the transport party may represent a portion of the total received. As an alternative, the funds (or portion thereof) collected from the customer can be transferred directly to the transport party. In the context provided, the transport party may correspond to the operator or company that provides the drivers. Thus, the drivers may be compensated by separate arrangements with the operator or company that provides the transport (e.g. their employers). Still as another variation, some funds may be distributed from the transport service to the drivers separate from the companies that employ the drivers (e.g. the tip portion). Numerous variations are possible for distributing funds collected from customers, depending on considerations for distributing collected funds from the customer.
With reference to embodiments described above, the parameters used to determine the fare value may include numerous variations. In one embodiment, the fare value may be based on the route of the transport, as defined by the customer pickup location, the customer drop-off location and intermediate points there between. In another embodiment, the general geographic locality where the transport service operates (e.g. a city) may be ‘fenced’ geographically into multiple pre-defined regions. The fare value from one fenced region to another may be pre-determined. Thus, only the pickup and drop-off locations may be used to determine the fare value. In addition to location parameters, other parameters set by market conditions, desirability of other parameters may influence the fare value (e.g. adjust it up or down), or even provide the primary factor for determining the fare value.
With reference to an embodiment of
Alternatively, the assumption may be a parameter that is weighted against other parameters, such as whether the individuals entered the vehicle at the same time, whether they have shared rides in the past or whether they are dropped off at the same location. As another variation or alternative, the fee splitting may be implemented after individuals in the transport perform a designated action. This designated action can correspond to the individuals responding to a prompt delivered to their respective handsets. As an alternative, the users may “bump” devices. Bumping can trigger an accelerometer to register the event, and the event can signify some action like fee splitting. Numerous actions can be performed to enable the transport service to infer fee splitting is in place.
Once the transport is partially complete (some but not all of the customers are dropped off) or fully complete (all of the customers are dropped off), the payment parameters for the fare of each customer can be determined (520). The payment parameters may be customer-specific (524) and/or collective (528) for the fare, depending on the algorithm that is implemented. Customer-specific payment parameters include (i) pickup-location of each customer (if different), (ii) drop-off location of each customer (if different), and/or (iii) ride duration of each customer between their respective pickup and drop-off locations. Collective ride parameters include the starting point (first pickup) of the transport and the finishing point (the last drop-off), as well as the total distance and/or time of the transport from start to finish.
The portion of the fee is calculated for each customer based on the determined payment parameters (530). The particular payment parameters, weighting and/or other factors used in determining the proportioning amongst the customers can be a matter of implementation.
According to some embodiments, the fare portion attributable to each customer is then withdrawn from each user's associated online account and transferred to an account of the transport service, or the transport party (depending on the implementation). The payment transfer may be performed automatically, substantially automatically (e.g. prompt user to confirm payment) or manually. For example, in some cases, the user may have to pay cash or by credit.
Embodiments recognize that utilizing mobile devices with geo-aware resources and communicative capabilities to arrange transports enable significant data collection and usages. A transport service such as described with
Other information may also be recorded from, for example, by monitoring vehicles available for transport, and/or transports in progress (630). For example, the location of available vehicles may be determined, as well as the duration of transport between locations.
The recorded information is processed (640). In real-time applications, the information current information at a given instance is extracted from the log and processed in accordance with a particular application. One application includes presenting geographic information about popular customer pickup and/or drop-off locations. For example, a map may be generated that identifies the location of or popular recent customer pickups, recent or popular customer drop-offs, current location of available transport vehicles, predicted response times, and predicted areas of traffic congestion.
As another application, historical information from the log 394 may be used to predict demands for transport during given time spans (e.g. weeknights, weekends, between 2-4 pm on Thursdays etc.). The historical information may include customer pickup locations, pickup times, customer drop-off locations and/or drop-off times. This information may be processed to determine predicted demands for transport at given locations and times.
The processed information is then communicated or published to third-parties (650). For example, the transport service may publish the processed information on, for example, a website that is available to customers and transport provides. Alternatively, the information may be published through applications that execute on user devices. As still another example, the information may be generated in the form of reports that are emailed or otherwise communicated to parties (e.g. transport providing parties) directly. Numerous other variations are possible.
Although illustrative embodiments have been described in detail herein with reference to the accompanying drawings, variations to specific embodiments and details are encompassed by this disclosure. It is intended that the scope of the invention is defined by the following claims and their equivalents. Furthermore, it is contemplated that a particular feature described, either individually or as part of an embodiment, can be combined with other individually described features, or parts of other embodiments. Thus, absence of describing combinations should not preclude the inventor(s) from claiming rights to such combinations.
1. A computing system, comprising:
- one or more network interfaces;
- one or more processors; and
- one or more memory resources storing instructions that, when executed by the one or more processors, cause the computing system to: communicate, over a network using the one or more network interfaces, with a plurality of mobile computing devices of customers to receive location information from the plurality of mobile computing devices of customers; based on location information received from a set of mobile computing devices of the plurality of mobile computing devices of customers over a duration of time, determine a set of popular pickup locations in a given geographic region; determine a current location of a first mobile computing device of a first customer based on location data determined by a customer application executing on the first mobile computing device, the customer application determining the location data by using a location-aware resource of the first mobile computing device; cause the customer application executing on the first mobile computing device to generate a presentation that includes a map that indicates one or more popular pickup locations of the set of popular pickup locations; receive, over the network using the one or more network interfaces, a transport request from the first mobile computing device, the transport request including a pickup location of the first customer and a destination location of the first customer, wherein the pickup location of the first customer corresponds to a popular pickup location of the one or more popular pickup locations; after receiving the transport request, select an available driver from a plurality of available drivers to transport the first customer based, at least in part, on a current location of a mobile computing device of the selected driver, the current location determined based on location data determined by a driver application executing on the mobile computing device of the selected driver; monitor the selected driver traveling to the pickup location of the first customer by receiving location information of the mobile computing device of the available driver, as determined by the driver application executing on the mobile computing device of the selected driver; and based on monitoring the selected driver, transmitting, over the network using the one or more network interfaces, data to the customer application executing on the first mobile computing device to update an estimated time of arrival of the selected driver to the pickup location of the first customer.