GB2471258A - System for matching users with service providers - Google Patents
System for matching users with service providers Download PDFInfo
- Publication number
- GB2471258A GB2471258A GB0814958A GB0814958A GB2471258A GB 2471258 A GB2471258 A GB 2471258A GB 0814958 A GB0814958 A GB 0814958A GB 0814958 A GB0814958 A GB 0814958A GB 2471258 A GB2471258 A GB 2471258A
- Authority
- GB
- United Kingdom
- Prior art keywords
- service provider
- service
- list
- request
- user
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Finance (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Telephonic Communication Services (AREA)
Abstract
A method for matching users with service providers comprises receiving (S101) a request for a service from a user comprising at least one attribute specifying the nature of a specified service (e.g. restaurants); compiling (S103) a list of service providers from a plurality of service providers; sending (S104) the list to an electronic means such as a mobile telephone (WAP, Java application), or a personal computer (web browser); receiving an edited list from the electronic means; contacting (S106), by a telephony application, at least one service provider on the edited list to refer the request; determining if a contacted service provider accepts a referral of the request; and if so, sending (S108), by a telephony application, a confirmation message to the user indicating that the contacted service provider accepts the referral. The user may edit (S105) the list, optionally by changing the order of service providers in the list or to preclude service providers from whom the user does not wish to receive a service.
Description
Optimised communications system and method for matching users with service providers The present invention relates to an optimised communications system that 5connects a user requiring a service and service providers capable of offering that service and who normally offer services using voice telephony on the public switched telephone network (PSTN) by' using an efficient automated matching system.
At present, a user can have a set of requirements for a service that can be lOmet by several service providers in a geographical area, such as a table for 4 people in a local restaurant at a specific time. It is currently the responsibility of the user to locate contact details for said service providers, either through an automated or manual directory service and then contact the service provider directly in order to agree availability and terms for the service. .This can be time l5consuming and costly as several communications calls may need to be made and it may be made more difficult should it be inconvenient for the user to record the telephone numbers of the service providers. In addition, the service provider may receive and have to service many calls requesting the same service from different users, even t,hough they have already indicated to previous users that 2Othey are unable to service similar requests. Thus since the ability of service providers to offer a service changes constantly with respect to their availability, the difficulty of matching a user's requirements is complex and can result in many wasted calls being made by users and received by service providers.
Additionally, although automated request matching systems are known; 25US2004254929 describing one such system, the possibility of achieving a match in such automated matching systems is restricted by the need for the user to specify precise attributes for the service to enable the service provider to agree whether to accept the request, thus potentially further increasing the number of calls made on behalf of the user and requiring to be handled by the service 3Oproviders in order to satisfy the request, as the service provider is not able to suggest alternative attributes. Furthermore, since the means of contacting the service provider in many applications is using voice telephony on the public switched telephone network and service providers are not available at all times to handle requests and the normal use of the service providers telephone will
I
additionally from time to time render it unable to accept an automated call, then the use of an automated matching system can further result in many more calls being placed on the communications network. Thus it can be seen that matching a user's request with a service provider who can service the request, particularly 5using an automated matching and calling system, can result in many more communications calls being placed on the communications system.
An aim of the present invention is to provide an optimised communications system and method such that a single request can be initiated by a user that starts an efficient automated process of searching for suitable lOservice providers and using this single request with the requests of other users to create an active database of service providers to produce a list of service providers who are likely to be able to offer the service and transmitting this list to the user for confirmation to proceed. After confirmation by the user that the list of suitable service providers is acceptable or accepting modifications to the list from 1 5the user, then contacting the service providers in a preferred order, determined in part by the probability of them being able to fulfil the user's request, the probability being determined from the previous results of other users' similar requests, and then reporting back to the user, if the service provider has accepted the request, confirmation of the acceptance of the request. Another 20object of the invention is to enable the service provider to vary the attributes of the requested service, within limits agreed by the user, in order to maximise the possibility of being able to service the user's request and then to report back to the user the agreement to provide the service on the varied terms. A further object of the invention is to minimise the number of calls placed on the 25communications system, that is the public switched telephone system, by utilising an Adaptive Call Scheduler which places the calls onto the public switched telephone system taking account of the stated availability of the multiple service providers to answer voice calls and their normal use of the telephone system which will from time to time render them unable to receive calls.
According to the present invention there is provided a method for matching a user with one of a plurality of service providers, each service provider being identifiable by a set of attributes, the method comprising the steps of: (a) receiving, from the user, a request submitted via electronic means, the request comprising at least one attribute specifying the nature of the requested 3 5service; (b) automatically selecting, from an active database of a plurality of service providers, a list of one or more service providers having an attribute that matches at least one attribute contained within the request; (c) providing to the user this list of service providers in the order most 5closely matching the attributes included in their request, determined in part on *the probability of them being able to fulfil the user's request, the probability being determined by analysis of the previous results of other users' similar requests; (d) accepting from the user a revised list which may have changed priorities or preclude service providers that the user does not wish to request lOservice from; (e) contacting the selected service providers on the revised list in order by an automated voice telephony system which uses an Adaptive Call SchedUler to relay the request in an efficient manner which may possibly change the order that the service providers are contacted in; (f) determining if the selected service provider will accept the request on the basis of the attributes specified or within limits agreed by the user, and if the selected service provider accepts the request, (g) confirming back to the user via electronic means the details of the confirmed request; wherein the user submits the request by electronic means using a computer or mobile application..
The method requires only a single request (a) to be initiated by the user and that starts an automated process of searching for suitable service providers contained within an active database of providers and providing to the user an 25ordered list of suitable providers for review, preferably along with additional information to allow them to revise the list by changing the priority of or removing unwanted service providers. For example such additional information might include distance from a requested location or likely availability at specified times.
The search is tailored to the user's preferences giving much better 30matches to service providers and services and once the user has confirmed agreement to the list of the one or more willing service providers, the system will contact the providers in the list and attempt to secure provision of the service.
Upon receiving an acceptance from one of the service providers of an offer to provide the service, the system will then send a confirmation message by 35electronic means to the user giving details of the provider such as an address and a contact telephone number or directions to the establishment. Anonymity of the user is preserved by the system until the service provider has accepted the request, as it is the system that has contacted the service provider.
The use of an automated voice communication system is preferred as 5many service providers use the public switched telephone network as the primary means of accepting requests for the provision of services and do not generally use other electronic means of communication for this purpose.
Preferably, the electronic means for initiating the request is configured to prompt the user to provide the at least one attribute.
The at least one attribute may include for example the geographical location of the requested service, the typical cost of the service, other users' feedback on the quality of service and the requesting user's previous feedback of the service providers.
The electronic means of initiating the request may for example come from 1 5a personal computer via a web browser or from a mobile device. In the case of a mobile device, this might for example be through: A mobile Java (RTM) J2ME application; A WAP application or mobile web page; A Symbian (RTM) operating system or a Microsoft (RTM) Smartphone 2ooperating system application; The user requests may be received over a HTTP communications protocol.
The user requests may be received over a WAP communications protocol.
Preferably, a user is a registered user, to enable the system to confirm to the service provider, reliable details of the user if the service request is accepted, such as the surname and mobile telephone number, the user being registered by the steps of: submitting details of the user over an internet web browser, a computer 3oapplication, a WAP browser, a telephone, or by means of an SMS message.
The user may submit a request comprising a plurality of attributes, and step (b) comprises: weighting each attribute and selecting the service providers on the basis of the weighted attributes.
The user may submit a request comprising a plurality of attributes, and step (b) may comprise: selecting the service providers on the basis of a binary method of matching. In this case, attributes such as "Poor Feedback", "Average Feedback" 5and "Good Feedback", for example, each exist as separate binary values in place of a single "Feedback" variable that can have three possible values. A Request would match to one or more of these binary attributes.
According to a further aspect of the present invention there is provided a system for matching a user with one of a plurality of service providers, each lOservice provider being identifiable by a set of attributes, the system comprising: a request application for receiving, from the user, a request submitted via electronic means, the request comprising at least one attribute specifying the nature of the requested service: a search application for automatically selecting, from the plurality of l5service providers, a list of.one or more service providers having an attribute that matches at least one attribute contained within the request; providing to the user a list of service providers in the order most closely matching the attributes included in their request to enable the user to further refine the list; a telephony application which uses an Adaptive Call Scheduler for contacting the selected service providers to relay the request in an efficient manner; means for determining if the selected service provider will accept the request on the basis of the attributes specified by the user or to vary these within 25limits agreed by the user, and if the selected service provider accepts the request, the telephony application provides identification details of the user to the service provider and initiates an electronic response to the user; wherein the user submits the request by electronic means such as a 30personal computer or a mobile device An example of the present invention will now be described with reference to the accompanying drawings in which: Figure 1 shows an example of the system used to implement the 35invention.
Figure 2 shows a flow chart describing the process of making a request to receiving a response from a high level perspective of the whole system.
Figure 3 shows a flow chart describing the processing of a request by the Adaptive Call Scheduler.
Figure 4 shows a block diagram of the architecture of the system.
Figure 5 shows a flow chart describing the procesing of a cancellation of a previously accepted request by the Adaptive Call Scheduler.
Figure 1 shows a user's telephone handset 1 which is in communication with a server or cluster, of servers 2 by a traditional telephone network 5, 6. A lOservice provider or merchant is connected to the system through a telephone 4, A Public Service Switched Telephone Network (PSTN) 5 connects the user's handset 1, the servers 2 and the service provider's telephone 4.
Figure 2 shows the operation of the system described in relation to making a reservatjon at a restaurant using a mobile telephone handset.
l5However the invention is not limited to this particular example of making a restaurant reservation using a mobile telephone handset and could for example also be initiated by using a personal computer or other electronic means. For instance, the invention can also be used in relation to booking a hotel room or an airline flight or other services where the means of agreeing to accept a service is 20a human operator using a voice telephony system such as the public switched telephone network.
The user's mobile telephone handset I is used to initiate a request at S100.
A request consists of: * a unique identifier that identifies the user, such as the user's telephone number.
* minimum search criteria such as the request type, request specific data and a geographical location for the requested service. For instance the request minimum search criteria may be "table for four people in a restaurant in London at 8 PM".
* an additional optional identifier selecting one of the user's personal search profiles. The minimum search criteria may be augmented by additional, more general search criteria stored in the selected personal profile on a server 2. The user's personal search profile will be described later.
* The data contained in the request is referred to as "attributes" which specify the nature of the request.
The request is received by the server 2 at SlOl, being sent by means of the Public Switched Telephone Network 5 or over the Internet from a Mobile 5Network Operator's data Gateway such as is presently used for interfacing GPRS enabled mobile handsets to the Internet. AtS1O2, the server 2 retrieves search preferences for the user, based on the user's unique identifier. For instance, a search preference may be for Italian food. This generates a compound search specification based on the minimum search criteria and the additional identifier.
At S103 the compound search specification is then used to search an active database in the server 2 of previously registered service providers for those service providers who are potentially capable of supplying the requested service. Each service provider will have previously been entered into the system and will be identifiable by a set of attributes such as the food type they offer, the l5times they are open and are available to take bookings and the price range they fall in. This data forms part of the database and does not normally change.
However in addition, the active database contains information on the service providers which is gathered in real time from the results of other user's requests which contained similar attribute values that are used to determine the probability 2Oof the service provider to accept the request. For example if a service provider has previously indicated they were unable to accept a request for service for a similar number of people at a similar time, then the system may assume that they are unlikely to accept the request and therefore will allocate them a lower priority in the list or remove them. Furthermore if the user has indicated that they are 25willing to accept some.flexibilityin the value of an attribute, such as the time, then the system for will additionally prioritise the list of service providers taking this into account and may preferably communicate this back to the user as additional information in the list to better enable them to refine the returned search list. For example, if a service provider has previously indicated they were unable to 3oaccept a similar request at the user's preferred time, but the user has specified a range of times they may be willing to accept, the service provider may be included in the list as if there was no time limitation but with an indication of possible availability at a different time.
The search of suitable service providers is performed using a combination 35of the minimum search criteria supplied within the initial request, such as the number of covers, time and date if a request were for a table reservation at a restaurant for example, the search information stored previously within the user's personal search profile and the changeable information stored in the active database. These search profiles may be selected by the user at request initiation 5time, or selected automatically by the system depending on the geographical location requested. For example, a user may have one profile for personal use that indicates a certain service cost group and a further profile for business use that specifies certain service providers with corporate discounts. Some request * attributes, for example geographical location, will be treated as mandatory lOhowever and service providers who cannot meet these requirements will not * appear on a result list for a search regardless of their score on other attributes.
All service providers may have a user feedback score recorded against them, compiled by surveying previous users of that service provider through the * service. The feedback score may be elicited from the user thrOugh a web page l5or an e-mail sent to the user. If a particular user has rated a service provider * poorly in the past, even though the service provider's user feedback score is high overall, this will count heavily against the service provider for that particular user so that users are not referred back to service providers that they are unlikely to * accept service from. For each referral that both the service provider and user 2Oaccept, a default feedback score may be given to the service provider which can be modified if the user responds to the survey. This mechanism can be used to provide a weighting to the user feedback as many users will not provide feedback.
One or more potential service providers may be compiled in a list if the 25attributes in the request and those attributes that identify the service provider match. At S104 the system determines if a list has been compiled and if so, the list is returned to the user in order of the score assigned by the search engine.
If there are no service providers that are capable of supplying the request, no results will be compiled in a list. If it is determined at S104 that there are no 3Oresults in the list, the user is informed and they may attempt a further request initiation back at 3100 using different attributes.
The user browses the list of service providers returned on their handset and deselects any service providers whom the user doesn't wish the system to * offer the request to and then resubmits the list at S105.
One of the service providers on the returned, edited list is selected by the Adaptive Call Scheduler (described later) and dialled at S106 through the telephone network 6 using contact details stored in the database record * associated with the service provider.
If the service provider answers the call within a specified amount of time, they are connected to an automated telephone menu hosted on server 2 that plays them a message indicating that a user has requested a service that they are registered as offering and plays the service provider the minimum search criteria entered by the user within the request. The service provider can then lOchoose to accept or decline the referral using the telephone keypad. For instance the message may say "we have a request from a user for a table for four people at 8 PM tonight, press I to accept, press 2 to accept between 7:30 PM and 8:30 PM, or press 3 to reject.
At S107 the server 2 determines if the service provider has accepted the l5request. * The system determines at S107 if button 3 was pressed by the service provider and if so the system plays an automated "thank you" message to the service provider, removes the service provider from the compiled list and hangs up the connection, retaining knowledge that the service provider was unable to* provide the service for that time period and the minimum search criteria and 2ousing this information to prevent similar requests from future users being forwarded to the service provider. It then, proceeds to dial another service provider on the search result list at S106. Alternatively the system determines at Sb)" if button 2 was pressed by the service provider and if so the system plays an automated message containing a list of time slots and associated key presses 25to select one of them.
If the service provider has pressed I to choose to accept the referral, the service provider is played a message containing the name and contact details of the user to complete the booking.
* The system then sends an electronic message to the user for example via 3Oan SMS or email at S108 indicating that a suitable service provider has been * selected. The message identifies the service provider and a summary of the booking and preferably additional details to assist the user to locate or contact the restaurant.
The process described in Figure 2 will now be described in more detail with reference to the system architecture shown in Figure 4. Figure 4 shows the components that are included in the system's architecture, each of which will be described.
Mobile Handset 1 The Mobile Handset I is the means by which the user can initiate a service request at S100. Its integrated web browser provides a simple user interface using web pages served from the HTTP/web server 11 for the user to select the geographical location of the service they require, choose a type of lOservice and enter some minimum attributes that correspond to that service, such as the time at which they require the service, the type of food they desire and preferred price range.
The Mobile Handset I may also be able to display specific marketing messages for service providers that may be of interest to the user.
In this example, the user interface that Mobile Handset 1 displays is written in XHTML, part of the WAP browser specification. It uses the HTTP communications protocol over the air to communicate requests to the user request application 3. A user can navigate through their browser by using the handset's I pointer device such as joystick or keypad. The default service 20options are stored on the server and not on the users device. For instance, initially presented service options can change according to the user's personal search profile that is stored in a database 10 so that, if for instance they choose not to be offered Italian Restaurants, then an Italian Restaurants option on the Mobile Handset 1 may not be shown.
The telephone number given by the user during registration is used to authenticate the user so that any request that is initiated can incorporate this unique identifier for look up from the database 10 through the user request application 3.
The initial request created at S100 is created on the handset 1 through a 30browser application running on the handset, capable of displaying WAP but also through one of a number of possible alternatives. These alternatives include for example the use of an Internet Web page or a Java application on the user's device 1, or an SMS message where content is written either manually by the user or automatically through a custom application loaded onto the user's device.
User Registration Application 5 Prior to a user creating a request at S100, the user needs to register with the system through a User Registration Application 5. The User Registration Application 5 is initiated by the user when they send an SMS to an external third party SMS gateway 2 associated with.a known telephone number and keyword 5that identifies the system. This SMS gateway 2 sends an HTTP message to the system containing details of the sent SMS including data such as the originating mobile telephone number and the reverse billing identifier which may be further used to send SMS messages back to the user. The system creates a representation of the user in the user database 10 and returns an SMS inviting lOthe user to log in to the system's main web page. The web page contains a form allowing the user to enter their telephone number as a means of uniquely identifying the user and the system, detecting that the user has not previously logged in before, directs the user to a further form requesting the user to provide additional details such as their surname and postcode.
Details about each user and each of the service providers are stored in a user database 10 and a service provider database 9, respectively.
The databases 9 and 10 will hold information such as each user's personal details, the user's personal search profile, the service provider's personal details and the service provider's service attributes.
User Reciuest ADplication 3 The User Request Application 3 on server 11 handles a request for a service submitted by the user's handset 1 at S100. The request may be submitted through either the web based Mobile Handset 1 or through an automated voice menu. The User Request Application 3 packages the request 25into a copimon format regardless of the source and is responsible for forwarding the request on to the Search Engine Application 4. The requests from the Mobile Handset 1 may be received at the User Request Application 3 as HTTP POST messages.
Search Engine Application 4 A Search Engine Application 4 on server 2 accepts all of the requests from the User Request Application 3. It uses the attributes specified in the request and any user preferences stored in the user database 10 to compile a list of service providers whose information is stored in the service provider database 9, as is represented by S103. ii
The service providers are initially selected by absolute attributes such as geographical location and. food type. The selected service providers are then scored against all of the attributes specified, by the user. The scores for each attribute may be weighted to have different priorities as determined by the user's 5prOfile stored in the user database 10 and by the importance of the attributes.
For example, the preferred price band attribute may have a lower weighting than a user's feedback attribute. The total score for a particular service provider determines their position in the search listings and subsequently the order in which they are presented to the user. Once the list has been sorted by score, l0each service provider is examined and the times at which they are contactable is used in order to group the service providers into dial groups which represent a collection of service providers who are contactable within a time period of each other, perhaps an hour for example. In this way, the list is sorted primarily by dial group and then within the dial group, again by score.
This list is then returned to the user's Mobile Handset I at S104 to allow them to change priority of or remove service providers to create a final list which is then returned at S105 to the Adaptive Call Scheduler 6.
Telephony Application Server 12 A Telephony Application Server 12 is responsible for the scheduling and 2Oinitiating of calls, playing and processing of various voice telephone prompts and rescheduling of calls where necessitated by the response of the service provider or telephone network conditions. Description of Telephony Application Server 12 will refer to Figure 3 when describing the Adaptive Call Scheduler 6.
It is obvious that an automated telephony system which is required to 25make calls on behalf of multiple users to multiple service providers must handle the sequencing of calls in an ordered manner, particularly since users' requests maybe made during periods when service providers are not available to answer.
calls and when, even during periods when they are able to take calls, the telephone may be in use and the call will fail. Automated dialling systems have 3Obeen in existence for some time that have dealt with some of these difficulties.
However, in a request matching system, where it is desirable to utilise the information obtained from other users' requests in processing a particular user's request to optimise the communications network system usage, there are additional complications. In the present invention, these difficulties are overcome 35by using an Adaptive Call Scheduler 6. 12.
Tracing the path of a request after a user has received the list of matching service providers and submitted a final edited version of the list back to the system at S105, the Adaptive Call Scheduler 6 receives the request at D100.
The Adaptive Call Scheduler 6 then examines the highest scoring service 5provider in the dial group containing service providers that can be contacted the soonest, in the request at DiOl to discover whether, between the time that the list was originally compiled to be sent to the user and the present time, any other users' requests have resulted in the service provider indicating an unavailable period for similar requests. Unavailable periods, given that a service provider lOmay be offered a range of times to fulfil the service, may cumulatively result in the service provider being unable to fulfil any time specified in the user's request, in which case, the service provider is not dialled as it is assumed they will reject this similar request. To calculate this, the time period that the user has specified, or the single time if they have chosen not to allow a range of times, is mapped 1 5into a map of sequential time slots each representing a period of time of length consistent with the normal booking procedures of a typical service provider providing that service. Each unavailable period associated with the service provider is then compared to each individual time slot to identify whether or not it encompasses it. If it does, this time slot is removed from the time slot map so 20that when all unavailable periods have been compared, any remaining time slots indicate that the service provider may still have availability and therefore can be called. If there are no time slots remaining in the map, then the service provider is not dialled and the next highest scoring service provider within the same dial group is selected. If there are no remaining service providers in the same dial 25group, the next dial group containing service providers that can be dialled is examined and the process DiOl is repeated.
If there are no service providers remaining in the list, the request has been unfulfilled and the user is informed at D105 by means of an electronic communication such as an e-mail, SMS or automated telephone call.
The Search Engine Application 4 has previously sorted the list of service providers, primarily by dial group and secondarily by the weighted request attribute score. Therefore the list contains dial groups of service providers that will accept calls within a relatively short period of time (for example 30 minutes or an hour) of each other however, some of the lower scoring service providers may 35stop accepting calls before some of the higher scoring providers will start accepting calls. In order to ensure that the request has the highest probability of at least one of the service providers accepting the request, it is desirable that more service providers rather than fewer are contacted. Therefore, although a service provider has the highest score of other service providers within the same 5dial group, the other service providers are examined at D102 to discover whether they will still be accepting calls within the operating time period that the highest scoring service provider is to be contacted within. If it is discovered that they are not and they must be contacted before the start of the highest scoring service provider's operating period, then they are selected over the highest scoring lOservice provider to be called next.
Once the next service provider is selected, the times that they will accept calls are examined at b103 to determine the earliest possible opportunity that they can be contacted. This may be as short as a few seconds, if the service provider is accepting calls at the present time, or it may be more than a day in 1 5the future at the next operating time of the service provider. In both cases a next call timer is set to expire at that next available time that a call will be accepted by the service provider.
When the next call timer created at D103 expires, the timeout handler at D104 finds the request that created it and places the call that is to be made on a 2Oqueue. The queue attempts to place a token representing the service provider who is to be called into a map, however if the token already exists within the map indicating that a different user's request is also waiting to contact the same service provider, then the user's request is put into another queue awaiting that service provider's token to be freed by the ending of the other request's call to 25the service provider. There may be more than one request waiting for the token and so when the request that owns the token has finished the call to the service provider, the next queued request takes the token and is removed from the queue of requests awaiting the token on a first in first out basis. This ensures that, as the service provider is likely to have only one incoming telephone line 3Oand wouldn't wish more than one line to be taken up servicing user requests, only one call is made to a service provider at any one time. This also prevents telephony resources within the system from simultaneously making calls that are * going to result in a busy tone from the public switched telephone system.
A second, periodic, timer which continually expires after a set period of * 35time is known as the housekeeping timer. This housekeeping timer expires at 0106 which causes the system to determine from its known telephony capacity and the number of known calls in progress, whether there is any spare capacity and where that spare capacity is, if it is distributed amongst different physical hardware. If there is spare capacity, the call queue is examined to determine 5whether or not there are any calls waiting to be placed. This queue is a first in first out queue to ensure that all calls added to the queue are eventually placed.
For each call popped from the queue, the service provider that it is to be placed to is checked once again to see whether they are still likely to have availability for the request as described for D10.1. If they are no longer likely to accept the lOrequest, then the sequence is repeated by preventing the service provider from being selected from the list again for calling and the system returns to DiOl with the intention of selecting the next most suitable service provider. If the service provider has availability still, the call is placed to the service provider's telephone number and, upon answering, they are connected to the Interactive Voice l5Response (IVR) omponent 7 at D108 of the telephony server which plays a series of voice recordings and captures the telephone keypad key presses made in response to the prompts. At the same time that the call is placed, a watchdog timer is created to expire at a time in the future that the call will not extend to unless a failure has occurred. If the call fails to end before the watchdog timer 2oexpires at D107, thenthe call is deemed to have failed somewhere within the system and is lost.. It is therefore re-queued at 0104. If the call ends during normal operation as is expected, this watchdog timer is cancelled and removed from the system.
When the IVR script 7 has completed at D109, information about the call 25is returned to the Adaptive Call Scheduler 6 in order for it to take the appropriate further action. This information includes.the outcome of the call, for example was the call answered and if not, what was the reason? And, if the call was answered, then further information is also returned such as the key presses that the service provider made in response to the voice prompts. The responses indicate whether 30the service provider has accepted or rejected the request and if they have accepted it, whether this acceptance is at a different time and if so the specific time that they have offered to provide the service at.
The Adaptive Call Scheduler 6 receives the IVR script 7 results at DuO and processes them to determine the next course of action for the request.
If the service provider picked up the telephone and accepted the request by pressing one or more keys when prompted to do so, then the user is contacted by electronic means such as an SMS or e-mail and given details of the booking which may include the time and date that was ultimately accepted by the 5service provider, the name, address and contact telephone number of the service provider and possibly a map of the service provider's location.
If the service provider rejected the request, by pressing one or more keys when prompted to do so, the Adaptive Call Scheduler 6 creates a new unavailable period recording the details of the request that will be useful in lOcomparing to future requests with the aim of determining whether or not it indicates that those requests are likely to be rejected as well. An example of this additional information is where the service provider represents a restaurant; although the service provider may have rejected a table for 4 covers between 7:30pm and 8:30pm, they may be able to accept a request for 2 covers within l5those same times, however analysis of the created unavailable period would preclude a request for 3 or 4 covers within that time period on the basis that. they are too similar to the alreaiy rejected request. The unavailable period is then associated with the service provider so that it can be analysed in future when that service provider's representation is retrieved by the Search Engine Application 4 2Oor the Adaptive Call Scheduler 6 in relation to other requests. The Adaptive Call Scheduler 6 then returns to DiOl to process the next service provider in the list.
If the service provider failed to answer the telephone, because the call was placed within the time period that the service provider is known to accept requests, it is assumed that the service provider may have been temporarily 25unable to answer the call. The call is rescheduled for a time in the future, for example 15 minutes after the original call, in order to allow the service provider to finish any task that may have prevented them from answering the original call. A counter is also incremented against this service provider to ensure that only a predetermined number of retries, for example 1, is attempted before.the service 3oprovider is determined to have rejected the request for service, but no unavailable period is applied to them as they haven't deliberately rejected it. This is to ensure that the other service providers on the list are contacted in a timely manner in order to provide a reasonably timely response to the user's request.
The Adaptive Call Scheduler 6 returns to DiOl to process the next service 35provider in the list.
Ifthe service provider's telephone was busy when the call was attempted, the Adaptive Call Scheduler 6 reschedules another call at D104 to the service provider after a short delay, for example 1 second. A counter is also incremented to ensure that after a certain number of retries, the service provider is determined 5to have rejected the request for service, but no unavailable period is applied to them as they haven't deliberately rejected it. This is to ensure that in the case that a service provider has left their handset off the hook or some other problem has occurred with their equipment, the other service providers on the list are then contacted in order to provide a reasonably timely response to the user's request.
If the service provider's telephone was picked up but no keys were pressed, it is assumed that an' answering machine has answered the call and therefore this is taken as a rejection of the request. No unavailable period is applied to the service provider as they haven't deliberately rejected the request.
This is to ensure that the other service providers on the list are then contacted in l5order to provide a reasonably timely response to the user's request. The Adaptive Call Scheduler 6 returns to DiOl to process the next service provider in the list.
If the service provider's telephone was picked up and then hung up before the IVR script 7 had completed without the request being accepted, then this is 20assumed to be a rejection just as if the appropriate keys to signal a rejection had been pressed by the service provider. An unavailable period is therefore associated with the service provider in the same way as if they had pressed the rejection key. The Adaptive Call Scheduler 6 returns to DiOl to process the next service provider in the list.
A further aspect to the invention is a method of cancelling a request that has already had a list of service providers submitted to the Adaptive Call Scheduler 6 for dialling. Figure 5 is used to help illustrate the following
description.
The cancellation is submitted to the system by the user through the same 3Oor similar electronic means, in this example Mobile Handset 1, as was used to make the original request. When the cancellation is received at C100, the request may be in one of a number of states. Firstly, the request may have not been accepted by a service provider and there is no call currently in progress to a service provider; in this case, the request is merely cancelled and removed 35from the Adaptive Call Scheduler 6 and any timers created to initiate calls at D103 are cancelled so that they do not progress to D104. The second scenario is that no service providers have currently accepted the request, but a call has been placed and the service provider has not yet completed the IVR script 7 by accepting or rejecting the call. In this case the Adaptive Call Scheduler 6 waits 5until the call has completed. If the call completes with anything other than an acceptance, then the request is simply removed from the Adaptive Call Scheduler 6, however if the request was accepted, then a cancellation call is re- * queued immediately at C102. It then uses the same mechanisms as the standard request call and is placed to the service provider in the same way. Once it is lOplaced however, instead of the service provider being served with the standard IVR script 7, a different cancellation script 7 is run at C103 which relays the message that the service request has been withdrawn and identifies the user who withdrew the request in the same way that the standard booking script 7 does. The final scenario is that the request has been accepted by a service l5provider at some point in the past, the user has been informed of the service provider's acceptance and the service provider is expecting the user to use their offered service at the agreed time. As long as the present time is prior to this agreed service usage time, the times that the accepting service provider will accept calls are examined at ClOl to determine the earliest possible opportunity 2Othat they can be contacted. This may be as short as a few seconds, if the service provider is accepting calls at the present time, or it may be more than a day in the future at' the next operating time of the service provider. In both cases a next call timer is set to expire at that next available time that a call will be accepted by the service provider.
* 25 When the next call timer created at ClOl expires, the timeout handler at C102 finds the request that it was created for and places the call that is to be * * made on the same call queue that holds standard request calls at D104. From here the same mechanisms of tokenisation to prevent multiple calls being initiated to the same service provider at the same time and the periodic timer that 3Oplaces calls from the queue to the service providers are used. The difference for a cancellation call is the aforementioned cancellation IVR script 7 at C103 which relays the fact that the service request has been withdrawn and identifies the user who withdrew the request in the same way that the standard script 7 does.
If the cancellation call was answered by the service provider then the 35request is determined to be cancelled. If the cancellation call was not answered, resulting from the line being busy or there being no answer, then the call is simply re-queued for a time in the future and the process repeated until, either the service provider's telephone line is answered or it is time for the service to be used by the user.
It can be seen from the above description that the use of the Adaptive Call Scheduler 6 can significantly reduce the number of calls placed on the public switched telephone network that would otherwise result in both the requesting of and the cancellation of the services desired by users from service providers.
The Telephony Application may communicate by a PSTN gateway or using Voice Over Internet Protocol (VoIP).
PSTN Gateway 8 The PSTN Gateway 8 interfaces the system to the telephone network (Figure 1, 5) and provides a bridge to allow the system to dial out to landlines.
1 5The interface to the system may use one of the VoIP standard protocols such as SIP (Session Initiation Protocol).
The minimum search criteria required for the service request varies depending on the type of service being requested. All requests include a 20geographical location of the requested service that is selected by the user through' possibly a hierarchical menu system listing areas in increasing granularity at each level, a graphical map or automatically using a location fixing service on the device such as a built in GPS receiver.
The service may be customised to a particular service provider or service 25provider such as an airline or hotel operator whereby additional information pertinent to that service provider, included either within the user's initial request data or their additional personal profile, may be used to influence or determine the best matches of service providers.
Claims (42)
- CLAIMS1. A system comprising: electronic means for submitting a request for a service by a user, the request comprising at least one attribute specifying the nature of a specified service; and server means for receiving the request, compiling a list of service providers from a plurality of service providers, and sending the list to the electronic means, wherein the electronic means is arranged to allow the user to edit the list and to return the edited list to the server means, and wherein the server means is arranged to contact at least one service provider on the edited list to refer the request, to determine if a contacted service provider accepts a referral of the request, and, if a contacted service provider accepts the referral, to send a confirmation message to the user indicating that a contacted service provider has accepted the referral.
- 2. A system according to claim 1, wherein each of the plurality of service providers is identifiable by a set of attributes, and each service provider in the list has at least one attribute that matches at least one attribute contained within the request.
- 3. A system according to claim 1 or claim 2, wherein the electronic means is arranged to allow the user to edit the list to change the order of service providers in the list or to preclude service providers from whom the user does not wish to receive a service.
- 4. A system according to any one of the preceding claims, wherein the server means is arranged in compiling the list of service providers to search the plurality of service providers in an automated process.
- 5. A system according to any one of the preceding claims, wherein the server means is arranged to send information additional to the list to the electronic means, the information being to assist with editing of the list.
- 6. A system according to any one of the preceding claims, wherein the confirmation message gives identification details of the service provider which has accepted the referral.
- 7. A system according to any one of the preceding claims, wherein the server means is arranged to contact the at least one service provider using a public switched telephone network gateway.
- 8. A system according to any one of the preceding claims, wherein the electronic means is configured to prompt the user to provide the at least one attribute.
- 9. A system according to any one of the preceding claims, wherein the electronic device is a mobile device, the request being submitted through: * a mobile Java (RTM) application; * a WAP application or mobile web page; * a Symbian (RTM) operating system or a Microsoft (RTM) Smartphone operating system.
- 10. A system according to any one of the preceding claims, wherein the server means includes an active database of the plurality of service providers, the active database including changeable information gathered in real time from the results of requests by other users.
- 11. A system according to claim 10, wherein the information is used to determine a probability of a service provider accepting the referral.
- 12. A system according to any one of the preceding claims, wherein the request includes limits to which a value of at least one attribute contained within the request can be varied.
- 13. A system according to claim 12, wherein the server means is arranged to order the service providers in the list taking into account said limits.
- 14. A system according to any one of the preceding claims, wherein the server means is arranged, if a contacted service provider declines the referral, to prevent similar referrals based on requests from other users being sent to said contacted service provider.
- 15. A system according to any one of the preceding claims, wherein the server means is further arranged to score the service providers in the list against attributes specified by the user, the scores for each attribute being weighted as determined by a profile of the user and/or the importance of the attributes, the weighted score of the service providers in the list determining the positions of the service providers in the list.
- 16. A system according to any one of the preceding claims, wherein the server means is further arranged to group the service providers in the list into dial groups, each dial group representing service providers contactable within a time period of each other.
- 17. A system according to any one of the preceding claims, wherein the server means is further arranged to examine the service provider having the highest score in the dial group that can be contacted the soonest to discover whether, between the time that the list was originally compiled and the present time, any other user's requests have resulted in the service provider indicating an unavailable period for similar requests.
- 18. A system according to claim 16 or claim 17, wherein the server means is further arranged to determine if a service provider in a one of the dial groups having a lower score than another service provider in the one dial group does not accept calls within an operating time period that the other service provider is to be contacted within, and, if so, selecting the service provider having a lower score to be called next.
- 19. A system according to any one of the preceding claims, wherein the server means is further arranged to determine the earliest possible time that the next service provider to be called can be called; and to set a timer to expire at the earliest possible time.
- 20. A system according to any one of the preceding claims, wherein the server means is arranged to place only one call to any one service provider at any one time.
- 21. A system according to any one of the preceding claims, wherein the server means is arranged to receive a cancellation from the user following a request for a service from a user that has been accepted by a service provider; and to place a cancellation call to the service provider.
- 22. A method comprising: receiving from a user a request for a service comprising at least one attribute specifying the nature of a specified service; compiling a list of service providers from a plurality of service providers; sending the list to an electronic means; receiving an edited list from the electronic means; contacting, by a telephony application, at least one service provider on the edited list to refer the request; determining if a contacted service provider accepts a referral of the request; and if so, sending, by a telephony application, a confirmation message to the user indicating that the contacted service provider accepts the referral.
- 23. A method according to claim 22, wherein each of the plurality of service providers is identifiable by a set of attributes, and each service provider in the list has at least one attribute that matches at least one attribute contained within the request.
- 24. A method according to claim 22 or claim 23, wherein the compiling of the list of service providers comprises searching the plurality of service providers in an automated process.
- 25. A method according to any one of claims 22 to 24, further comprising sending information additional to the list to the electronic means, the information being to assist with editing of the list.
- 26. A method according to any one of claims 22 to 25, wherein the confirmation message gives identification details of the service provider which has accepted the referral.
- 27. A method according to any one of claims 22 to 26, further comprising contacting the at least one service provider using a public switched telephone network gateway.
- 28. A method according to any one of claims 22 to 27, wherein the server means includes an active database of the plurality of service providers, the active database including changeable information gathered in real time from the results of requests by other users.
- 29. A method according to claim 28, further comprising using the information to determine a probability of a service provider accepting the referral.
- 30. A method according to any one of claims 22 to 29, wherein the request includes limits to which a value of at least one attribute contained within the request can be varied.
- 31. A method according to claim 30, further comprising ordering the service providers in the list to take into account said limits.
- 32. A method according to any one of claims 22 to 31, further comprising, if a contacted service provider declines the referral, preventing similar referrals based on requests from other users being sent to said contacted service provider.
- 33. A method according to any one of claims 22 to 32, further comprising scoring the service providers in the list against attributes specified by the user, the scores for each attribute being weighted as determined by a profile of the user and/or the importance of the attributes, and determining positions of the service providers in the list using the scores of those service providers.
- 34. A method according to any one of claims 22 to 33, further comprising grouping the service providers in the list into dial groups, each dial group representing service providers contactable within a time period of each other.
- 35. A method according to claim 34, further comprising examining the service provider having the highest score in the dial group containing service providers that can be contacted the soonest to discover whether, between the time that the list was originally compiled and the present time, any other user's request has resulted in the service provider indicating an unavailable period for similar requests, and, if so, not contacting that service provider.
- 36. A method according to claim 34 or claim 35, further comprising determining if a service provider in a one of the dial groups having a lower score than another service provider in the one dial group does not accept calls within an operating time period that the other service provider is to be contacted within, and, if so, selecting the service provider having a lower score to be called next.
- 37. A method according to any one of claims 22 to 36, further comprising determining the earliest possible time that the next service provider to be called can be called; and setting a timer to expire at the earliest possible time.
- 38. A method according to any one of claims 22 to 37, further comprising placing only one call to any one service provider at any one time.
- 39. A method according to any one of claims 22 to 38, further comprising receiving a cancellation from the user following a request for a service from a user that has been accepted by a service provider; and placing a cancellation call to the service provider.
- 40. A system comprising: a request application arranged to receive from an electronic means a request for a service, the request comprising at least one attribute specifying the nature of a specified service; a search application arranged to compile a list of service providers from a plurality of service providers and to send the list to an electronic means; a telephony application arranged to receive an edited list from the electronic means, and to contact at least one service provider on the edited list to refer the request; means for determining if a contacted service provider accepts a referral of the request; and wherein the telephony application is further arranged to send a confirmation message to the user indicating that the contacted service provider accepts the referral.
- 41. A method substantially as hereinbefore described with reference to the accompanying drawings.
- 42. A system substantially as hereinbefore described with reference to the accompanying drawings.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0814958A GB2471258A (en) | 2008-08-15 | 2008-08-15 | System for matching users with service providers |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0814958A GB2471258A (en) | 2008-08-15 | 2008-08-15 | System for matching users with service providers |
Publications (2)
Publication Number | Publication Date |
---|---|
GB0814958D0 GB0814958D0 (en) | 2008-09-24 |
GB2471258A true GB2471258A (en) | 2010-12-29 |
Family
ID=39812112
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
GB0814958A Withdrawn GB2471258A (en) | 2008-08-15 | 2008-08-15 | System for matching users with service providers |
Country Status (1)
Country | Link |
---|---|
GB (1) | GB2471258A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014022904A1 (en) * | 2012-08-07 | 2014-02-13 | Abuodeh Sa Ad | System for automatically matching a service requestor with a service provider based on their proximity and establishing a voice call between them |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112036974B (en) * | 2020-07-30 | 2023-08-22 | 五八到家有限公司 | Service commodity online method, device, equipment and storage medium |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000042547A2 (en) * | 1999-01-15 | 2000-07-20 | Imandi Corporation | Intelligent multi-media market |
GB2395028A (en) * | 2002-11-05 | 2004-05-12 | Freeline Comm Ltd | Computer databases and associated extraction methods |
US20070280443A1 (en) * | 2000-10-30 | 2007-12-06 | Utbk, Inc. | Methods and Systems to Connect Consumers to Information |
-
2008
- 2008-08-15 GB GB0814958A patent/GB2471258A/en not_active Withdrawn
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000042547A2 (en) * | 1999-01-15 | 2000-07-20 | Imandi Corporation | Intelligent multi-media market |
US20070280443A1 (en) * | 2000-10-30 | 2007-12-06 | Utbk, Inc. | Methods and Systems to Connect Consumers to Information |
GB2395028A (en) * | 2002-11-05 | 2004-05-12 | Freeline Comm Ltd | Computer databases and associated extraction methods |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014022904A1 (en) * | 2012-08-07 | 2014-02-13 | Abuodeh Sa Ad | System for automatically matching a service requestor with a service provider based on their proximity and establishing a voice call between them |
Also Published As
Publication number | Publication date |
---|---|
GB0814958D0 (en) | 2008-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10594867B2 (en) | Task assignments to workers | |
US7197120B2 (en) | Method and system for facilitating mediated communication | |
US7209966B2 (en) | Method and system for facilitating mediated communication | |
US7751383B2 (en) | Method and system for facilitating mediated communication | |
US11272062B2 (en) | Assisted-communication with intelligent personal assistant | |
US7027586B2 (en) | Intelligently routing customer communications | |
US7092509B1 (en) | Contact center system capable of handling multiple media types of contacts and method for using the same | |
US6985924B2 (en) | Method and system for facilitating mediated communication | |
EP2242282B1 (en) | Extended cascaded ringing | |
US7016480B1 (en) | System and method for granting permission to receive interactive voice broadcast of a voice service | |
US7039165B1 (en) | System and method for personalizing an interactive voice broadcast of a voice service based on automatic number identification | |
US6950503B2 (en) | Method and system for facilitating mediated communication | |
US20030005126A1 (en) | Method and system for facilitating interactive communication | |
US20020140726A1 (en) | Method and system for facilitating mediated communication | |
US20080051066A1 (en) | Digital personal assistant and automated response system | |
EP1662817B1 (en) | System and method for providing information on a manner of communicating | |
US20150341499A1 (en) | Method and system for managing voice calls in association with social media content | |
EP1363445A1 (en) | Method and apparatus for proactively sending a message | |
EP2071816A1 (en) | Method and system for generating prospective availability data of a called party | |
US20120296975A1 (en) | Selection of a communication mode | |
EP1583339A1 (en) | Method and server for telephone call routing | |
JP2013502790A (en) | Conference scheduler that sends reminders | |
GB2471258A (en) | System for matching users with service providers | |
US20020141388A1 (en) | Method and system for facilitating mediated communication | |
WO2002082784A2 (en) | Method and system for facilitating communication |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AT | Applications terminated before publication under section 16(1) | ||
S20A | Reinstatement of application (sect. 20a/patents act 1977) |
Free format text: REQUEST FOR REINSTATEMENT FILED Effective date: 20100129 |
|
WAP | Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1) |