RESERVATION/APPOINTMENT SYSTEM AND METHOD
Background of the Invention
This invention relates generally to a system and method for permitting the making and managing of reservations and appointments.
Typically, a person who wishes to make a reservation or an appointment, such as to a doctor, a dentist, a hotel, a restaurant, a business and the like, must dial a phone number and speak to a person at the business who then consults an appointment calendar to determine if that reservation time is available. Most typical businesses have predetermined hours of business and a person can not call outside of those business hours to make an appointment which is inconvenient. In addition, it is inefficient for a person to answer the phone, check an appointment calendar and confirm an appointment for each person that wants a reservation.
In some business areas, such as restaurants, there are existing computer-based reservation systems. Two examples of these existing restaurant reservation systems are OpenTable and Foodline. These existing restaurant reservation systems use a local data-hosting solution architecture in which the reservation data is stored and managed on the restaurant's personal computer (PC). To make a reservation with one of these existing restaurant reservation systems, since the reservation data is stored on the restaurant's local PC, a consumer's Web server must send a query (ping) to each restaurant connected to the system to determine if there is a match between the user's search criteria and the data contained/in each restaurant. Each of those databases at each restaurant must then send a response back to the user's browser for display, including any alternative times in the event that the desired reservation time is not available. When the consumer selects a particular reservation time available, the Web
server must then send a confirmation back to the restaurant for confirmation which is then returned to the user's browser. This reservation process is very slow, time- consuming and inefficient. In addition, these two typical systems are currently limited to restaurants. It is desirable to provide a reservation system that permits a variety of different local businesses to make use of the reservation system and that overcomes the above limitations with the typical reservation systems and it is to this end that the present invention is directed.
Summary of the Invention
A reservation system and method are provided that permits a variety of different local businesses to utilize the reservation system. In accordance with one embodiment, the reservation system may be stand-alone online reservations system. The reservation system may be a Web/Internet-based reservations and appointments system for local businesses such as restaurants, beauty salons, tanning salons, and doctors, dentists or other professional businesses. In accordance with the invention, the consumers is able to make reservations or appointments through a Web site in realtime with any of our participating merchants, 24 hours a day, 7 days a week using any type of computer that may provide access to the Internet, including, but not necessarily limited to, a personal computer (PC), a Web phone or personal digital assistant (PDA), such as the Palm® handheld computer. In addition, the consumer may be able to make reservations or appointments with any of our competitors' participating merchants with whom we may forge such a relationship.
In operation, the consumer may perform a search on our Web site for a local merchant by certain criteria, such as type of business, cuisine (in the case of restaurants), location, price and critical rating, as well as desired time and other reservations/appointments parameters, such as number in party, preferred hair stylist
(in the case of hair salons) and so on. In some cases, consumers may know exactly which merchant he or she may want to book so that no search criteria beyond the name of the merchant would be necessary. Once the desired search criteria are entered, a query is sent to the central database. The names of merchants matching the consumer's search criteria may be returned for display in the user's browser, indicating the available appointment times. In the event that a desired day or time is not available, alternative days and/or times are offered based on the user's settings. For example, the user may request that he/she only be offered alternative dates and times within a certain time period, for example, one week, for doctors or 1 hour for restaurants. Of course, there may be an option to permit the user to look beyond the time limits set forth in his or her settings.
In accordance with the invention, the user may have to option to display more information such as, but not limited to, address, map and/or directions to one or more merchants. The user may then select the desired reservation and wait for a confirmation which may include the name of the merchant, time of the reservation and relevant reservation/appointment parameters, as well as an email confirmation which the user can print or forward (perhaps automatically) to an assistant, friend, colleague, etc. At this point, the reservation is entered into our participating merchant's appointment book, which is managed on our centralized database and available instantaneously on our merchant's licensed version of our reservations/appointments software.
At each merchant site, the merchant may have proprietary software or cached Web pages that will allow them to automate his reservations or appointments book. The merchant may also be able to enter a reservation on the system for a consumer who calls the establishment by telephone. The merchant's data may be managed on our centralized database which may be the same database queried by our consumers.
In accordance with a second embodiment of the invention, the reservation/appointment system described above may be integrated with its competitors' reservation/appointment systems, allowing customers to access all such systems via one "umbrella" or portal that interfaces with the backend of all reservations and/or appointments systems. The integration system may host multiple servers in its web center that will allow users to search for available reservations or appointments at merchants across all online reservations and/or appointments systems, and subsequently place the reservation or appointment at the desired merchant.
In operation, the integration solution may receive the search criteria from the customer's browser and perform parallel searches across all the backend reservation database systems. The integration server may then aggregate the results of these searches, format them for display, and return the list of available reservation or appointment times to the customer's browser. The customer may then be able to select the merchant of his/her choice and a generic or branded 'Make a Reservation' form may appear. The customer may fill in the required reservation fields, and submit the reservation. Then system may then receive this request and direct the reservation to the appropriate database server that manages that particular merchant's reservations. The new reservation or appointment may be written into the database and the customer may receive a confirmation in his/her browser as well as by email.
Thus, in accordance with the invention, a reservation and appointment generation and management system is provided. The system comprises a central reservation system comprising a database for storing one or more reservation data records wherein each data record contains information about a particular reservation for a resource of a particular merchant. The system further comprises one or more merchants having access devices for accessing the central reservation system in order to input new reservations and appointments and manage existing reservations and
appointments wherein each merchant views his own appointments and reservations. The system further comprises one or more consumers for accessing the central reservation system in order to make a reservation with a merchant, the reservation being stored in the central reservation database so that all of the reservation data is stored in the central reservation system database.
In accordance with another aspect of the invention, a system for integrating one or more reservation systems into an integrated reseivation system. The integration system comprises a first reservation system having a database containing one or more reservation data records with a first data format and a second reservation system having a database containing one or more reservation data records with a second data format. The system further comprises an integration system having access to the reservation databases for the first and second reservation systems wherein the integration system comprising means for receiving a user query regarding an available appointment slot, means for broadcasting the user query to the databases of the first and second reservation systems in the format of the first and second reservation systems, means for receiving query results from the first and second reservation systems to generate available appointment slots and means for presenting the available appointment slots from the first and second reservation systems to the user of the integrated reservation system. The system may further comprise means for receiving user input selecting an available appointment slot for a particular merchant and means for forwarding the selected appointment slot for the merchant to the reservation system that stores the data records for that merchant.
Brief Description of the Drawings
Figure 1 is a block diagram illustrating a preferred first embodiment of a reservation/appointment system in accordance with the invention;
Figure 2 is a flowchart illustrating a preferred method for making a reservation in accordance with the invention;
Figure 3 is a flowchart illustrating a preferred method for managing a customer record in accordance with the invention;
Figure 4 is a diagram illustrating an example of a choose the day user interface in accordance with the invention;
Figure 5 is a diagram illustrating an example of a reservations grid for a business in accordance with the invention;
Figure 6 is a diagram illustrating an example of a reservation profile user interface in accordance with the invention;
Figure 7 is a diagram illustrating an example of a reservation data entry user interface in accordance with the invention;
Figure 8 is a block diagram illustrating an integrated reservation system in accordance with a second embodiment of the invention;
Figure 9 is a block diagram illustrating a preferred method for database access across multiple reservation systems in accordance with a second embodiment of the invention;
Figure 10 is a diagram illustrating a preferred method for integrated reservation processing in accordance with a second embodiment of the invention;
Figure 11 is a diagram illustrating more details of the request receiving step shown in Figure 10;
Figure 12 is a diagram illustrating more details of the search result returning step shown in Figure 10; and
Figure 13 is a diagram illustrating more details of the database update step shown in Figure 10.
Detailed Description of a Preferred Embodiment
The invention is particularly applicable to a Web-based local business reservation system and method and it is in this context that the invention will be described. It will be appreciated, however, that the system and method in accordance with the invention has greater utility, such as to any type of business that has a need for a computer-based reservation system. In addition, the system may be implemented using various different technologies that are within the scope of this invention. Now, a preferred embodiment of the reservation system implemented using the Internet/World Wide Web as a communications medium will be described.
Generally, the reservation system architecture may store all merchant reservation data in one central database housed in the system's data center. The merchants may use a PC or some other device to access and maintain the reservation schedule via an internet connection to the system. Consumers may access the site through any PC or other device (PDA, mobile phone, etc.) that has internet access. Users may be able to make reservations directly at merchants listed in the system as well as look for availability in a group of merchants based on a cuisine (in the case of restaurants), location, or simply availability in a certain time slot by querying the central database.
When a user (whether a consumer or a merchant acting at the consumer's direction) attempts to make a reservation, the system may again check immediate
availability since it may have changed while the user was looking at the choices. After the system has confirmed the reservation, the system may send the response and reservation number to the customer's browser as well as send an automatic email response to the customer. The customer can later edit/delete his/her reservation by using the reservation number.
A centralized database and web server in accordance with the invention permits the system to have complete control over the data and allows for efficient maintenance of the merchants' data. By consolidating the data, the system is able to streamline and standardize the structure of the reservation template for each merchant allowing for rapid development and implementation of new merchants. This will result in a quick turnaround period from the time of signing on a new merchant to the time of launching their reservation system. The centralized database also permits a single query to search all merchant's appointments. Now, the details of the reservation system in accordance with the invention will be described.
Figure 1 is a block diagram illustrating a preferred first embodiment of a reservation appointment system 30 in accordance with the invention. The system 30 may include a data center 32 connected by a communications network 34, such as the Internet or World Wide Web (WWW) to one or more merchant systems 36. One or more users 38 may also be connected to the data center 32 through the communications network. In general, the system may permit a user to access a web page at the data center 32 in order to make an appointment/reservation at one of the merchants 36 connected to the data center 32 as will be described in more detail below.
Each user 38 may access the communications network using an access device 40, such as a personal computer (PC) and modem, a handheld personal digital assistant, a wireless or landline telephone or any other device that permits the user to
access the Internet or WWW. In a typical PC, the user may start a browser application that permits the user to access Web pages such as the user interface web pages in the data center 32 as described below. The user may also access the Internet wirelessly as is well known.
In the preferred embodiment shown, the data center 32 may further include a web server 42, a firewall 44 and a centralized relational reservations database 46. The firewall 44 protects the data center 32 from unwanted intruders and hackers. The database 46 contains all of the reservation data for all of the merchants as described below and the web server 42 may contain one or more pieces of software that are executed by a CPU in the web server to perform various functions. For example, the web server may generate a user interface web page that permits the users and merchants to access the reservation system. In addition, the web server may execute database queries as necessary, format the returned database results for the user and generate alternative appointment/reservation times/dates if a particular time/date is not available.
Each merchant system 49 may further include an access device 50 to the communications medium 34 and ultimately to the data center 32 in accordance with the invention. The different access devices will be described below. Each merchant 49 may further include a personal computer 52 that may execute one or more software applications including a reservation application in accordance with the invention. The reservation application permits the merchant to interact with the data center and perform various function such as retrieving the current reservation grid as described below.
In accordance with the preferred embodiment of the invention, the merchant reservation application may be a local Windows application written in Microsoft's
popular front-end language, Visual Basic, that uses Microsoft RDS components to access a remote server (e.g., the data center). RDS stands for Remote Data Service and is a set of components created by Microsoft so that client-side components can communicate with business objects located on the middle tier (remote server). The RDS supports the following protocols: HTTP, HTTPS (HTTP Secure Sockets). The Visual Basic application uses RDS to establish a connection with a remote IIS server via the HTTP protocol and ultimately access the reservations database, that may be an Oracleδi database. In accordance with the invention, queries may be sent from the Visual Basic application via an RDS-HTTP connection and the Oracle database will process the request and return the data in the form of an HTTP response to the Visual Basic application. The Visual Basic reservation application may then display the data from the database by using forms and grids as described below in more detail. Using the RDS, the merchant machine may make a one time request to the reservations server or keep an open connection to the server for a longer duration for continuous processing. Instead of the Windows based merchant's application as described above, the merchant may communicate with the reservation/appointment system in accordance with the invention using a typical web browser application being executed by the merchant's access device. Similarly, the user may use a typical browser application to communicate with the reservation system.
In order to connect to the remote reservations database 46 in accordance with the invention, merchants must have internet access and TCP/IP protocol capability, which is the standard protocol of the Internet. To achieve this, the reservation system may offer different access devices 50, such as standard phone line and a standard analog modem, a wireless modem, a DSL modem using standard phone line and any other devices that may be used to connect to the Internet.
The second option, the wireless modem, permits merchants to manage their reservation schedules remotely via a wireless connection to the internet with TCP/IP access into our centralized database. To achieve this wireless connection, a cellular modem and Cellular Digital Packet Data (CDPD) delivery may be used in a preferred embodiment. CDPD is a specification for supporting wireless access to the Internet and other public packet-switched networks. Using cellular telephones and/or modems that support CDPD, mobile users can currently get access to the Internet at speeds of up to 19.2 Kbps. CDPD supports both the Internet's IP protocol and the ISO Connectionless Network Protocol (CLNP).
An important part of the reservation system is easy access to data for all parties.
The restaurants can quickly install a working system by installing a PC and linking up to an existing telephone line. However, in order to facilitate timely implementation, the system may offer the wireless internet access feature by utilizing a cellular modem and Cellular Digital Packet Data (CDPD) delivery. This CDPD wireless modem provides a two-fold benefit to the merchant. First, merchants can snap in a PC and wireless modem literally overnight without waiting for phone companies to schedule a new land line installation or a DSL connection if that were necessary. Second, using a CDPD connection allows the merchant to install the reservation computer anywhere they wish including up front in a restaurant entrance without any obstructive phone lines.
In an embodiment in which access to the web is needed, the consumers or merchants may also access the web wirelessly using an access device, such as a PDA, a cell phone or a PC that is executing a mini-browser software application. The access device and the mini-browser may adhere to Wireless Application Protocol (WAP) standards or similar protocols for wireless access to the web for each country in which an access device is located. In addition, the access devices may use a variety of
different data communication protocols, such as HDML, WML, XML or any other language and/or protocol. The access devices may include voice recognition technology or typing software to permit reservations to be made via the wireless access device more easily. Other than using a different wireless access device, the interaction between the user or merchant and the reservation system is essentially unchanged.
The access device in accordance with the invention may also include a global positioning system (GPS) receiver that may permit the reservation system to determine the position of the access device. Using the position, the reservation system may download coupons for a particular business to the user of the access device as the user passes near that business.
In accordance with the invention, a merchant may sign up for the reservation system and have the automated reservation system operative in very little time since the merchant may use any computer with access to the Internet and the reservation application in accordance with the invention loaded onto the computer to participate in the reservation system. Once the merchant is signed up, a reservation grid and data record in the database 46 may be generated. Then, any user 38 may access the data center 32 and perform a query against the database for various reservation information as described below. For example, a user may request the available reservation times for a particular merchant or a particular category of merchants, such as Chinese food restaurants in a particular area. The web server may then format the database query results in a particular format and present the query results to the user's browser. From the results, the user may select a merchant and an appointment time and send the selection back to the data center. The data center may then update the reservation data for the particular merchant. At any time, a merchant may check its reservations/appointments or make a reservation/appointment on behalf of a customer by accessing the data center.
In accordance with the invention, the consumer may perform a search on our Web site for a local merchant by certain criteria such as type of business, cuisine (in the case of restaurants), location, price and rating, as well as desired time and other reservations/appointments parameters, such as number in party, preferred hair stylist and so on. In some cases, consumers may know exactly which merchant he or she may want to book, and so no search criteria beyond the name would be necessary. Once the desired search criteria are entered, a query is sent to the reservation/appointment database. The names of merchants matching the consumer's search criteria may be returned for display in the user's browser, indicating the available times. In the event a desired day or time is not available, alternative days and/or times may be offered based on the user's settings. For example, the user may request that he or she only be offered alternative dates and times within a certain time period, for example, one week, for doctors or 1 hour for restaurants. There may be an option for the user to look beyond the time limits set forth in his or her settings.
The user may have the option to display more information about a merchant such as, but not limited to, address, map and directions to a merchant. The user may then select the desired reservation and wait for a confirmation, which may include the name of the merchant, time and relevant reservation/appointment parameters, as well as an email confirmation which the user can print or forward (possibly automatically) to an assistant, friend, colleague, etc. At this point, the reservation may be input into the participating merchant's appointment book, which is managed on our database and available instantaneously on our merchant's licensed version of the reservations/appointments software.
The database 46 may contain one or more reservation data records accessible solely by the merchant wherein each reservation in the system may be stored in a data record. The data record for each reservation may include various information about the
reservation, such as, for example, the user's last name and phone number, the party size, the reservation date and time, the actual and planned arrival time of the user, the seating time of the user, the departure time of the user, the total cost of the meal, the tip amount, the meal duration (the seating time minus the departure time), the table number, if the reservation was cancelled and if the user never showed up for the reservation. This information may be used, among other things, to generate various reports for the merchant about its reservations. Now, the method for making a reservation in accordance with the invention will be described in more detail.
Figure 2 is a flowchart illustrating a preferred method 60 for making a reservation in accordance with the invention. For illustrating this method, a restaurant reservation is described although the invention is not limited to restaurant reservations. In step 62, the user accessing the reservation system with a browser application may receive a web page from the web server that permits the user to enter a desired date and time of the reservation (for example, breakfast, lunch or dinner for a restaurant reservation) and clicks a "go" button to retrieve the current available reservations from the reservation system's database for the particular merchant/restaurant selected. In step 64, the reservation system may return all existing reservations for that time period and display them to the user in a user interface . In step 66, the user may choose to make a new reservation by clicking on an available time and having a reservation profile form pop up that the user may fill in. In step 68, the user may click on a "New Reservation" button and a keyboard form pops up that permits the user to enter information into the key fields of the reservation profile including, for example, last name, phone number and party size.
In step 70, the user completes the data entry and presses the "Save" button to store the reservation information in the reservation database 46. As described above, only the merchant may view the reservation grid. The next time the merchant looks at
the reservations grid for the same merchant/restaurant, the merchant will see the new appointment that was just entered into the system. If a reservation is cancelled, then the reservation in the reservation grid may be removed so that another user may take that reservation time. In step 72, the reservation record may be inserted into the database and the reservation view on the user's screen may be refreshed to reflect the new reservation shown at the correct time and date. Thus, the user has visual confirmation of the reservation that was made by the user. Now, a preferred method for managing a customer record will be described.
Figure 3 is a flowchart illustrating a preferred method 80 for managing a customer record in accordance with the invention. As above, for illustrating this method, a restaurant reservation is described although the invention is not limited to restaurant reservations. In step 82, the customer may arrive at the restaurant and check in with the hostess. In step 84, the hostess may click on that customer's reservation in the reservation system on the reservation grid. In step 86, the reservation profile for the particular customer pops up with the option to permit the hostess to indicate that the customer is being seated or sent to the bar since a table is not yet available. In step 88, if the hostess clicks on the "At Bar" button, the reservation record may be updated in the database and reservation grid. For the reservation grid displayed to the merchant, the color of the reservation may be changed to a different color, such as purple, to reflect that that customer is currently at the bar.
In step 90, when the proper table becomes available and the hostess seats the customer at the table, the hostess may bring up the customer's reservation record and click on the "Check In" button. In step 92, the reservation record may be updated in the database to reflect that the customer is seated and the color of the reservation grid for that customer is changed to another color, such as green, to reflect the checked-in status of the customer. In step 94, when the customer pays the bill and leaves the
restaurant, the hostess may click on the customer's reservation in the grid and click on the "Check Out" button on the reservation profile. In step 96, a check-out pop up window appears that permits the hostess to enter a total bill amount and tip into the appropriate fields so that they are saved. In step 98, the database may be updated with the dinner/tip amount and the reservation status changes to "Checked Out" and the color of the reservation in the reservation grid may be changed to another color, such as white. Now, several examples of the user interface elements in the preferred embodiment will be described.
Figure 4 is a diagram illustrating an example of a choose the day user interface 100 in accordance with the invention that permits a user to choose a reservation/appointment date. The user interface permits the user to choose a desired time and date of an appointment/reservation as described above in step 62 of Figure 2. As shown, the user interface may include one or more drop down menus 102 for selecting a month and year and a month layout 104 for selecting a particular day in the selected month. The user interface may also include one or more buttons 106 for permitting the user to choose the time of the reservation (breakfast, lunch or dinner for a restaurant example or a list of available hours for other merchants). The user interface may also include a "GO" button 108 for submitting the information to the reservation system. Now, a wait list feature of the reservation system will be briefly described.
In accordance with the invention, the reservation system may include a wait list notification feature. In particular, once a reservation/appointment for a particular day and time for a particular merchant are taken by a user, the system may permit users to enter their names into a wait list for that time and date. The system may then store a list of parties waiting for that reservation/appointment time and date. Typically, the wait list may be in chronological order in that the first party on the wait list has the first
chance to claim the reservation/appointment if it becomes available. However, frequent consumers may have a preferred status wherein the consumer may be placed at the top of any wait list.
If a reservation/appointment is cancelled and there is a wait list for that reservation/appointment, the reservation system may notify the first party on the wait list and give them a predetermined period of time to take the reservation/appointment before it is offered to the next party on the wait list. In accordance with the invention, the party may be notified automatically via the access device, via telephone, via a numeric page to a cellular phone, etc.. As an alternative, the reservation system may first permit a hostess to confirm that the reservation/appointment should be filled in with another person and then start automatically notifying the parties on the wait list. The alternative notification method permits the hostess to keep a particular reservation appointment open even if there is a wait list such as for a special occasion. Now, an example of the reservation grid that is displayed to a merchant will be described.
Figure 5 is a diagram illustrating an example of a reservations grid 110 for a business in accordance with the invention that may be viewed only by a merchant. In particular, a graphical reservation grid 110 for a particular date, such as January 5, 2000, may include one or more reservation records 112, 114, 116 that each represent a reservation time for a particular customer, at a particular table for a particular time (for a restaurant example). As described above, the reservation records may have different colors reflecting the differing status of the reservations. For example, the reservation 116 is white indicating a checked-out customer, the reservation 114 is green indicating that that customer is checked in, but still eating and the reservation 112 is a different darker color indicating that the customer is not yet checked in. As shown, the reservation grid permits a merchant to quickly review the current
appointments/reservations for the currently selected day and to determine the status of each reservation based on the color of the reservation record. In the example shown, the reservations for each table are shown separately for a restaurant. Now, an example of a reservation profile user interface in accordance with the invention will be described.
Figure 6 is a diagram illustrating an example of a reservation profile user interface 120 in accordance with the invention that may be displayed to the user or a merchant, but only a merchant may enter information into the profile. The user interface 120 may include a reservation information portion 122, a reservation information entry portion 124 and one or more buttons 126 for changing the status of the reservation. The reservation information may list already determined reservation information such as the table number, the number of seats at the table, the time and date in this example for a restaurant reservation system. The information entry portion 124 permits the merchant only to enter information about the reservation and the buttons 126 permit the status of the reservation to be changed by the merchant. Figure 7 is a diagram illustrating an example of a reservation data entry user interface 130 in accordance with the invention that permits the merchant to enter textual information into the reservation profile form. In this example, the merchant is entering the last name of a customer. Now, an integrated reservations system in accordance with a second embodiment of the invention will be described.
Generally, in accordance with a second embodiment of the invention, an online solution is proposed for integrating the reservations and/or appointments system described above with that of competing systems. The integrated system permits customers to access all such systems via one "umbrella" that interfaces with the backend of all reservations and/or appointments systems. In accordance with this aspect of the invention, the integration system may include servers that will allow users
to search for available reservations or appointments at merchants across all online reservations and/or appointments systems, and subsequently place the reservation or appointment at the desired merchant.
In operation, the integration system may receive the search criteria from the customer's browser and perform parallel searches across all the backend database systems. The server may then aggregate the results of these searches, format them for display, and return the list of available reservation or appointment times to the customer's browser. The customer may then be able to select the merchant of his/her choice and a generic or branded 'Make a Reservation' form will appear. The customer may fill in the required reservation fields, and submit the reservation. Then the system may receive this request and direct the reservation to the appropriate database server that manages that particular merchant's reservations. The new reservation or appointment will be written into the database and the customer will receive a confirmation in his/her browser as well as by email. Now, more details of the integration system will be described.
Figure 8 is a block diagram illustrating an integrated reservation system 140 in accordance with a second embodiment of the invention. In particular, the system 140 may include the reservation system 30 including the web server 42 and the database 46 as described above and one or more other reservation systems 142, 144 that may be integrated together into a single reservation system. In this embodiment, the reservation system 30 may further include a web server 146 for integrated processing that interacts with the other reservation systems to provide an integrated system. As shown, the users of the integrated system 140 may access the site in several different manners. The reservation system 30 described above may directly access the web server 42 and a user's web browser 148 may also directly access the web server 42 as described above with the first embodiment. To provide additional access to other
users, there may be an umbrella reservation site 150 (that may be one or more connected sites) that is accessed by user's web browsers. The consumers accessing the umbrella site 42 may enter their reservation query into the umbrella site and the umbrella site passes the query on to the web server 146.
The integration web server 146 may submit queries 152 to each reservation database that is part of the integrated reservation system. In this example, the query is forwarded to the reservation database 46 of the first embodiment, a second database 154 of company A and a third database 156 of company B. The results of the queries to each database may be sent back to the web server 146 that integrates the results and may generate a web page to present to the user of available reservation times and dates. As shown, the two other reservation systems 142, 144 and the reservation system 30 in accordance with a first embodiment of the invention may independently continue to provide reservations to its users. For example, the other systems 142 , 144 may have a consumer's web browser 148 access a web server (Company A Web Server or Company B Web Server) and then send a query to its own databases 154, 156. Thus, the integrated system 140 does not interfere with each reservations systems operation, but permits a user to perform a query across all of the reservation databases that are integrated into the integration system. Now, a preferred method for accessing the databases across multiple reservations systems will be described.
The cross searching technique in accordance with the invention may be secure and need not compromise the competitors' private data. For the system to work, the competitors must cooperate with the integration system and provide only limited access to their reservations data. However, the integration system need not have access to competitors' restaurant or customer profiles. In addition, the searches need not see what time slots are already taken and by whom. The integration system need simply return those time slots that are still available.
To carry out the integration of online reservation systems, all partner companies may share, at minimum, the following information with the integrated system in accordance with the invention:
1. The structure of the reservations table or a sample SQL (Structured Query Language) statement that performs the routine 'INSERT' transaction and any detail relevant to an SQL 'WHERE' clause.
2. Partners must set up a username and password in their relational database system that allows ireserve.com to perform 'SELECT', 'UPDATE', 'INSERT', and 'DELETE' transactions (all standard SQL transactions for relational databases) on the reservations table.
3. Partners must provide the IP address of the database server.
Figure 9 is a block diagram illustrating a preferred method for database access across multiple reservation systems in accordance with a second embodiment of the invention. In particular, each reservation system may include a firewall 160, 162, 164 that permits secure access to the reservation databases 46, 154, 156.
As described above, the integrated server will reside within the integrated system's web center 30. The integration requires certain cooperation from all partners. In general, all databases may reside behind local firewalls 160, 162, 164. Since the integrated system is a trusted partner, requests coming from the integrated system's server will be granted access through partners' firewalls by authenticating ireserve.com's IP address upon entry. All transactions executed by the integrated system can be closely monitored since all relational database systems keep very accurate log files of every transaction executed by each username.
To perform searches across the multiple databases, the integration system may host a web server 146 that can receive requests from an umbrella web site 150 and execute parallel requests across multiple relational databases residing in different locations and in different corporate entities. Once the web server receives the request, it may parse the criteria from the HTML form and prepare the proper SQL statements for each database. The web server may then execute the SQL queries on each database, and the server may receive a set of results from each database. The web server may then aggregate the results, sort them in some manner, such as alphabetically, and group them in order of records that match the exact time slot requested by the user. Once the entire set of results are formatted, they may be sent back to the user's browser.
To make a reservation using the integrated system, the integration system may maintain a list of all cooperating merchant IDs and database IDs in a table in their database. The list of merchants matching the search criteria entered in the above step may be displayed in the browser as hyperlinks with merchant IDs and database IDs embedded in the links. The user may click on the desired merchant to make a reservation. The pertinent IDs may be passed to a generic or branded reservation form whose fields the user may then complete. Once the user submits the form, the ireserve.com server may use the merchant ID and database ID to determine which online system to talk to, formulate the correct SQL syntax for that particular system, and finally insert the new reservation record in the proper partner's (or ireserve.com's) database. Now, a preferred method for the integrated processing will be described.
Figure 10 is a diagram illustrating a preferred method 170 for integrated reservation processing in accordance with a second embodiment of the invention. Several of the steps in the method will be described in more detail below. The method is illustrated by describing the reservations processing in connection with restaurant
reservations although the invention is not limited to restaurant reservations. In step 172, the user on the umbrella site may search the reservation site for available dining times. In step 174, the web server may receive the request from the umbrella site and execute separate queries/searches on each of the reservation systems that are part of the integrated system. In step 176, the reservation system shown in the first embodiment may receive the results of the multiple searches in the multiple databases, and may aggregate the results and may format the results for display. The formatting may involve sorting the results alphabetically, sorting the results with exact time matches appearing at the beginning of the results and the like. The formatted results may then sent back to the user's web browser to be displayed to the user.
In step 178, the user may click on the desired dining time and a generic or branded reservation profile form appears in a browser window. In step 180, the user may fill in the necessary information and submits the reservation request. In step 182, the web server may receive the reservation request and update the proper database with the new reservation. Prior to updating the database, the system may confirm that the requested time slot and date are still available. In step 184, a confirmation may be sent to the user's browser application and an email may be sent to the user with the appropriate online reservation partner's reply to address so that the user can reply directly to the proper reservation system if a problem occurs. Now, several of the steps in the above method will be described in more detail.
Figure 11 is a diagram illustrating more details of the request receiving step 174 shown in Figure 10. As shown, the consumer's web browser 148 may access the umbrella site 150 to generate a reservation request. The umbrella site may pass the reservation request onto the web server 42. The web server may generate one or more separate queries 190 to each of the reservations databases 46, 154, 156 wherein each query may be a proper SQL query statement and criteria. Figure 12 is a diagram
illustrating more details of the search result returning step 176 shown in Figure 10 wherein each database 46, 154, 156 may generate search results and returns them to the web server 42. The web server may perform various processing on the aggregated search results and returns a list of the search results to the user's web browser 148 using the HTTP protocol. Figure 13 is a diagram illustrating more details of the database update step 182 shown in Figure 10. In the step, the user has filled in a reservation profile form with the reservation information that is passed onto the web server 42. Based on the information about the reservation (e.g., the merchant), the web server 42 may pick the database 46, 154 or 156 that stores the reservations for that particular merchant (database 46 in the example shown) and updates that database.
While the foregoing has been with reference to a particular embodiment of the invention, it will be appreciated by those skilled in the art that changes in this embodiment may be made without departing from the principles and spirit of the invention.