On-Line Appointment System
Improved approaches for providing on-line appointments over a network are disclosed. The network is, for example, a global computer network such as the Internet. According to one aspect, users are able to schedule appointments over the network by on-line means. The users are typically individuals or service providers. Service providers are often those businesses that offer appointments to schedule their services.
This application is a continuation of and claims the benefit under 35 U.S.C. §120 to U.S. patent application Ser. No. 09/550,706, filed Apr. 17, 2000, which claims the benefit under 35 U.S.C. §119 (e) of U.S. Provisional Application Ser. No. 60/149,346, filed Sep. 15, 1999 and U.S. Provisional Application Ser. No. 60/145,201, filed Aug. 18, 1999, the disclosures of which are incorporated by reference herein in their entirety.
This application is also related to the following applications, filed concurrently on Apr. 17, 2000 with the parent application and incorporated herein by reference in their entirety: (1) U.S. patent application Ser. No. 09/551,825, entitled “ON-LINE APPOINTMENT SYSTEM WITH ELECTRONIC NOTIFICATIONS,” now U.S. Pat. No. 7,188,073; (2) U.S. patent application Ser. No. 09/550,585, entitled “METHOD AND APPARATUS FOR MAKING ON-LINE APPOINTMENTS USING PREDETERMINED APPOINTMENT TYPES,” and (3) U.S. patent application Ser. No. 09/551,179, entitled “GRAPHICAL USER INTERFACE FOR ON-LINE APPOINTMENT SYSTEM.”
COPYRIGHT NOTICEA portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure as it appears in the U.S. Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.
BACKGROUNDThe present description relates to calendars and appointments and, more particularly, on-line calendars and appointments.
For many years, individuals and businesses have maintained printed calendars to schedule their time and to remember when events have been scheduled. Typically, individuals or business representatives would write on the printed calendars when scheduling events. More sophisticated scheduling and time management printed products are also used to maintain schedules and guide time management. Besides printed calendars, electronic calendars are commonplace. Electronic calendars are provided by software executing on various computing devices, such as personal computers (e.g., Microsoft Outlook) or handheld computers (e.g., PalmPilot). These types of devices, whether paper or electronic based, are generally referred to as personal information managers (PIMs).
In addition, when making appointments, individuals and business representatives often view their respective calendars and converse in person or via telephone as to when their schedules permit the scheduling of an appointment. This requires that parties to the appointment converse in selecting a date and time for an appointment. As a consequence, it is often difficult and frustrating when trying to schedule appointments.
More recently, web-based calendars have been created and made available to users over the Internet. These calendars allow users with Internet access to maintain their own calendar on-line.
There is a need for improved on-line calendars and appointment making capabilities.
SUMMARYBroadly speaking, the disclosure relates to techniques for providing on-line appointments such that users can schedule appointments with other users over a network. The network is, for example, a global computer network such as the Internet. In other words, users are able to schedule appointments over the network by on-line means. The users are typically individuals or service providers. Service providers are normally those businesses that offer appointments to schedule their services. Numerous service providers utilize appointments. Examples of service providers include beauty shops, auto repair shops, government offices, professionals (including lawyers, dentists, doctors, accountants, etc.), and many more.
The techniques for providing on-line appointments can be implemented in numerous ways, including as a computer system, an apparatus, a method or a computer readable medium. Several embodiments are discussed below.
As a method for providing an on-line appointment between a user and a service provider over a network, one embodiment includes: receiving a request for appointment availability of the service provider during a time period; determining available appointment times within the time period for the service provider; transmitting the available appointment times to the user; receiving a selected appointment time from the available appointment times; and setting the on-line appointment between the user and the service provider at the selected appointment time.
As a method for providing an on-line appointment over a network, one embodiment includes: transmitting a user's electronic calendar to a user; transmitting a list of available service providers to the user; receiving a request for appointment availability of a selected one of the available service providers; determining available time slots for the selected one of the available service providers; transmitting the available time slots to the user; receiving a time slot selection from the available time slots to establish an appointment with the selected one of the available service providers; updating the user's electronic calendar with the appointment; and updating an electronic calendar for the selected one of the available service providers with the appointment.
As computer readable medium including computer code for providing an on-line appointment between a user and a service provider over a network, one embodiment includes: computer program code for receiving a request for appointment availability of the service provider; computer program code for determining available appointment slots for the service provider; computer program code for transmitting the available appointment slots to the user; computer program code for receiving a selected appointment slot from the available appointment slots; and computer program code for setting the on-line appointment between the user and the service provider at the selected appointment slot.
As a computer readable medium including computer code for providing an on-line appointment over a network, one embodiment includes: computer program code for transmitting a user's electronic calendar to a user; computer program code for transmitting a list of available service providers to the user; computer program code for receiving a request for appointment availability of a selected one of the available service providers; computer program code for determining available time slots for the selected one of the available service providers; computer program code for transmitting the available time slots to the user; computer program code for receiving a time slot selection from the available time slots to establish an appointment with the selected one of the available service providers; computer program code for updating the user's electronic calendar with the appointment; and computer program code for updating an electronic calendar for the selected one of the available service providers with the appointment.
As a method for doing business over a global computer network, one embodiment includes: registering service providers over the global computer network to identify at least offered services, appointment hours, contact information for the registered service providers; providing an on-line calendar for each of the registered service providers; registering individuals over the global computer network; providing an on-line calendar for each of the registered individuals; and setting of appointments with certain of the registered service providers when the appointment have been requested by any of the registered individuals, and for each appointment being set, the setting at least places appointment indications on the on-line calendars of the associated one of the registered service providers and the associated one of the individuals.
As an on-line appointment system that supports a large number of users in making appointments over the Internet, one embodiment includes an appointment server coupled to the network, and an appointment database coupled to the appointment server. The appointment server and the appointment database together provide storage and access for calendars of the users and provide assistance to users to request appointments and thereafter permit confirmation the appointments.
As a method for making on-line appointments over a computer network, one embodiment includes: registering as a user of an on-line appointment system, the registering providing a user name, contact information, and appointment availability information for the user, the appointment availability information indicating days and times during which the user is generally available to receive appointments; maintaining on-line calendars for the registered users, the on-line calendars including scheduled appointments or events for the respective registered user; and scheduling appointments between users. The scheduling includes at least receiving an appointment request from a first registered user requesting an appointment with a second registered user, and selecting an appointment date and time for the appointment in accordance with the appointment availability information for the second registered user and non-conflicting with any other previously scheduled appointments or events in the on-line calendar of the second registered user.
As a computer implemented method for providing on-line appointment services over a global computer network, one embodiment includes: registering service providers for on-line appointments over the global computer network, the registering providing appointment availability information for the registered service providers; and scheduling on-line appointments between users and the registered service providers over the global computer network based on the availability information.
Different embodiments or implementations of techniques for providing on-line appointments may have one or more of the following advantages. One advantage is that appointments can be efficiently established on-line at any time day or night. Appointments can also be established without the need to waiting for personal assistance to schedule an appointment with a service provider. Another advantage is that user can manage and schedule appointments using a website. Still another advantage is that customers can use a central website to make appointments with various service providers. Yet another advantage is that synchronization of calendars or appointments between those maintained by the central website and those on local computers.
Other aspects and advantages of the techniques for providing on-line appointments will become apparent from the following detailed description, taken in conjunction with the accompanying drawings, illustrating by way of example various embodiments.
The present disclosure will be readily understood by the following detailed description in conjunction with the accompanying drawings, wherein like reference numerals designate like structural elements, and in which:
The following discussion relates to techniques for providing on-line appointments such that users can schedule appointments with other users over a network. The network is, for example, a global computer network such as the Internet. In other words, users are able to schedule appointments over the network by on-line means. The users are typically individuals or service providers. Service providers are normally those businesses that offer appointments to schedule their services. Numerous service providers utilize appointments. Examples of service providers include beauty shops, auto repair shops, government offices, professionals (including lawyers, dentists, doctors, accountants, etc.), and many more.
The on-line appointment management system 200 allows users (e.g., consumers) to request appointments with other users (e.g., service providers), and also allows users (e.g., service providers) to accept or decline the requested appointments. For example, in one implementation, a user of the consumer's computer 208 can access the appointment server 202 through the network 206 to request an appointment with a given service provider at a particular date and time. Thereafter, the service provider can be informed of the requested appointment and then either confirm or reject the appointment.
In another implementation, the appointment server 202 also provides calendars for the users (consumers and service providers). The calendars allow the users to maintain their schedules on-line and thus accessible from various computers with access to the network 206. In this implementation, a user can still request an appointment with a service provider. Since the service provider also has a calendar, the appointment server 202 is able to determine when the service provider has time available for appointments. In requesting an appointment with the service provider, the user selects from the available appointment times. Thereafter, the service provider is notified of the requested appointment and given the opportunity to accept or decline the requested appointment. Once the requested appointment has been accepted (or confirmed), the requested appointment becomes a confirmed appointment and can appear as being “confirmed” on the respective calendars of the user and service provider.
The appointment server 250 includes a web server 254 that manages the network interaction with respect to the network 206. The web server 254 communicates or uses the resources of a search manager 256, a calendar/appointment manager 258, and an email manager 260. The search manager 256 allows the appointment server 250 to search a directory, such as a business directory, to locate businesses (i.e., service providers) of interest to a user. The calendar/appointment manager 258 provides the resources to provide users with calendars and to allow users to make appointments. The email manager 260 allows for the automatic distribution of electronic mail to provide various notifications. Each of the search manager 256, the calendar/appointment manager 258 and the email manager 260 make use of the appointment database 252 in providing their services or resources.
The appointment database 252 includes a calendar/appointment database 262, a business directory database 264, and a user information database 266. The calendar/appointment database 262 stores calendar data and appointment data for use by the appointment server 250. More particularly, the calendar/appointment manager 258 uses the data stored in the calendar/appointment database 262 when providing the users with calendars or appointment capabilities. The business directory database 264 stores a business directory that contains businesses that provides services to users. These businesses are also known as service providers. The search manager 256 of the appointment server 250 can operate to search through the business directory database 264 to identify businesses of interest to a user. The user information database 266 stores user information, such as account information, user preferences, user name, user address, user email, etc. The user information database 266 is used by the appointment server 250 to store information about users, including: user name, password, mailing address, email address, general appointment availability. The user information database 266 can also be used to improve user satisfaction by not requiring a user to repetitively enter information or provide various preferences. In addition, the email manager 260 of the appointment server 250 utilizes information in the user information database 266, namely, the email address for users to receive email notifications. Although
The on-line appointment service processing 300 also registers 306 users for on-line calendars. The registration process can obtain contact information, user identifier (ID) and password, and calendar configuration information. The registration can also allow the user being registered to permit on-line appointments to be made with them. If the user permits on-line appointments to be made with them, then the registration process can also identify time periods of availability for appointments. The user ID and password provide secure access to the user's on-line calendar.
Further, the on-line appointment service processing 300 allows on-line appointments to be scheduled 308 between users and service providers. Additionally, the on-line appointment service processing 300 allows for the automatic display of appointment indications in the on-line calendars for the users or service providers, to the extent such on-line calendars are provided. Thus, scheduled appointments can appear in on-line calendars much like other events. Appointments can also be subsequently confirmed or canceled. Email notifications can also notify participants of: requested appointments, confirmation of appointments, or cancellation of appointments.
The on-line appointments can be scheduled 308 using the on-line appointment service processing 300 at any time and without the need for the service provider's office to be open for business. The on-line appointment processing 300 also is efficient, user friendly, and allows for on-line appointment management. The on-line appointments being scheduled can also be linked to (e.g., integral with) the on-line calendars of the users and service providers.
The appointment processing 350 is, for example, performed by the appointment server 202 illustrated in
Once the available appointment times are determined 354, the available appointment times are transmitted 356 to the user. After the available appointment times have been transmitted 356 to the user, a decision 358 determines whether an appointment request has been received. If an appointment request has not yet been received, the appointment processing 350 awaits the reception of an appointment request. Once an appointment request has been received, an appointment for the selected appointment time is set 360. For example, the appointment for the selected appointment time can be set 360 in the calendar/appointment database 262 for both the user and the service provider. After the appointment has been set 360, the appointment processing 350 is complete and ends.
The consumer-side on-line appointment processing 400 initially accesses 402 an appointment server web page. The appointment server web page is provided by the appointment server, e.g., appointment server 202, 250. Next, a login page is received and displayed 404. A user name and password are then entered and submitted 406. Here, the user logs onto the appointment server by completing the login page with his/her user name and password. After the appointment server has confirmed the user name and password, a user's calendar is received and displayed 408. Here, the user's calendar would be displayed on a display device associated with the consumer's computer.
At this point, the user can interact with the user's calendar being displayed to select different view or dates—so called navigation with respect to the user's calendar. Besides navigation, the user can request to add an event or make an appointment. The consumer-side on-line appointment processing 400 continues when the user requests to make an appointment. In this regard, a decision 410 determines what type of processing the user desires to perform. More particularly, a decision 410 determines whether a user desires to make an appointment. When the decision 410 determines that the user has not yet requested to make an appointment, then a decision 412 determines whether the user has requested other processing. When a user has requested other processing (e.g., navigation acts or event processing), the other processing 414 is performed and then a decision 415 determines whether to quit the consumer-side on-line appointment processing 400. When the decision 415 determines that the consumer-side on-line appointment processing 400 should quit, then the consumer-side on-line appointment processing 400 is complete and ends. On the other hand, when the decision 412 determines that the user has not requested other processing or when the decision 415 determines that the consumer-side on-line appointment processing 400 should not quit, then the consumer-side on-line appointment processing 400 returns to repeat the decision 410 and subsequent blocks.
Once the decision 410 determines that the user does desire to make an appointment, then a request 416 to make an appointment can be sent to the appointment server. After the request 416 to make an appointment has been sent, the consumer's computer will receive and display 418 a service provider search form. Search information is then entered and a search request submitted 420.
A decision 422 then determines whether a response to the search request has been received. When the decision 422 determines that a response has not yet been received, the consumer-side on-line appointment processing 400 awaits such a response. Once the decision 422 determines that a response has been received, a list of matching service providers is displayed 424. Then, the consumer-side on-line appointment processing 400 awaits the user's selection from the list of matching service providers. A decision 426 determines whether the selection has been made. When the decision 426 determines that the selection has not yet been made, the consumer-side on-line appointment processing 400 awaits such a selection.
Once the decision 426 determines that such a selection has been made, appointment types for the selected service provider are requested 428. A decision 430 then awaits a response to the request for appointment types. When the decision 430 determines that a response has not yet been received, the consumer-side on-line appointment processing 400 awaits such a response. Once the decision 430 determines that a response, namely, appointment types for the selected service provider are received, then the appointment types for the selected service provider are displayed 432.
A decision 434 then determines whether one of the appointment types being displayed 432 has been selected. When the decision 434 determines that an appointment type has not been selected, the consumer-side on-line processing 400 awaits the selection of an appointment type. Once the decision 434 determines that an application type has been selected, appointment availability for the selected appointment type on a predetermined date is requested 436. The consumer-side on-line appointment processing 400 then awaits a response to the request 436 for appointment availability.
When the decision 438 determines that a response has been received, appointment availability information for the selected service provider is displayed 440. The appointment availability information includes at least available time slots for appointments with the selected service provider. Next, an available time slot is selected 442 for the appointment being processed. Here, the user selects an available time slot from those being displayed 440 with the appointment availability information.
Once an available time slot is selected 442, an appointment with the service provider at the selected available time slot is requested 444. Thereafter, appointment verification information is received and displayed 446. The appointment server presents the appointment verification information to the user. A decision 448 then determines whether the appointment has been verified. Here, the user can either proceed with the making of the appointment if the appointment verification information is correct or repeat some or all of the making of the appointment if the appointment verification information is incorrect. When the decision 448 determines that the appointment has not been verified, then the consumer-side on-line appointment processing 400 returns to repeat the operation 440 and subsequent operations so that the appointment being made can be altered. On the other hand, when the decision 448 determines that the appointment has been verified, appointment verification is sent 450. The consumer-side on-line appointment processing 400 is then complete and ends with the appointment having been made.
Although user's calendars could be shared with a group of users or made public, in this embodiment, the user's calendar is likely private to the user because the user name and password are required for access to the user's calendar. Hence, users are not able to view or modify other's calendars or make appointments for others. In requesting an appointment with another (i.e., service provider), the available time slots pertain to the service provider's calendar. However, the available time slots for potential appointments may be displayed to the requestor without showing the service provider's entire calendar. Further, in another embodiment, a user (e.g., service provider) may want to limit the number of available time slots shown as being available to a user requesting an appointment, so as to prevent giving the impression of not being busy. In yet another embodiment, a user (e.g., service provider) may want to bias those users requesting appointment to certain time slots. For example, the available time slots could be biased to within the morning office hours to encourage morning appointments. By providing primarily morning time slots, users would be biased towards requesting a morning appointment. As another example, different types of appointments could be provided with different available time slots through different biasing or different availability given the appointment types.
The server-side on-line appointment processing 500 initially sends 502 a login page to a requesting user. Then, a decision 504 determines whether a login request has been received. When the decision 504 determines that a login request has not been received, the server-side on-line appointment processing 500 awaits such a login request. Once the decision 504 determines that a login request has been received, the user name and password associated with the login request are verified 506. A decision 508 then determines whether the verification has been successful. When the decision 508 determines that the verification has not been successful (e.g., login denied), the server-side on-line appointment processing 500 returns to repeat the send operation 502 and subsequent operations to handle subsequent login requests.
On the other hand, when the decision 508 determines that the verification has been successful (e.g., login granted), a user's calendar data is retrieved 510. For example, the user's calendar data can be retrieved from the appointment database 204 illustrated in
Next, a decision 516 determines whether a request to make an appointment has been received. The decision 516 causes the server-side on-line appointment processing 500 to await the reception of a request to make an appointment. Although other types of requests could be made, including an event request, the server-side on-line appointment processing 500 is primarily concerned with the making of appointments. Once the decision 516 determines that a request to make an appointment has been received, a service provider search form is retrieved and sent 518. For example, the service provider search form can be used to assist a user in locating a particular service provider registered with the appointment database 204 or the business directory database 264 of the appointment database 252.
A decision 520 then determines whether a search request has been received. Here, a search request results when the user completes and submits the service provider search form. The decision 520 causes the server-side on-line appointment processing 500 to await the reception of a search request. Once the decision 520 determines that a search request has been received, the service providers that match the search information are retrieved 522. For example, the search can search through the business directory database 264 of the appointment database 252 to identify those service providers that match the provided search information. Then, a list of matching service providers is produced 524. The list of matching service providers is then sent 526.
A decision 528 then determines whether a request for appointment type has been received. A request for appointment type results when the user selects one of the service providers from the list of matching service providers. In other embodiments, a service provider can additionally or alternatively be chosen by use of an address book or from a preferred provider directory where a directory search is not needed. When the decision 528 determines that a request for appointment type has not yet been received, the server-side appointment processing awaits such a request. Once the decision 528 determines that a request for appointment types has been received, appointment types for the selected service provider are retrieved 530. For example, the appointment types can be retrieved from the appointment database. After the appointment types are retrieved 530, the appointment types for the selected service provider are sent 530.
A decision 532 then determines whether a request for appointment availability has been received. A request for appointment availability results when the user selects one of the appointment types available for the selected service provider. When the decision 532 determines that a request for appointment availability has not yet been received, the server-side on-line appointment processing 500 awaits such a request. Once the decision 532 determines that a request for appointment availability has been received, the selected service provider's calendar data for the predetermined date is retrieved 534. The service provider's calendar data is, for example, retrieved 534 from the appointment database 204 or the calendar/appointment database 262 of the appointment database 252. After the service provider's calendar data is retrieved 534, available time slots in the selected service provider's calendar data for the selected appointment type on the predetermined date are determined 536. In one implementation, the selected appointment type can identify the duration of the appointment to be scheduled. In another implementation, the duration of the appointment to be scheduled can be indicated by the requestor. Appointment availability information is then formatted 538 for the selected service provider. Here, the appointment availability information can, for example, include the available time slots for the selected service provider as well as the user's calendar. Such an arrangement of information allows a user to easily schedule an appointment with the available time slots of the service provider while having the user's calendar visible. The appointment availability information can be formatted as a markup language document (page) (e.g., HTML). The appointment availability information is then sent 540.
Next, a decision 542 determines whether an appointment request has been received. Here, an appointment request results when the user selects one of the available time slots provided with the appointment availability information. When the decision 542 determines that an appointment request has not yet been received, the server-side on-line appointment processing 500 awaits such a request. Once the decision 542 determines that an appointment request has been received, appointment verification information is retrieved 544. The appointment verification information is used to enable the user to reconfirm the details of the appointment being requested. Then, the appointment verification information is sent 546.
A decision 548 then determines whether a verification has been received. When the decision 548 determines that a verification has been received, a pending appointment is stored 550 in the user's calendar data and the service provider's calendar data. On the other hand, when the decision 548 determines that a verification has not been received, namely, that verification was denied, the operation 550 is bypassed. The denial of verification can lead to cancellation of the appointment being scheduled or returning to earlier processing to allow the user to alter the appointment being requested. Following block 550 as well as following the decision block 548 when there has been no verification, the server-side on-line appointment processing 500 is complete and ends.
Before calendar and appointment capabilities are provided to users, certain information is normally obtained from the users. This information includes, for example, contact information, setup information, and appointment configuration information.
The client-side new user processing 560 initially receives and displays 562 a registration page. The registration page allows a new user to the system to provide information about themselves. The information provided typically includes contact information as well as a requested user name and password. In one implementation, the contact information can include: first name, last name, company name, address, city, state/province, country, zip/postal code, telephone number, and email address. The user interacts with the registration page being displayed to enter the contact information and the requested user name and password. Here, the contact information and the requested user name and password are entered and submitted 564. Once submitted, the client-side new user processing 560 awaits a response from the server.
A decision 566 determines whether a response has been received. When the decision 566 determines that the response has not yet been received, the client-side new user processing 560 awaits such a response. Once the response has been received, a setup page is displayed 568. Then, setup information is entered and submitted 570. Here, the setup page can ask the user to provide setup information regarding the setup of their on-line calendar and appointment capabilities. The user provides this setup information by interacting with the setup page being displayed. In one implementation, the setup information can include: selecting a default view for a calendar, setting a default time range for the calendar, setting a time zone for the calendar, indicating whether email notifications for scheduled appointments are requested, and indicating whether others are able to schedule appointments with the user. In any case, after the setup information is entered and submitted 570, the client-side new user processing 560 awaits a response from the server. A decision 572 determines whether a response has been received. The response from the server will differ depending upon whether the user has allowed others to schedule appointments with them. A decision 574 determines whether appointment support has been enabled. When the decision 574 determines that the appointment support has been enabled, an appointment configuration page is displayed 576 after the response from the server is received. Here, when appointment support has been enabled, the response from the submission of the setup information 570 is the appointment configuration page. After the appointment configuration page is displayed 576, appointment configuration information is entered and submitted 578. The user provides the appointment configuration information by interacting with the appointment configuration page being displayed. The appointment configuration information is used to configure the operation of the appointment scheduling. For example, the appointment configuration information can indicate days and times of availability and non-availability for appointments, types of appointments that can be made as well as their duration, and whether appointments should be confirmed automatically or not. As an example, one's availability for scheduling appointments during a week can be setup so that appointments can be scheduled on certain days (e.g., Monday-Friday), within certain time periods, and by further exclusion of certain time periods (e.g., lunch hour). The types of appointments can also be classified by industry or other categories. Following the submission 578 of the appointment configuration information, the client-side new user processing 560 ends and processing follows block 408 illustrated in
On the other hand, when the decision 574 determines that appointment support is not enabled, then the response from the submission 560 of the setup information is that the processing of the client-side new user processing 560 ends. Hence, in this case, the client-side new user processing 560 subsequently follows the processing beginning at block 408 illustrated in
The server-side new user processing 580 initially sends 582 a registration page to the user's computer. Then, a decision 584 causes the appointment server to await a registration request from the user's computer. When the decision 584 determines that a registration request has not yet been received, the server-side new user processing 580 awaits such a request. Once the decision 584 determines that a registration request has been received, a user account is opened and contact information, user name and password are stored 586. In one implementation, the user account can be opened or provided within the appointment database, such as the appointment database 204 illustrated in
Next, a setup page is sent 588. The setup page allows the user to enter setup information to specify, for example, how the user would like the default calendar setup and whether or not others are able to schedule appointments with them. Next, a decision 590 determines whether a setup request has been received. Here, the decision 590 determines whether the client-side new user processing 560 has submitted the setup information with a setup request. When the decision 590 determines that a setup request has not yet been received, the server-side new user processing 580 awaits such a request. Once the decision 590 determines that a setup request has been received, the setup information provided with the setup request is stored 592. In one implementation, the setup information is stored in the appointment database, such as the appointment database 204 illustrated in
A decision 594 then determines whether appointment support has been enabled. Here, the setup information informs the server whether the user desires to enable others to schedule appointments with them. When the decision 594 determines that appointment support has not been requested, then the server-side new user processing 580 is complete and processing returns to block 510 in
The client-side on-line appointment processing 400 and the server-side on-line appointment processing 500 can be modified to obtain additional appointment information from a user. For example, in making certain types of appointments, some service providers desire to obtain additional information about the user. For example, in a case where a user is making an appointment with a dentist (service provider), the dentist often wants to know if the user is a new patient or an existing patient. For new patients, a patient normally has to fill out a questionnaire. For existing patients, no questionnaire is needed but confirmation of similar information could be performed. As another example, an auto repair business (service provider) may want to obtain information on the owner and vehicle. Hence, the additional information gathered often varies with industry and type of consumer (user).
The client-side appointment-type processing 600 represents optional processing that can enhance the client-side on-line appointment processing 400 illustrated in
The client-side appointment-type processing 600 initially requests 602 an industry-type for the selected service provider. Here, the selection of one of the service providers causes the request for the industry type. Next, a decision 604 determines whether a response from the appointment server has been received. Here, the response is a consumer type form that is provided to the consumer's computer from the appointment server. When the decision 604 determines that the response has not yet been received, the client-side appointment-type processing 600 awaits such a response. Once the decision 604 determines that the response has been received, the customer type form is displayed. For example, the customer type form would be displayed on a display screen associated with the consumer's computer. Then, a customer type is selected 608. The customer type form thus enables the user to identify the type of customer they are (e.g., new or existing) to the appointment server. For example, the user of the consumer's computer can make a selection with respect to the customer type form being displayed on the display screen. For example, if the service provider were a dentist, the customer type form could provide options for the user to designate themselves as a new patient or an existing patient. After the customer type has been selected 608, an appropriate customer type information form is requested 610. In other words, once the customer type has been selected, a request is sent to the appointment server requesting 610 the customer type information form that is associated with the selected customer type. Next, a decision 610 determines whether a response has been received. Here, the response is the appropriate customer type information form that is provided by the appointment server. When the decision 612 determines that the response to the request 610 has not yet been received, then the client-side appointment type processing 600 awaits such a response. Once the decision 612 determines that the response has been received, the appropriate customer type information form is displayed 614. For example, the appropriate customer type information form can be displayed on the display screen associated with consumer's computer. Thereafter, the customer type information form is completed and submitted 616. Here, for example, the user of the consumer's computer would interact with the customer type information form being displayed to enter information and then once the customer type information form has been sufficiently completed would submit the form to the appointment server 202. After the completion and submission of the customer type information form, the client-side appointment-type processing 600 is complete and ends.
The server-side appointment type processing 700 represents optional processing associated with the server-side on-line appointment processing 500 illustrated in
The server-side appointment type processing 700 begins with a decision 702 that determines whether an industry type request has been received. When the decision 702 determines that an industry type request has not yet been received, the server-side appointment type processing 700 awaits such a request. Once the decision 702 determines that an industry type request has been received, an industry type for the selected service provider is retrieved 704. Then, available customer types for the industry types are retrieved 706. As an example, the industry types and available customer types can be retrieved from the appointment database 204 illustrated in
Next, a decision 712 determines whether an information form request has been received. When the decision 712 determines that an information form request has not yet been received, the server-side appointment type processing 700 awaits such a request. Once the decision 712 determines that an information form request has been received, the appropriate customer type information form is retrieved 714. Then, the appropriate customer type information form is sent 716.
A decision 718 next determines whether a completed form has been received. Here, the server-side appointment type processing 700 is awaiting the submission of the customer type information form from the client-side appointment type processing 600. When the decision 718 determines that the completed form has not yet been received, the server-side appointment type processing 700 awaits the reception of the completed form. Once the decision 718 determines that the completed form has been received, the customer information provided in the completed form is saved 720. For example, the customer information is saved 720 in the appointment database 204 or the user information database 266 of the appointment database 252. Thereafter, the server-side appointment type processing 700 is complete and ends.
After a consumer (user) has interacted with an appointment server to request an appointment with a service provider, the service provider can be given an opportunity to review the requested appointments from various consumers and either accept or decline the requested appointments.
The service provider appointment review processing 800 typically begins sometime after an email notification has been received by the service provider. More particularly, in one embodiment, the service provider is provided with an email notification when a consumer has requested an appointment with the service provider. As an example, such an email notification can inform the service provider of the name of the requestor and the date and time when the requestor desires an appointment. The service provider, upon receiving the email notification, can initiate access to the appointment server to review the requested appointment. Hence, although the invocation of the service provider appointment review processing 800 typically follows the reception of an email notification, in more general terms is activated whenever requested by the service provider. Thus, the service provider appointment review processing 800 begins when activated by a service provider.
After being activated, the appointment server webpage is accessed 804. The appointment server webpage, as noted above, is provided by the appointment server (e.g., appointment server 202, 250). Next, a login page is received and displayed 806. Here, the login page can be received from the appointment server and displayed on a display screen associated with the service provider's computer. Then, the service provider enters and submits 808 a user name and password. Then, assuming the login was successful, the service provider appointment review processing 800 receives and displays 810 the service provider's calendar. Here, the service provider's calendar is supplied by the appointment server.
Following the display of the service provider's calendar, the service provider can perform various navigation acts or operations with respect to the service provider's calendar provided by the appointment server. Eventually, the service provider desires to accept or decline a requested appointment. For example, to initiate acceptance or decline of a requested appointment, the service provider could select an icon or button being displayed. As an example, the icon or button can be displayed with the service provider's calendar. A decision 812 determines whether an appointment status selection has been made for a particular requested appointment. When the decision 812 determines that an appointment status selection has not been made, then a decision 814 determines whether the service provider appointment review processing 800 is done. When the decision 814 determines that the service provider appointment review processing 800 is done, the service provider appointment review processing 800 is complete and ends. On the other hand, when the decision 814 determines that the service provider appointment review processing 800 is not completed, then processing returns to repeat the navigation acts or operations and subsequent blocks including the decision 812.
Alternatively, when the decision 812 determines that an appointment status selection has been made, an appointment status notification is sent 816. Here, the appointment status notification provides an indication to the appointment server as to whether the requested appointment is accepted or declined. An accepted appointment is also referred to as a confirmed appointment. Also, depending on whether the requested appointment has been accepted or declined, the service provider appointment review processing 800 operates differently. In particular, a decision 818 determines whether the requested appointment has been accepted. When the decision 818 determines that the requested appointment has not been accepted (i.e., declined), the service provider appointment review processing 800 returns to repeat the operation 810 and subsequent operations. On the other hand, when the decision 818 determines that the requested appointment has been accepted, a decision 820 determines whether detailed appointment information has been received. Here, the appointment server will forward or send to the service provider's computer detailed appointment information on the appointment that has been accepted. When the decision 820 determines that detailed appointment information has not yet been received, the service provider appointment review processing 800 awaits such information. Once the decision 820 determines that detailed appointment information has been received, the detailed appointment information is displayed 822. For example, the detailed appointment information can be displayed on a display screen associated with the service provider's computer 210. Next, a decision 824 determines whether the detailed appointment information has been verified. Here, the service provider is provided with an opportunity to verify the particular information included in the detailed appointment information. Hence, the service provider reviews the detailed appointment information displayed on the display screen and then verifies its accuracy. When the decision 824 determines that the information has not yet been verified, the service provider appointment review processing 800 awaits such verification. Although not illustrated in
The server-side appointment review processing 900 sends 902 a login page. Typically, the login page would be in response to a request by the service provider's to access the appointment server website. Next, a decision 904 determines whether a login request has been received. When the decision 904 determines that a login request has not yet been received, the server-side appointment review processing 900 awaits such a request. Once the decision 904 determines that a login request has been received, the user name and password associated with the login request are verified 906. A decision 908 then determines whether the user name and password have been correctly verified. When the decision 908 determines that the user name and password were not able to be verified, then access is denied and the processing returns to repeat the operation 902. On the other hand, when the decision 908 determines that the user name and password are correctly verified, then service provider's calendar data is retrieved 910. Here, for example, the service provider's calendar data can be retrieved from the appointment database 204 illustrated in
Thereafter, the server-side appointment review processing 900 can perform various actions or operations such as altering the calendar view being provided or sent to different days, months or weeks. In any event, since the service provider will eventually request an appointment confirmation, the server-side appointment review processing 900 will recognize when the service provider is accepting or declining an appointment. In this regard, a decision 916 determines whether an appointment has been accepted (or rejected). Here, an appointment status notification is sent to the appointment server by the service provider following acceptance or cancellation of a requested appointment. When the decision 916 determines that an appointment has been declined by the service provider, a decision 918 determines whether the server-side appointment review processing 900 is done. When the decision 918 determines that the server-side appointment review processing is done, then the server-side appointment review processing 900 is complete and ends. On the other hand, when the decision 918 determines that the server-side appointment review processing 900 is not done, then the processing returns to the decision 916 to await another appointment status notification for another requested appointment.
In this embodiment, the requested appointments (e.g., pending appointments) are reviewed minimal information about the appointments, for example, date, time and requestor's name. Once the decision 916 determines that an appointment has been accepted (i.e., confirmed), detailed appointment information is retrieved 920. The detailed appointment information is then sent 922. Here, the detailed appointment information is retrieved 920 from the appointment database 204, 252 and sent 922 to the service provider. As an example, the detailed appointment information provides more information on the appointments that were accepted. As an example, the detailed information can include date, time, type of appointment, a message from requestor, and contact information. Next, a decision 924 determines whether the detailed appointment information has been confirmed. The service provider can confirm the detailed appointment information. When the decision 924 determines that the detailed appointment information has not yet been confirmed, the server-side appointment review processing 900 awaits such a confirmation. When the decision 924 determines that the detailed appointment information has been confirmed, the status of the appointment is updated 926 to “confirmed” in the service provider's calendar data at the appointment database. In addition, the status of the appointment is updated 928 to “confirmed” in the user's calendar data at the appointment database. Also, an appointment confirmation email is sent 930 to the user. As an example, the appointment confirmation email serves to notify the consumer that his/her previously requested appointment has been confirmed (accepted). Of course, in other embodiments, the appointment confirmation email need not be sent to the user. Following operation 930, the server-side appointment review processing 900 returns to repeat the operation 910 and subsequent operations so that additional requested appointments can be reviewed.
Although appointment review was discussed above as being performed by a service provider, any user (e.g., consumer or service provider) permitting appointments to be made with them can likewise review appointments. Also, the appointment review could operate to provide the detailed appointment information before the service provider is asked to initially confirm or decline a requested appointment.
According to another aspect, an appointment server can operate to notify a selected service provider via facsimile or electronic mail that a user (customer) desires to make an appointment on a given date at a given period of time. In this regard, the service provider can be considered known but unregistered for on-line appointment services with the appointment server. As such, the appointment server can partially manage the appointment request. In particular, the consumer will access the appointment server in a general manner and make an appointment by filling out an appointment form and submitting the form. Then, the appointment server will receive the appointment form that has been submitted by the consumer and prepare a facsimile or electronic mail notification to the selected service provider indicating that the consumer has requested to make a particular appointment with the service provider. Upon receiving the facsimile or electronic mail notification, the service provider can contact the consumer through electronic mail, telephone or mail.
The client-side restricted appointment request processing 1000 initially accesses 1002 an appointment server website. Then, navigation and/or search operations are performed 1004. Here, a user can interact with the appointment server website to review a directory of service providers, obtain listings of particular types of service providers, review address book entries, etc. so as to eventually select a particular service provider for which an appointment is to be requested. Eventually, the consumer will cause the client-side restricted appointment request processing 1000 to request 1006 to make an appointment with the particular service provider. Following the request 1006, a decision 1008 determines whether an appointment request form has been received. Here, the appointment request form will be received from the appointment server in response to the request 1006. When the decision 1008 determines that the appointment request form has not yet been received, the client-side restricted appointment request processing 1000 awaits the reception of the appointment request form. Once the decision 1008 determines that the appointment request form has been received, the appointment request form is displayed 1010. Here, the appointment request form is displayed on the display screen of the consumer's computer. Next, the appointment request form is completed 1012. Here, the user of the consumer's computer fills in information requested by the appointment request form to complete the form. As an example, the information requested includes appointment date, duration and perhaps a message. Next, a decision 1014 determines whether the appointment request form is to be submitted. When the decision 1014 determines that the appointment request form is not yet ready to be submitted, the restricted appointment request processing 1000 returns to repeat the block 1012 and subsequent blocks. On the other hand, when the decision 1014 determines that the appointment request form is to be submitted, the completed form is submitted 1016. After the completed form is submitted 1016, the restricted appointment request processing 1000 is complete and ends.
The server-side restricted appointment request processing 1100 initially sends 1102 a webpage with a directory of service providers. Here, the webpage is part of the appointment server website and is provided to the consumer's computer upon access to the appointment server website. A decision 1104 then determines whether an appointment request has been received. When the decision 1104 determines that an appointment request has not yet been received, the server-side restricted appointment request processing 1100 awaits such a request. Once the decision 1104 determines that an appointment request has been received, an appointment request form is prepared and sent 1106. The appointment request form can be generic or customized for different industry types.
Next, a decision 1108 determines whether a completed appointment request form has been submitted. When the decision 1108 determines that the completed appointment request form has not yet been submitted, the server side restricted appointment request processing 1100 awaits the reception of a completed appointment request form. On the other hand, when the decision 1108 determines that the completed appointment request form has been submitted, a facsimile number or email address for the selected service provider is retrieved 1110. Here, the facsimile number or email address for the selected service provider are available from the appointment database (e.g., the business directory database 264). Then, an appointment request notification is sent 1112 to the selected service provider via facsimile or electronic mail. The appointment request notification can, for example, resemble the completed appointment request form.
Thereafter, in one embodiment, to limit the number of appointment requests that will be serviced by the appointment server without the service providers being registered with the system to participate in on-line appointment services, additional processing can be performed such as contained in operations 1114-1118 of
Although the above discussion primarily concerned a user requesting an appointment with a service provider on a particular date, the appointment system can also consider multiple or alternative dates. By considering multiple or alternative dates, the users have more options in which to schedule an appointment. Also, the user requesting an appointment could, when requesting an appointment, provide alternative choices of times (i.e., time slots). For example, beside a first choice, the user could provide a second choice and a third choice. The service provider can then review the appointment request and have some scheduling options for the appointment.
Moreover, although the above discussion has primarily discussed the request for an appointment by a consumer and then the confirmation of the requested appointment by the service provider, the appointment system also permits the service provider to request an appointment with the consumer and then allow the consumer to confirm the appointment. Hence, consumer and service providers are users, and user can both request and confirm appointments.
Also, although the above discussion primarily concerns making appointments from one user to another user, the described techniques are also applicable to making appointment from one user to many users. For example, one user may want to arrange a meeting with two or more other users an could do so be requesting an appointment in accordance with the appointment availability of the two or more other users. Multiple users could also be grouped together to share a calendar and appointments. For example, a group of individuals could be associated with an on-line calendar provided by the appointment server, and then the group is effectively a user.
Still further, the above discussion described the scheduling of appointments as initially requested and then confirmed. The requested appointment was then initially provided as a pending appointment upon being requested, and then either canceled or confirmed by the service provider. In another embodiment, the requested appointment could initially be deemed set and then thereafter cancelled by the service provider if not desired. In such an embodiment, the operation would be the same but the terminology slightly different.
According to another aspect, a service provider's computer can include a synchronization application. The synchronization application is a separate application program that operates on the service provider's computer to synchronize a local appointment management system with the appointment database provided at the appointment server.
The office management program 1202 is coupled to a database 1204 that stores data associated with the office management program 1202. The office management program 1202 can be coupled to various internal users at the service provider's establishment over a local network 1206. The service provider's computer 1200 also includes a synchronization application 1208 coupled to an external network (e.g., the Internet) through a network link 1210. The synchronization application 1208 operates to synchronize the appointment data from the appointment database provided by the appointment server with the database 1204 managed by the office management program 1202. In this regard, appointments scheduled with the appointment server are able to be presented in the calendar module of the office management program 1202. Still further, if desired, the service provider's on-line calendar maintained by the appointment server can be synchronized with the calendar module (i.e., local calendar) of the office management program 1202.
The synchronization application processing 1300 initially connects 1301 the synchronization application to an appointment server. Then, the synchronization application will receive and display 1302 a login page. In response to the login page, the synchronization application will enter and submit 1304 a user name and password. Next, a decision 1306 determines whether access to the appointment server has been granted. Here, the appointment server will notify the synchronization application whether access has been granted or denied. When the decision 1306 determines that access has not been granted (i.e., access denied), an error message is provided 1308 to the synchronization application.
On the other hand, when the decision 1306 determines that access has been granted, the synchronization application requests 1310 pending appointments. A decision 1312 then determines whether the pending appointments that have been requested have been received. When the decision 1312 determines that the pending appointments have not yet been received, the application synchronization processing 1300 waits to receive the pending appointments. Once the pending appointments have been received, the synchronization application attempts 1314 to fit the pending appointments into the database 1204 of the office management program 1202. Then, the synchronization application processing 1300 determines 1316 indications of confirmation or cancellation for each of the pending appointments. Here, the service provider can manually interact with the synchronization application or the synchronization application can automatically determine whether the pending appointments fit. For example, if a pending appointment conflicts with an existing appointment or event in the service provider's local calendar at the office management program 1202, the synchronization application can automatically cancel the pending appointment. Likewise, if a pending appointment does not conflict with an existing appointment or event in the service provider's calendar at the office management program 1202, the synchronization application can automatically accept (confirm) the pending appointment. In any case, after the indications are determined 1316, the indications are then sent 1318. The synchronization application then logs out 1320 from the appointment server. The synchronization application then disconnects 1322 from the appointment server. Following the operation 1322, as well as following the operation 1308, the appointment synchronization processing 1300 is complete and ends.
On the other hand, when the decision 1406 determines that the user name and password have been successfully verified, then an access granted indication is sent 1410 to the synchronization application. Then, a decision 1412 determines whether a pending appointment request has been received. When the decision 1412 determines that a pending appointment request has not yet been received, the server-side appointment synchronization processing 400 awaits such a request. Once the decision 1412 determines that a pending appointment request has been received, pending appointments are sent 1414 to the synchronization application. Here, the pending appointments are first located within the appointment database and those located are then retrieved and sent 1414 to the synchronization application.
Next, a decision 1416 determines whether confirmation/cancellation indications have been received from the synchronization application. When the decision 1416 determines that the indications have not yet been received, the server-side appointment synchronization processing 1400 awaits such indications. When the decision 1416 determines that the indications have been received, appointment records are updated 1418 at the appointment database. For example, if a pending appointment has been confirmed (accepted), then the appointment record for the particular appointment is updated to indicate its status as being confirmed. On the other hand, if a pending appointment has been cancelled, the appointment record for the cancelled appointment is removed from the appointment database. Then, an email notification can be sent 1420 to those consumers whose appointments have been cancelled. The email notification can inform the consumers that their requested appointments have been cancelled and they should contact the service provider for additional information. Optionally, email notifications could be sent to those consumers whose appointments have been accepted. Regardless of the email notifications, the users' calendars would be updated to indicate that the appointment is confirmation or that the appointment has been cancelled. Thereafter, the server-side appointment synchronization processing 1400 is complete and ends.
Another aspect is the notification and confirmation processing for appointments. Various notifications pertaining to appointment were also discussed above. Notifications can advise the service provider that a consumer has requested an appointment. Notifications can inform the consumer that the service provider has accepted (confirmed) or refused the requested appointment. Notifications can also inform the consumer or service provider that a previously accepted appointment has been canceled. The email manager 260 of the appointment server 256 can initiate these notifications when appropriate.
Further, another aspect pertains to a method of doing business. The business method provides free on-line calendars and on-line appointment setting capabilities to consumers and provides fee-based calendars and on-line appointment accepting capabilities to service providers. For example, service providers could pay a monthly fee. Optionally, the business method provides email notifications to service providers when appointments are requested. Also, the business method may provide email notifications to consumers when their requested appointments are confirmed. The business method may also provide consumers with reminders for their upcoming appointments. The calendars of the consumers and service providers can also store information on other meetings or events besides appointments. Events that are scheduled can also make use of notifications. Further, the calendars of the consumers and service providers can also provide service providers or users with on-line address books.
Another aspect pertains to a graphical user interface for scheduling appointments. The graphical user interface simultaneously displays on a display screen (i) a first user's daily calendar indicating the user's availability, and (ii) available time slots of a second user with which the appointment is being scheduled.
With respect to the user's calendar, a user can schedule an event on his/her own calendar using the add event tag 1832 of the graphical user interface.
Still further, although not shown in
Following selection of an available time slot, such as presented by the appointment time slot selection screen 2600 of
After the selected service provider is notified of the requested appointment and, thereafter, accepts (or confirms) the requested appointment, the appointment system will update the user's calendar (as well as the service provider's calendar) to update the status to that of “confirmed”.
Following the scheduling of the appointment, the user's calendar screen is depicted with the user's calendar page 3300 as shown in
Now, from the perspective of the second user, the user with whom the appointment has been scheduled, the second user's calendar is depicted such as shown in a user's calendar page 3500 of a user's calendar screen illustrated in
The user could specify a period during the day in which they desire an appointment, and then the available days for those times would be displayed for user selection. In other words, although the on-line appointment system is largely described as displaying time slots available on a given day (e.g.,
A combination of hardware and software components can be used to implement techniques for providing on-line appointments described herein. The software can be embodied as computer readable code on a computer readable medium. The computer readable medium is any data storage device that can store data which can be thereafter be read by a computer system. Examples of the computer readable medium include read-only memory, random-access memory, CD-ROMs, magnetic tape, optical data storage devices. The computer readable medium can also be distributed over a network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.
In one embodiment the appointment server is implemented on a computer operating Windows NT operating system and provides a web server. The web server stores Active Server Pages (ASP) that perform the interactions with the database(s) and generate the pages to be displayed to requestors.
The advantages of the techniques for providing on-line appointments are numerous. Different embodiments or implementations may have one or more of the following advantages. One advantage is that appointments can be efficiently established on-line at any time day or night. Appointments can also be established without the need to waiting for personal assistance to schedule an appointment with a service provider. Another advantage is that user can manage and schedule appointments using a website. Still another advantage is that customers can use a central website to make appointments with various service providers. Yet another advantage is that synchronization of calendars or appointments between those maintained by the central website and those on local computers.
The many features and advantages of the techniques for providing on-line appointments are apparent from the written description. Further, since numerous modifications and changes will readily occur to those skilled in the art, it is not desired to limit the techniques for providing on-line appointments to the exact construction and operation as illustrated and described. Hence, suitable modifications and equivalents may be resorted to as falling within the scope of the techniques for providing on-line appointments described herein.
Claims
1. A computer-implemented method comprising:
- receiving, by an appointment service, appointment availability information from a server device associated with a business, the appointment availability information indicating services offered by the business, available appointment dates for the services, and available appointment times on the available appointment dates for the services;
- receiving data indicative of selections from a user device through the appointment service to schedule an appointment for a selected one of the services, the selections indicating the selected one of the services and a selected one of the available appointment dates for the appointment;
- exposing, by the appointment service, a webpage configured to include a calendar having at least the selected one of the available appointment dates;
- determining the available appointment times on the selected one of the available appointment dates for the selected one of the services;
- configuring, by the appointment service, the webpage to display the available appointment times on the selected one of the available appointment dates, the calendar and the available appointment times formatted to be concurrently displayed in separate, non-overlapping regions of the webpage;
- receiving data indicative of a selected one of the available appointment times from the user device through the webpage; and
- scheduling the appointment at the selected one of the available appointment times.
2. A method as recited in claim 1, further comprising configuring, by the appointment service the webpage to display of a list of the services offered by the business, the selections including a selection indicating the selected one of the services.
3. A method as recited in claim 2, wherein the scheduling of the appointment comprises updating a calendar of the business accessible via the server device.
4. A method as recited in claim 3, wherein determining the available appointment times includes determining the available appointment times with respect to the calendar of the business.
5. A method as recited in claim 4, further comprising sending data representing an appointment availability form to the server device corresponding to the business, the appointment availability form configured to collect the appointment availability information that is received by the appointment service.
6. A method as recited in claim 5, wherein sending data representing an appointment availability form includes sending data representing a first region for gathering information on daily time periods of general availability for one or more selectable weekdays.
7. A method as recited in claim 6, wherein sending data representing an appointment availability form further includes sending data representing a second region for gathering information on daily time periods of unavailability for the one or more selectable weekdays.
8. A method as recited in claim 7, wherein sending data representing an appointment availability form further includes sending data representing a third region for gathering information on daily time periods of special availability for the one or more selectable weekdays.
9. A method as recited in claim 8, wherein sending data representing an appointment availability form further includes sending data representing a region for gathering information on different appointment types offered by the business.
10. A method as recited in claim 9, further comprising receiving the information gathered on the different appointment types offered by the business, wherein the gathered information includes respective names and durations for the different appointment types.
11. One or more computer-readable storage media comprising instructions that, in response to execution by an appointment server device, cause the appointment server device to perform acts comprising:
- receive appointment availability information from at least one server device associated with a business through an appointment service managed by the appointment server device, the appointment availability information indicating services offered by the business, available appointment dates for the services, and available appointment times on the available appointment dates for the services;
- generate a list of the services offered by the business to be made available to a user device through the appointment service;
- receive data indicative of selections from the user device via the appointment service, the selections indicating a selected one of the services and a selected one of the available appointment dates for an appointment to be scheduled; and
- send markup language data to the user device, the markup language data sufficient to enable rendering by the user device of a webpage that is configured to include a view of a calendar that indicates at least the selected one of the available appointment dates and a numerical list of the available appointment times on the selected one of the available appointment dates.
12. One or more computer-readable storage media as recited in claim 11 having further instructions to cause the appointment server device to perform acts comprising:
- receive data from the user device indicative of a selection of one of the available appointment times from the numerical list of the available appointment times.
13. One or more computer-readable storage media as recited in claim 12 having further instructions to cause the appointment server device to perform acts comprising:
- schedule the appointment on the selected one of the available appointment times responsive to the selection.
14. One or more computer-readable storage media as recited in claim 11, wherein the calendar pertains to the user device, and wherein the view of the calendar indicates previously scheduled appointments associated with the user device on at least the selected one of the available appointment dates.
15. One or more computer-readable storage media as recited in claim 11 having further instructions to cause the appointment server device to perform acts comprising:
- reproduce the markup language data to reflect a change to one or more of the selected one of the available appointment dates, the selected one of the services, or the predetermined duration responsive to the change.
16. One or more computer-readable storage media comprising instructions that, in response to execution by an appointment server device, cause the appointment server device to implement an online appointment system configured to:
- receive appointment availability information from a plurality of server devices associated with a plurality of businesses, the appointment availability information identifying services offered by the plurality of businesses and available appointment times for the services;
- receive data from a user device indicative of a selected business from the plurality of businesses and indicative of a request to schedule an appointment for one or more services offered by the selected business at a selected one of the available appointment times; and
- request scheduling of the appointment at the selected one of the available appointment times.
17. One or more computer-readable storage media as recited in claim 16, wherein the online appointment system is further configured to make data available for display of a list of selected ones of the plurality of businesses that offer a selected service in response to a query received from the user device.
18. One or more computer-readable storage media as recited in claim 16, wherein the online appointment system is further configured to make available a webpage comprising a calendar that includes an available appointment date for the services, the available appointment date including one or more of the available appointment times from which the selected one of the available appointment times is selected.
19. One or more computer-readable storage media as recited in claim 16, wherein the online appointment system is further configured to make data available for display of a list of the services offered by the selected business.
20. One or more computer-readable storage media as recited in claim 16, wherein the online appointment system is configured to schedule the appointment by updating a calendar of the selected business maintained by an associated said server device of the plurality of server devices.
Type: Application
Filed: Feb 22, 2010
Publication Date: Jun 17, 2010
Inventors: Tommy H. Tam (Sunnyvale, CA), Ricky Mok (Daly City, CA), Sherman C. Luk (San Francisco, CA)
Application Number: 12/710,174
International Classification: G06Q 10/00 (20060101); G06Q 30/00 (20060101); G06F 3/00 (20060101);