Patent Publication Number: US-2018041640-A1

Title: Method and system to contact a provider

Description:
CLAIM OF PRIORITY 
     This application is a continuation of U.S. application Ser. No. 11/638,035, filed Dec. 13, 2006, which is hereby incorporated by reference in its entirety. 
    
    
     TECHNICAL FIELD 
     This application relates to electronic commerce in general and a method and system to contact a provider in particular. 
     BACKGROUND 
     Electronic commerce marketplace may provide a powerful online platform for the sale of goods and services by a community of individuals and small businesses. On any given day, there may be a great number of items available through auction-style and fixed-price trading. A buyer may select an item via an associated user interface, indicate to a seller a desire to buy the item, and finalize the purchase. In some existing systems, a vendor who utilizes an online platform that facilitates electronic commerce marketplace may be charged a percentage of the final sale price. 
    
    
     
       BRIEF DESCRIPTION OF DRAWINGS 
       Embodiments of the present invention are illustrated by way of example and not limitation in the figures of the accompanying drawings, in which like reference numbers indicate similar elements and in which: 
         FIG. 1  is a diagrammatic representation of a network environment within which an example embodiment may be implemented; 
         FIG. 2  a block diagram of a system to contact a provider, in accordance with an example embodiment; 
         FIG. 3  is a flow chart of a method to contact a provider, in accordance with an example embodiment; 
         FIG. 4  a block diagram of a seller module, in accordance with an example embodiment; 
         FIG. 5  is a flow chart of a method to process a VoIP call, in accordance with an example embodiment; 
         FIG. 6  is a diagrammatic representation of an example user interface to permit a user to request a referral, in accordance with an example embodiment; 
         FIG. 7  is a diagrammatic representation of an example user interface to permit a user to specify selection criteria with a referral request, in accordance with an example embodiment; 
         FIG. 8  is a diagrammatic representation of an example user interface to information related to a VoIP call, in accordance with an example embodiment; 
         FIG. 9  is a diagrammatic representation of an example data structure to represent selection criteria information, in accordance with an example embodiment; and 
         FIG. 10  is a diagrammatic representation of an example machine in the form of a computer system within which a set of instructions, for causing the machine to perform any one or more of the methodologies discussed herein, may be executed. 
     
    
    
     DETAILED DESCRIPTION 
     A method and system to contact a provider are described. In one example embodiment, the system to contact a provider is implemented in the context of an on-line referral service. An on-line referral service may be configured to respond to a referral request from a user by automatically selecting a suitable provider and automatically routing a voice over Internet protocol (VoIP) call to the selected provider. A suitable provider may be selected from one of several providers within a network of member providers. A VoIP call to the selected provider, in one example embodiment, may be treated as an indication of potential business opportunity (a lead) for the provider. The provider may then be charged a predetermined fee for each lead generated by the example referral service. 
     An example system to contact a provider may include a graphical user interface (GUI) to present a user with a selection of services or goods and to permit a user to request a referral of a provider of the selected service or goods. An example GUI may include a visual control, e.g., a “Call Now” button, that a user may activate to indicate a desire to contact a provider of a particular service or of particular goods. In one example embodiment, a user may select a service, specify criteria for a provider, and click on the “Call Now” button. In response, an example system may automatically determine a suitable provider utilizing the submitted criteria, and initiate a VoIP call to the determined provider. 
     An example system to contact a provider may be configured to determine fees to be charged to a provider based on the number of leads associated with VoIP calls to providers. In one example embodiment, a call to a particular provider may be identified selectively as a lead if the call duration is longer than a predetermined period of time, e.g., if the call duration is longer than 20 seconds. A user who is the originator of the referral request that triggered the VoIP call may be requested to submit feedback regarding the determined provider. 
     In one example embodiment, a system to contact a provider may include a software tool (termed, e.g., a leads manager) to permit providers to manage the leads obtained through VoIP calls initiated by the system. The leads manager may be used to keep track of the leads, to sort and to categorize the leads, to associate various information with the leads, etc. 
     It will be noted, that while some example embodiments are being described with reference to service providers, it will be understood that the techniques described herein may be advantageously utilized to generate leads for providers of goods. An example of a network environment including an on-line referral service is illustrated in  FIG. 1 . 
       FIG. 1  illustrates a network environment  100 . The environment  100 , in an example embodiment, includes a server system (server)  110  and client systems (clients)  120  and  140 , coupled to a communications network  130 . The communications network  130  may be a public network (e.g., the Internet, a wireless network, etc.) or a private network (e.g., LAN, WAN, Intranet, etc.). In the environment  100 , the clients  120  and  140  may have access to an on-line referral service  112  running on the server  110 , via browser applications  122  and  142  respectively. 
     The on-line referral service  112  may cooperate with a VoIP service  114  to initiate calls to selected providers. In one example embodiment, the on-line referral service  112  and the VoIP service  114  may be configured as a single service, e.g., the functionality of the on-line referral service  112  may be packaged together with an application running the VoIP service  114 . 
     The example on-line referral service  112  may be used to maintain a network of providers. Various information associated with providers that are members of the network of providers associated with the referral service  112  may be stored in a providers database  160 . In one example embodiment, the network of providers may be organized utilizing demographic information of the member providers. The providers database  160  may be local with respect to the server system  110  or, in one example embodiment, may be accessible via the network  130 . 
     Where a provider selected by on-line referral service  112  has access to VoIP software, e.g., to a VoIP client  144 , a call to the selected provider may be initiated via a peer to peer (P2P) connection between the VoIP service  114  at the server system  110  and the VoIP client  144  of the client system  140 . If the selected provider does not have access to a VoIP service, but has access to a conventional telephone device  150 , the VoIP service  114  may initiate a call to the telephone device  150 , via a connection  134  that may utilize a VoIP server. The telephone device  150  may be associated with the basic service supplying standard single line telephones, telephone lines, and access to the public switched network. An example system implementing the referral service  112  is discussed with reference to  FIG. 2 . 
       FIG. 2  is a block diagram of a system  200  to contact a provider of goods, services, or both, in accordance with an example embodiment. As shown in  FIG. 2 , the system  200  includes a referral generator  210 , a communications module  220 , a call module  230 , a listing generator  240 , a business rules engine  250 , and a seller module  260 . 
     The communications module  220  may be configured to receive requests from users, e.g. requests from potential buyers to select a provider of a particular service and to make contact with the selected provider. The referral generator  210  may be configured to process requests received by the communications module  220 . For example, the referral generator  210  may obtain selection criteria from the referral request, interrogate the providers database  160  of  FIG. 1  with the selection criteria, and generate a referral, based on the results of the interrogation. The call module  230  may be configured to contact the selected provider by initiating a VoIP call to the selected provider. In one example embodiment, the referral generator  210  may be configured to cooperate with the business rules engine  250  to select a provider. 
     An example scenario illustrating the use of the referral service  112  implemented as the system  200  may be described as follows. A user, who may be termed a potential buyer of goods or services that are being offered through a web service, may access a web site hosting the referral service  112 . The user may indicate, via an associated user interface (UI), that she is looking for a certain kind of service, such as plumbing. The user may browse the web site, type in a search term and request a search, or perform some other operations to view a number of listings for plumbing services. In one example embodiment, a single listing may be associated with several providers of plumbing services that are grouped based on a certain characteristic, such as geographic location of each provider in the group. In another example embodiment, plumbing services may be grouped functionally, e.g., by a specific type of a plumbing service. A user may select a particular listing, e.g., by clicking on an example “Call me” control button associated with the listing. 
     When the user activates the “Call me” control button associated with the listing, the business rules engine  250  selects a provider from the associated group of providers based on predetermined business rules. The predetermined business rules may utilize, for example, demographic information of a provider and of the user, a price range for plumbing services, geographic location of a provider and of the user, the reputation of a provider, etc. Other criteria that may be utilized by the business rules engine  250  may include the languages spoken by a provider and by the user. 
     When the referral generator  210  selects an appropriate provider, based on the business rules, the call module  230  may be generated to channel a VoIP call to the selected provider. In one example embodiment, when the selected provider answers the call, that service provider may be charged a predetermined fee for having received a lead. The system  200  may include a seller module  260  that may be configured to evaluate each call to a provider generated by the call module  230  in order to determine whether a particular call may qualify as a lead. 
     It will be noted that, in some example embodiments, the functions performed by two separate modules of the system  200  may be performed by a single module. For example, the operations performed by the referral generator  210  and the business rules engine  250  may be performed by a single referral module. In another example embodiment, the operations performed by the business rules engine  250  may be performed by several functional modules, e.g., by a demographic selector, a price selector, a reputation selector, etc. 
     As mentioned above, the referral service  112 , which, in an example embodiment, may be implemented as the system  200 , may be utilized to permit a potential buyer to contact a provider of goods or services. An example method to contact a provider is described with reference to  FIG. 3 . 
       FIG. 3  is a flow chart of a method  300  to contact a provider, according to an example embodiment. The method  300  may be performed by processing logic that may comprise hardware (e.g., dedicated logic, programmable logic, microcode, etc.), software (such as run on a general purpose computer system or a dedicated machine), or a combination of both. In one example embodiment, the processing logic resides at a server system  110  of  FIG. 1 . In another example embodiment, the processing logic may reside at the client  120 , at a server  110  or may be distributed between the client  120  and the server  110  of  FIG. 1 . In one example embodiment, the method  300  may be performed by the various modules discussed above with reference to  FIG. 2 . Each of these modules may comprise processing logic. 
     As shown in  FIG. 3 , the method  300  commences at operation  302 . At operation  304 , the communications module  220  receives, from a user (e.g., a potential buyer), a referral request with respect to a provider of goods or services. The referral request may include a request to contact or otherwise access the referred provider. 
     At operation  306 , the referral generator  210  determines whether the referral request includes any selection parameters, such as the preferred location of a provider, the price range for the services, the reputation of the provider, etc. If it is determined, at operation  306 , that the referral request includes one or more selection parameters, the referral generator  210  utilizes these selection parameters to select, at operation  308 , one or more providers from a network of member providers that satisfy criteria associated with the selection parameter. A selection parameter may be associated, in one example embodiment, with demographic information of a provider. In some example embodiments, a selection parameter may be associated with demographic information of a potential buyer. 
     At operation  310 , the business rules engine  250  may be employed by the referral generator  210  to select a single provider (e.g., a provider who is considered by the system to be the most suitable to satisfy the referral request) from the one or more providers chosen based on the selection parameter. 
     If it is determined, at operation  306 , that the referral request does not include any selection parameters, the referral generator  210  cooperates with the business rules engine  250  to select, at operation  312 , a suitable provider from a network of member providers, utilizing the business rules that are provided with the business rules engine  250 . 
     At operation  314 , the call module  230  initiates a VoIP call to the selected provider. Depending on the outcome of the call and, in some example embodiments, depending on the duration of the call, the call may be identified as a lead with respect to the selected provider and be included into a calculation of any per-lead fees charged to the selected provider. The identifying of a VoIP call to the selected provider as a lead may be performed by the seller module  260 . Example seller module may be described with reference to  FIG. 4 . 
       FIG. 4  is a diagrammatic representation of a seller module  400 , in accordance with an example embodiment. As shown in  FIG. 400 , the example seller module  400  may include a calls monitor  410 , an accounting module  420 , a leads manager  430 , and a feedback module  450 . 
     The calls monitor  410  may be configured to track the length of a VoIP call to the provider and to utilize this information to determine whether the call qualifies as a lead. The accounting module  420  may be configured to calculate the fees to be charged to a provider, based on the number of leads generated by the referral service  112  for the provider. The leads manager  430  is configured, in one example embodiment, to permit a provider to organize, categorize, and otherwise manage the leads. 
     In one example embodiment, when a VoIP call to the selected provider is identified as a lead, the seller module  400  engages the feedback module  450  to obtain feedback from the originator of the associated referral request regarding the selected provider. An example method to process a VoIP call is described with reference to  FIG. 5 . 
       FIG. 5  is a flow chart of a method  500  to process a VoIP call, according to an example embodiment. The method  500  may be performed by processing logic that may comprise hardware (e.g., dedicated logic, programmable logic, microcode, etc.), software (such as run on a general purpose computer system or a dedicated machine), or a combination of both. In one example embodiment, the processing logic resides at a server system  110  of  FIG. 1 . In another example embodiment, the processing logic may reside at the client  120 , at a server  110  or may be distributed between the client  120  and the server  110  of  FIG. 1 . In one example embodiment, the method  500  may be performed by the various modules discussed above with reference to  FIG. 4 . Each of these modules may comprise processing logic. 
     As shown in  FIG. 5 , the method  500  commences at operation  502 . At operation  504 , the calls monitor  410  detects a completed VoIP call to a provider. The calls monitor  410  then determines the duration of the completed VoIP call. If it is determined, at operation  506 , that the call duration is less than a predetermined threshold, the call is not considered as a lead with respect to the provider, and the method  500  returns to operation  504 . Consequently, in one example embodiment, a call that is shorter than a predetermined duration does not affect the fee charged to the provider by the referral service  112  of  FIG. 1 . 
     If it is determined, at operation  506 , that the call duration is equal to or greater than a predetermined threshold, the call is identified as a lead with respect to the provider. The accounting module  440  may then update the amount to be charged to the provider for the generated leads. 
     At operation  510 , the feedback module  450  may be engaged to determine an identification of the lead associated with the completed VoIP call and request feedback from the lead, at operation  512 . The feedback received from the lead may be utilized at a later time in executing business rules to select a provider in response to a referral request from a user. 
     It will be noted, that while the method  500  uses the duration of a VoIP call to determine whether a particular contact qualifies as a lead, various additional or other criteria may be utilized to define a lead. For example, other factors may include whether the call goes to voice mail, whether the same buyer has contacted that seller within the last predetermined number of days, etc. 
       FIG. 6  is a diagrammatic representation of an example user interface  600 , that may be associated with the referral service  112 , to permit a user to request a referral. The user interface  600 , in accordance with an example embodiment, comprises a services area  602 . The services area  602  may include a list of different services or different types of a particular service (e.g., “PLUMBERS—RESIDENTIAL” and “PLUMBERS—COMMERCIAL”). Each service from the list of services may be displayed with an associated “CALL ME” control button, such as control buttons  604  through  612 . In one example embodiment, when a user wishes to contact a provider, e.g., a tutor, the user may simply click on the “CALL ME” button  610  associated with tutoring services. In response, the referral service  112  may select a provider, e.g., utilizing business rules, and initiate a VoIP call to the selected provider. If the selected provider answers the call, the user may proceed with communicating with the selected provider. 
     In one example embodiment, the user interface  600  may include a “CANCEL” control  614  that can be used to exit the user interface  600  and terminate any selection or calling process. It will be noted, that the user interface  600 , in one example embodiment, may include a goods area (not shown) to permit a user to request a suggested retailer information. 
       FIG. 7  is a diagrammatic representation of an example user interface  700 , that may be associated with the referral service  112 , to permit a user to specify selection criteria with a referral request. The user interface  700 , in accordance with an example embodiment, comprises a service selection field  702 . The service selection field  702  may be implemented, for example, as a drop down list. The user interface  700  may further include various controls and input areas to permit a user to specify criteria for selecting a particular provider, such as “LOCATION” input box  704 , “PRICE RANGE” input box  706 , “BUSINESS HOURS” control  708 , and “REPUTATION” control  708 . 
     In one example embodiment, the user interface  700  may include a “CALL ME” control button  714  to permit a user to request that a provider that satisfies the selected criteria is contacted. The user interface  700  may also include a “CANCEL” control  716  that can be used to exit the user interface  700  and terminate any selection or calling process. 
       FIG. 8  is a diagrammatic representation of an example user interface  800 , that may be associated with the referral service  112 , to display to a an originator of the referral request information related to a VoIP call. The user interface  800 , in accordance with an example embodiment, includes a “CALLING . . . ” indicator  802  to inform a user that a call is being made, and a “TEXT MESSAGE” area  804  to permit a user to send an optional text message to the selected provider. The user interface  800  may also include a “CANCEL” control  806  that can be used to exit the user interface  800  and to terminate the calling process. 
       FIG. 9  is a diagrammatic representation of an example data structure  900  to represent selection criteria information, in accordance with an example embodiment. As shown in  FIG. 9 , the example data structure  900  comprises fields  902  through  910 . “SELECTION_CRITERIA. SERVICE” field  902  is used to represent the service selected by a user. “SELECTION_CRITERIA.LOCATION” field  904  is used to represent geographic location selected by a user. “SELECTION_CRITERIA.PRICE_RANGE” field  906  is used to represent the price range selected by a user. “SELECTION_CRITERIA.BUSINESS_HOURS” field  908  is used to represent the business hours of a service provider selected by a user. “SELECTION_CRITERIA. REPUTATION” field  910  is used to represent the reputation criteria selected by a user. 
     It will be noted, that selection criteria information, as well as other information utilized by the system  200  of  FIG. 2 , may be represented utilizing a variety of techniques that may be available to a person skilled in the art. 
       FIG. 10  shows a diagrammatic representation of a machine in the example form of a computer system  1000  within which a set of instructions, for causing the machine to perform any one or more of the methodologies discussed herein, may be executed. In alternative embodiments, the machine operates as a stand-alone device or may be connected (e.g., networked) to other machines. In a networked deployment, the machine may operate in the capacity of a server or a client machine in server-client network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. The machine may be a personal computer (PC), a tablet PC, a set-top box (STB), a Personal Digital Assistant (PDA), a cellular telephone, a web appliance, a network router, switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine. Further, while only a single machine is illustrated, the term “machine” shall also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein. 
     The example computer system  1000  includes a processor  1002  (e.g., a central processing unit (CPU), a graphics processing unit (GPU) or both), a main memory  1004  and a static memory  1006 , which communicate with each other via a bus  1008 . The computer system  1000  may further include a video display unit  1010  (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)). The computer system  1000  also includes an alpha-numeric input device  1012  (e.g., a keyboard), a user interface (UI) navigation device  1014  (e.g., a cursor control device), a disk drive unit  1016 , a signal generation device  1018  (e.g., a speaker) and a network interface device  1020 . 
     The disk drive unit  1016  includes a machine-readable medium  1022  on which is stored one or more sets of instructions and data structures (e.g., software  1024 ) embodying or utilized by any one or more of the methodologies or functions described herein. The software  1024  may also reside, completely or at least partially, within the main memory  1004  and/or within the processor  1002  during execution thereof by the computer system  1000 , the main memory  1004  and the processor  1002  also constituting machine-readable media. 
     The software  1024  may further be transmitted or received over a network  1026  via the network interface device  1020  utilizing any one of a number of well-known transfer protocols (e.g., Hyper Text Transfer Protocol (HTTP)). 
     While the machine-readable medium  1022  is shown in an example embodiment to be a single medium, the term “machine-readable medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions. The term “machine-readable medium” shall also be taken to include any medium that is capable of storing, encoding or carrying a set of instructions for execution by the machine and that cause the machine to perform any one or more of the methodologies of embodiments of the present invention, or that is capable of storing, encoding or carrying data structures utilized by or associated with such a set of instructions. The term “machine-readable medium” shall accordingly be taken to include, but not be limited to, solid-state memories, optical and magnetic media, and carrier wave signals. Such media may also include, without limitation, hard disks, floppy disks, flash memory cards, digital video disks, random access memory (RAMs), read only memory (ROMs), and the like. 
     The embodiments described herein may be implemented in an operating environment comprising software installed on a computer, in hardware, or in a combination of software and hardware. 
     Thus, a method and system to contact a provider have been described. Although embodiments have been described with reference to specific example systems and embodiments, it will be evident that various modifications and changes may be made to these embodiments without departing from the broader spirit and scope of the inventive subject matter. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense.