The disclosed embodiments relate generally to electronic calendars. More particularly, the disclosed embodiments relate to methods and systems for allowing a user to book an appointment with a service provider, and charging the service provider a fee for a successfully booked appointment.
Users often need to make appointments with service providers such as plumbers, massage therapists, doctors etc. Similarly, users may wish to sign up for a class offered by a service provider, or may wish to rent equipment from a service provider. In many instances, in order to make an appointment, the user must call the service provider to schedule the appointment. The appointments generally must be scheduled during work hours, requiring the user to take time out of his or her day to make the call. Still, the service provider may be unavailable to answer the phone, in which case the user may leave a message or try a different service provider. Furthermore, the user has no way of knowing the service provider's schedule to even know if the service provider has available appointment times that are required by the user.
Service providers wish to reach potential customers and expand their businesses. To do so, service providers may buy advertisements in newspapers, yellow pages, or on the internet. However, this is an upfront cost that has no direct measurable correlation to appointments booked. Furthermore, the amount the service provider spends on advertising does not scale in correlation to the appointments booked. Furthermore, there is no direct relationship between the amount of available time the service provider has to offer and the service provider's advertising expenditures. For example, the service provider may be very busy, and ends up wasting time answering the phone for appointment requests he cannot accept. Alternatively, the service provider may have several timeslots that are currently un-filled which the service provider would be willing to pay an advertising premium to fill.
Therefore, there is a need to overcome these problems for both users and service providers.
The disclosed embodiments overcome the limitations and disadvantages described above by providing methods and systems for booking appointments.
One aspect involves a computer-implemented method performed on a server system having one or more processors and memory storing one or more programs which when executed by the one or more processors cause performance of the following method. A calendar view showing available time slots of a service provider is provided to a client computer associated with a user who is distinct from the service provider. An appointment request to schedule an appointment with the service provider is received from the client computer. Upon determining that the appointment request can be accepted, the appointment is booked. After booking the appointment, the service provider is charged a pre-arranged fee for the booked appointment.
Another aspect is a server system comprising one or more processors (e.g., CPU(s)), for executing programs and also includes memory storing the programs to be executed by the one or more processors. The programs include instructions to perform the following. A calendar view showing available time slots of a service provider is provided to a client computer associated with a user who is distinct from the service provider. An appointment request to schedule an appointment with the service provider is received from the client computer. Upon determining that the appointment request can be accepted, the appointment is booked. After booking the appointment, the service provider is charged a pre-arranged fee for the booked appointment.
Yet another aspect involves a computer readable storage medium storing one or more programs configured for execution by a server system. The programs include instructions to perform the following. A calendar view showing available time slots of a service provider is provided to a client computer associated with a user who is distinct from the service provider. An appointment request to schedule an appointment with the service provider is received from the client computer. Upon determining that the appointment request can be accepted, the appointment is booked. After booking the appointment, the service provider is charged a pre-arranged fee for the booked appointment.
Thus, these methods, systems, and computer readable storage mediums provide new, less cumbersome, more efficient ways to book appointments between a service provider and a user.
For a better understanding of the aforementioned aspects as well as additional aspects and embodiments thereof, reference should be made to the Description of Embodiments below, in conjunction with the following drawings.
Like reference numerals refer to corresponding parts throughout the drawings.
Reference will now be made in detail to embodiments, examples of which are illustrated in the accompanying drawings. In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding. However, it will be apparent to one of ordinary skill in the art that embodiments may be practiced without these specific details. In other instances, well-known methods, procedures, components, circuits, and networks have not been described in detail so as not to unnecessarily obscure aspects of the embodiments.
It will also be understood that, although the terms first, second, etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first appointment could be termed a second appointment, and, similarly, a second appointment could be termed a first appointment, without departing from the scope of the present invention. The first appointment and the second appointment are both appointments, but they are not the same appointment.
The terminology used in the description of the invention herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used in the description of the invention and the appended claims, the singular forms “a,” “an,” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will also be understood that the term “and/or” as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items. It will be further understood that the terms “includes,” “including,” “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
As used herein, the term “if” may be construed to mean “when” or “upon” or “in response to determining” or “in response to detecting,” depending on the context. Similarly, the phrase “if it is determined” or “if [a stated condition or event] is detected” may be construed to mean “upon determining” or “in response to determining” or “upon detecting (the stated condition or event)” or “in response to detecting (the stated condition or event),” depending on the context.
Client computers 102 can be any of a number of computing devices (e.g., Internet kiosk, personal digital assistant, cell phone, gaming device, desktop computer, laptop computer, handheld computer, or combinations thereof). Client computer(s) 102 are also referred to herein as client(s). The clients 102 are described in greater detail below with reference to
Service provider computers 104 (also sometimes called service provider systems, as some service provider systems comprise multiple computers) can likewise be any of a number of computing devices (e.g., Internet kiosk, personal digital assistant, cell phone, gaming device, desktop computer, laptop computer, handheld computer, or combinations thereof). Service provider computers 104 are described in greater detail below with reference to
Calendar system 108 includes one or more servers, connected to the communications network 106 via network communication module 112. The calendar system includes a calendar engine 114, which includes an appointment booking processing module 116 and a payment processing module 118. Calendar system 108 also includes a search engine 120, which may be on the same or a separate server from calendar engine 114. The network communications module 112 connects calendar system 108 to communication network 106 and enables communications with clients 102 and service provider computers 104. Internal communications between the components of calendar system 108 may also be handled by network communication module 112, by a local area network, by internal communication busses, or by any other appropriate mechanism or combination of mechanisms. Calendar system 108 is described in greater detail below with respect to
In the cases where the calendar system includes multiple servers, each server is coupled to communications network 106 via a network communication module 112. The communications network 106 may be the Internet, but may also be any local area network (LAN), wide area network (WAN), metropolitan area network, or a combination of such networks. In some embodiments, calendar system 108 is a web server that manages electronic calendars using appropriate communication protocols.
As discussed in more detail below, calendar system 108 transmits a service provider's calendar information to a respective client 102 for assisting the client in booking an appointment with a service provider during an available timeslot. Optionally, calendar system 108 is part of a larger calendaring service provided to a community of users (e.g. the employees of a company, members of an organization or group, the users of a facility, etc.) In some embodiments, fewer and/or additional modules, functions or databases are included in calendar system 108. The modules shown in calendar system 108 represent functions performed in certain embodiments.
Notwithstanding the discrete blocks in
In order to allow users to book appointments through calendar system 108, the service provider sets up an account with calendar system 108. Service provider computer 104 provides calendar information, a service fee schedule, and one or more booking bids (202) to calendar system 108. In some embodiments, calendar system 108 uses the booking bids to rank service providers in response to search queries: service providers that make high booking bids appear higher in the search results than service providers that make lower booking bids. Once the account is set up, the service provider's calendar will be available for display on client 102. In some embodiments, a user will initiate a search request (204). For example, client 102 may submit the search query “spa San Francisco.” The search request will be processed, and a list of search results will be displayed. At least one of the search results will include the service provider's link (206). The link may include an icon indicating that the service provider's calendar is available. If the user is interested in the service provider, he will select the link (208). Then the user will be provided with the service provider's calendar including timeslots in which the service provider is available to accept appointments (210). If the user wishes to book an appointment during one of the available time slots, the user requests the time slot for an appointment (211). In some embodiments, the user will also select a particular service from a list of available services available in that timeslot. Upon determining that the appointment request can be accepted, the calendar system will book the appointment (212). The appointment will be updated in the service provider's calendar. In some embodiments, the service provider will receive a booking notification (214). Then the service provider will be charged a booking fee for the booked appointment (216). In some embodiments, the booking fee is a pre-arranged fee (or fee calculation) provided by the service provider as the booking bid at step 202. Alternatively, calendar system 108 specifies the booking fee. The service provider pays the fee (or the fee is debited from the service provider's account) (218). Either way, calendar system 108 receives the booking fee for the successfully booked appointment between the user/client 102 and the service provider/service provider computer 104 (220).
One of the benefits of this arrangement is that the user can book appointments outside of normal business hours. Since he does not need to call the service provider to book an appointment, the appointments can be booked at any time that is convenient for the user. Another advantage for the user is that additional information may be available to him at the time of booking. For example, the search results may include a map indicating the locations of all the spas in San Francisco; as such, the user can select a spa at a convenient location for him (e.g., close to his house, office, gym etc.) The search results may also provide reviews or star ratings for the service providers. The user can filter providers (e.g., by ratings and reviews or by available timeslots etc.) before booking an appointment.
Furthermore, there are several benefits for the service provider. Under this automated appointment booking system, the service provider does not need to spend time answering the phone and keeping his appointment calendar up to date. Rather, the service provider can concentrate on serving his current customer and let the calendar fill itself. From an advertising perspective, the service provider only pays for appointments booked. In other words, there is a direct correlation between booked appointments and advertising dollars spent by the service provider. If the service provider has no available timeslots, he will not pay any advertising dollars under this system. As will be explained in greater detail below, additional options may be available to the service provider. For example, in some embodiments, calendar system 108 will send appointment reminders to the user, reducing the “no show” rates without requiring the service provider to take the time to call or send physical or electronic reminders. Also, in some embodiments, calendar system 108 provides discount options to users. For example, the service provider may set up his fee schedule to give a specified discount for appointments booked within a specified time period (e.g., 20% discounts for any “same day” booked appointments), improving the chances that the service provider will fill an otherwise empty timeslot.
In some embodiments, calendar system 108 also assists in processing the service fee for the service provided by the service provider (222). Calendar system 108 sends an invoice to client 102 at some predetermined time, for example, at the time of booking, at the time of the appointment, or after appointment. Client 102 pays the service fee to calendar system 108 (224). In some embodiments, the user of client 102 has the option of including a tip or gratuity in the service payment. Then calendar system 108 provides at least a portion of the service fee to the service provider (226). In some instances, a transaction cost is deducted from the service fee. Alternatively, the service fees are deposited in a debit account for the service provider (e.g., debit account 325,
Memory 306 of calendar system 108 includes high-speed random access memory, such as DRAM, SRAM, DDR RAM or other random access solid state memory devices; and may include non-volatile memory, such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, or other non-volatile solid state storage devices. Memory 306 may optionally include one or more storage devices remotely located from the CPU(s) 302. Memory 306, or alternately the non-volatile memory device(s) within memory 306, comprises a non-transitory computer readable storage medium. In some embodiments, memory 306 or the non-transitory computer readable storage medium of memory 306 stores the following programs, modules and data structures, or a subset thereof:
In some embodiments, calendar engine 114 includes a calendar database 316 to store calendar information to be provided to clients 102 and service provider computers 104, an appointment booking processing module 116 to process user requests to schedule appointments with the service provider, and a calendar search program 318 to determine that an appointment request can be accepted, as well as the scheduling webpage 320. In some embodiments, calendar database 316 includes bookable appointment records 500, described below with respect to
Each of the above identified modules and applications correspond to a set of instructions for performing one or more functions described above. These modules (i.e., sets of instructions) need not be implemented as separate software programs, procedures or modules, and thus various subsets of these modules may be combined or otherwise re-arranged in various embodiments. In some embodiments, memory 306 or the non-transitory computer readable storage medium of memory 306 may store a subset of the modules and data structures identified above. Furthermore, memory 306 or the computer readable storage medium of memory 306 may store additional modules and data structures not described above.
Although
Memory 406 includes high-speed random access memory, such as DRAM, SRAM, DDR RAM or other random access solid state memory devices; and may include non-volatile memory, such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, or other non-volatile solid state storage devices. Memory 406 may optionally include one or more storage devices remotely located from the CPU(s) 402. Memory 406, or alternately the non-volatile memory device(s) within memory 406, comprises a non-transitory computer readable storage medium. In some embodiments, memory 406 or the non-transitory computer readable storage medium of memory 406 stores the following programs, modules and data structures, or a subset thereof:
In some embodiments, client 102 may be a “thin client,” which includes a browser application 414 that displays the scheduling webpage 418 received from calendar system 108. In this embodiment, client 102 only displays the scheduling webpage, and executes programs, if any, embedded within scheduling webpage 418, but includes little if any additional software. In some embodiments, programs embedded within the scheduling webpage 418 format schedule data for display. In thin client embodiments, schedule-related processing other than user data input and schedule data display are handled by calendar system 108.
Memory 406 includes high-speed random access memory, such as DRAM, SRAM, DDR RAM or other random access solid state memory devices; and may include non-volatile memory, such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, or other non-volatile solid state storage devices. Memory 406 may optionally include one or more storage devices remotely located from the CPU(s) 402. Memory 406, or alternately the non-volatile memory device(s) within memory 406, comprises a non-transitory computer readable storage medium. In some embodiments, memory 406 or the non-transitory computer readable storage medium of memory 406 stores the following programs, modules and data structures, or a subset thereof:
In some embodiments, service provider computer 104 may be a “thin service provider computer,” analogous to a thin client, which includes a browser application 414 that displays scheduling webpage 418 received from calendar system 108. In this embodiment, service provider computer 104 only displays the scheduling webpage, and executes programs, if any, embedded within the scheduling webpage 418, but includes little if any additional software. In some embodiments, programs embedded within scheduling webpage 418 format schedule data for display. In thin service provider computer 104 embodiments, schedule-related processing other than service provider calendar data input and schedule data display are handled by calendar system 108.
A bookable appointment (e.g., bookable appointment record 2 500-2) includes the following data, or a subset or superset thereof, for a bookable appointment (which can be either a booked appointment or an open appointment that has not yet been booked):
In some embodiments, calendar system 108 includes a separate calendar database 316 for each service provider.
A provider record 600 (e.g., Provider 2 Record 600-2) includes the following data, or a subset or superset thereof, for a provider:
In some embodiments, a respective provider bid of provider bids 604 is a set amount, a fixed percentage of the service fees charged, or an amount determined in accordance with a bid schedule in which a variety of factors are taken into account to determine the bids, such as how far away the open time slot is from the present time. In one example, the booking criteria 608 includes a rule that a respective provider accepts appointment requests only from users who have proof of insurance. In another example, the booking criteria 608 includes a rule that a respective provider accepts appointment requests only from pre-approved users, such as people already enrolled at a particular school or university, people with a particular medical insurance, etc.
A payment record 700 (e.g., payment record 700-2) includes the following data, or a subset or superset thereof for a booked appointment:
As explained with reference to
In some embodiments, the service fee schedule is unique to each service provider, as each service provider may charge unique amounts (potentially varying by the technician providing the services), and may also provide a variety of discounts to its customers. In some embodiments, calendar system 108 uses the fee schedule to provide automated invoicing and collecting of the service fees as described in more detail below. In other embodiments, the fee schedule is provided for informational purposes only, since the service provider will collect the service fees directly.
In some embodiments, the criteria for accepting appointments, (i.e., the appointment constraints) are likewise unique to the service provider. Some criterion examples are appointment duration and appointment location. In some embodiments, the appointment constraints include a list of one or more specified users allowed (or not allowed) to book (or view) an appointment during one or more specified time slots (804). In some embodiments, certain users may be given preferential treatment for certain timeslots. This preferential treatment is offered, for example, during a specified period of time, outside of which (e.g., after which) it is not offered. For example, on Monday and Tuesday a professor may hold Wednesday-Friday afternoons open for students to book one-on-one study sessions, but by Wednesday any remaining slots are open to anyone wishing to book the professor's time. In other embodiments, a criterion merely specifies time slots in which any user is allowed to book an appointment (806). In some embodiments, a criterion specifies a maximum number of participants allowed to book an appointment during one or more time slots (808). This maximum number may be for either the same appointment slot or for concurrently available appointments. For example, the same time slot may be available to many users if a service provider offered a class with a maximum number of seats available. Concurrently available appointments would exist, for example, where the service provider has more than one employee, each of whom is available for a respective appointment. For example, more than one hairdresser may be available at a given time in a single service provider's salon.
In some embodiments, as a part of the account set up, calendar system 108 also receives from service provider computer 104 a booking bid or booking bid schedule for determining a fee paid for each successfully booked appointment (810). For example, the service provider may bid that for each successfully booked appointment, the service provider will pay a set percentage of the total cost of the appointment. Alternatively, the service provider may offer a set bid amount, such as N dollars per appointment. In other examples, a bid fee calculation takes into account a variety of factors.
Once the service provider's account is set up, calendar system 108 is ready to book appointments. Calendar system 108 receives a search request from a client computer 102 associated with a user (812). In some embodiments the search request will include a request for the service provider's calendar (814). In other embodiments, the search request will be more general, rather than being calendar specific.
In response to the search request, calendar system 108 provides search results matching the search request (e.g., as shown in
Furthermore, in some embodiments, when several service provider links are provided, the service provider links are ranked according to the respective booking bids associated with the links (820). For example, a service provider that offered a higher booking bid (in step 810) would be presented in the search results above a service provider that offered a lower booking bid. In other embodiments, the search results and provider links are ordered strictly based on relevance factors (e.g., PageRank), so that the most relevant search results and links are provided higher in the list of search results. In still other embodiments, a combination of relevant factors and booking bid amounts are used to determine the order in which service provider links are ranked in step (820).
Calendar system 108 provides a calendar view (e.g., calendar view 950,
In some embodiments, a view of the user's calendar is overlaid with the service provider's calendar (824). As such, the available time slots for both the user and the service provider are visually distinguished from timeslots unavailable for the user, the service provider, or both. For example, available and/or unavailable time slots for each of the user and the service provider are displayed in distinct respective colors (e.g., semi-transparent colors), which combine into other colors when overlaid. In one example, the user's booked events are displayed in a semi-transparent green, the service provider's booked events are displayed in a semi-transparent blue, and the available timeslots for both the user and service provider are displayed in yellow, in which case only the available timeslots for both the user and service provider are yellow.
In some embodiments, a criterion for accepting appointments (at operation 804) specifies a list (e.g., received from service provider computer 104) of one or more specified users allowed to book an appointment during one or more specified time slots. For example, only students registered at a particular university are allowed to register for next semester's available classes. In these instances, the calendar view of specified timeslots is provided only to qualified users (826). (The qualified users are the same users specified at step 804.) Furthermore, in some embodiments, if the user is not one of the specified users, the calendar view is modified so that the available time slots shown in the calendar view exclude the specified timeslots that are only available to the specified users, but include the remaining available timeslots.) Similarly, in some embodiments, after a predetermined number of specified users have booked appointments during specified time slots, the calendar system will make any remaining time slots available for booking by users other than the specified users (such as for the Professor's office hours example discussed above).
The process continues in
In some embodiments, discount offers are sent to users who have previously booked appointments with the service provider (832). For example, calendar system 108 does not provide discount offers to the clients 102 in or along with a calendar view, but instead sends the discounts to users by another mode of communication (e.g., via email or IM)..
Calendar system 108 receives from the client computer 102 associated with the user an appointment request to schedule an appointment with the provider (834). It should be noted that the term “appointment” herein includes appointments or reservations for all types of services, equipment, and events that can be booked using the calendar system described herein. For example, doctor appointments, salon appointments, classes, plumber visits, office hours for a professor, rental equipment reservations, and meetings are considered appointments. In some embodiments, the user submits an appointment request via client 102 by selecting an available timeslot on the service provider's calendar. In other embodiments, the user selects a timeslot and a particular service, if more than one service is available from the service provider. In still other embodiments, the user selects or indicates a schedule range in which the user is available, and allows calendar system 108 to specify the particular time slot.
Calendar system 108 determines that the appointment request can be accepted (836). In some embodiments, this determination is based on the service provider's availability (838). In some embodiments, the calendar system determines that the appointment request can be accepted in accordance with the received appointment constraints (provided in operations 802-808). For example, this determination may be based upon the user being on the list of one or more specified users allowed to book an appointment with the service provider (e.g., a doctor may only allow patients with certain insurance to book with him.) In still other embodiments, this determination is based on the number of participants the service provider can accommodate simultaneously (840). For example, the service provider may allow up to N simultaneous bookings for a certain presentation, movie, or class.
In some embodiments, the service provider is allowed to accept or deny the appointment (842). For example, calendar system 108 sends the appointment request to service provider computer 104 and receives a response accepting or denying the appointment. In other embodiments, the determination as to whether the appointment can be accepted is done automatically and the service provider does not individually accept or deny appointments.
The process continues in
In some embodiments, calendar system 108 optionally provides an invoice for the service provided by the service provider to the user (850). In some embodiments, the invoice is for only a portion of the services, and acts as a hold fee for the appointment. In some embodiments the invoice is provided directly after the booking, and before the service is performed (852). In other embodiments, the invoice is not provided until after the time of the appointment, and thus after the service has supposedly been provided by the service provider. In some embodiments, the service provider collects the service fee directly from the user. However, the option provided here gives the service provider the option of allowing the calendar system to handle payment collections. In embodiments where a discount is available (such as those discussed with respect to operations 828-832), a discount offer is applied to the invoice (854).
In embodiments where calendar system 108 provides the invoice for the services provided, calendar system 108 accepts payment from the user for the invoice (856). Then calendar system 108 sends at least a portion of the payment to the service provider (858). The calendar system may also allow or encourage the user to add a gratuity for the service provider to the service payment. This sending may include depositing the invoice payments into a service provider account (e.g. debit account 325,
After booking the appointment, calendar system 108 charges the service provider a booking fee for the booked appointment (860). As discussed with respect to operation 810, the booking fee is an amount that the service provider bid to pay for each successfully booked appointment. In some embodiments the booking fee is a pre-arranged flat fee. In other embodiments the fee is determined based on a plurality of fee calculation factors (862). For example, in some embodiments, the booking fee is determined according to a formula taking into account the cost of the service provided as well as an additive and/or multiplicative factor (e.g., a percentage) specified by the booking bid. In some embodiments, the charging of the booking fee is deferred until a pre-determined criterion has been met (864). Examples of the pre-determined criteria include: whether the user is qualified to book the appointment, whether the appointment was not cancelled for at least a predefined period of time following the booking of the appointment or prior to the appointment, whether payment was received from the user, whether payment information of the user was verified, whether insurance information for the user was verified, and whether the user has completed a registration process. For example, the booking fee may not be charged until the appointment has passed, or it may not be charged until a specified period of time (e.g., N day or hours) before the appointment (assuming that the user or the service provider has not cancelled the booked appointment in the interim.)
Finally, the service provider pays the fee (or the fee is debited from the service provider's account) such that calendar system 108 receives the booking fee for the successfully booked appointment between the user and the service provider (866). In some embodiments, when the fee is debited from the service provider's account and the account is also used to collect the payments from the users for the services provided, the service provider allows the calendar system to handle all of the payment transactions as well as the appointment booking transactions with minimal oversight. Whether the service provider uses the calendar system just for booking appointments, or whether the service provider also uses the calendar system for invoicing users for the services provided, the service provider has more time to devote to providing services to users and less headaches involved with maintaining the calendars and at least some of the accounting associated with running a business.
Each of the operations shown in
In the embodiment shown in
In the embodiments shown in
Once the user is satisfied with the appointment details, the user can request to schedule the appointment with the service provider. In this embodiment, the request to schedule the appointment is initiated by the user selecting the “reserve now” button 966. In response, client 102 sends an appointment request to calendar system 108, which receives the request as described in the operation 834 (
The foregoing description, for purpose of explanation, has been described with reference to specific embodiments. However, the illustrative discussions above are not intended to be exhaustive or to limit the invention to the precise forms disclosed. Many modifications and variations are possible in view of the above teachings. The embodiments were chosen and described in order to best explain the principles of the invention and its practical applications, to thereby enable others skilled in the art to best utilize the invention and various embodiments with various modifications as are suited to the particular use contemplated.