Abstract:
A computer-implemented method of scheduling a reservation at a plurality of facilities providing a plurality of services, comprising receiving a packet of client information from a client ( 20 ), the client information including personal data, service data, client reservation preference data, and payment data; comparing the service data to a set of service constraints in order to determine any limitations on the scheduling of the reservation; inputting the client information into a scheduling server ( 80 ); verifying the client information; generating a predetermined number of reservation candidates based upon an analysis of the client information and the reservation scheduling limitations; communicating the reservation candidates to the client ( 20 ); generating a reservation based upon the client&#39;s selection of one of the reservation candidates; generating reservation information related to the reservation, the reservation information including the client information, the service constraints, a reservation date, a reservation time, the identity of the available facility ( 35 ), ( 45 ), ( 55 ), and the resources to be utilized; reporting at least a portion of the reservation information to the client and all of the client information to the available facility ( 35 ), ( 45 ), ( 55 ); and confirming the reservation in the scheduling server ( 80 ). A data processing system ( 10 ) for scheduling a reservation from among a plurality of facilities is also disclosed.

Description:
CLAIM OF PRIORITY  
       [0001]    This application is a continuation in part of U.S. application Ser. No. 09/311,095, filed on May 13, 1999, the contents of which are incorporated herein by reference. 
     
    
     
       FIELD OF INVENTION  
         [0002]    The present invention relates generally to scheduling systems, and more particularly, the present invention relates to a multi-facility reservation scheduling system whose implementation and manipulation are handled over global, wide-area, or local-area communications networks.  
         BACKGROUND OF THE INVENTION  
         [0003]    In many service-related industries, there exists a need to accommodate the schedules of clients who wish to utilize a plurality of services possibly at a multitude of facilities. Hotel clients often choose a hotel based on the amenities that are provided on site or in the vicinity of the hotel. A client may for example desire a suite or that the hotel have a pool. Similarly in the convention industry, different facilities can provide a vast array of services. For example, a client may wish to schedule a convention site based upon the amount of space it has available or its location or possibly on the convention site&#39;s ability to accommodate audiovisual presentations. Current methods of scheduling this procedure require a phone conversation with a scheduler at the facility that will provide the service. Since the service could potentially be performed at a variety of sites, the current method could require numerous attempts to contact a variety of facilities before scheduling a reservation at a facility which has the resources (i.e., room or conference room availability) necessary to provide the service at a time which accommodates the client&#39;s scheduling needs. Given the jumbling of locations, services offered at each location, and variables such as room availability or client preferences, scheduling each location&#39;s resources for maximum effectiveness can prove to be burdensome, particularly given the vast amount of data associated with each client&#39;s reservation.  
           [0004]    Previous attempts have been made to provide systems through which the scheduling of remote locations may be achieved. For example, U.S. Pat. No. 5,848,403 to Gabriner et al (the &#39; 403  patent) describes a genetic algorithm scheduling system which includes a system of encoding and testing hard constraint information. The general scheduling system has information about the scheduling problem, in the form of the resources available for performing tasks, a description of the tasks to be performed, and information about the problem domain.  
           [0005]    U.S. Pat. No. 5,842,173 to Strum et al. (the &#39; 173  patent) describes a computer-based surgical services management system for communicating between sites of a surgical services facility. The system includes repeaters, remote access via modems, data archives, reactive and predictive scheduling, analysis, data maintenance, telephone communications. U.S. Pat. No. 5,748,907 to Crane (the &#39; 907  patent) describes a real-time medical facility management system. U.S. Pat. No. 5,469,353 to Pinsky et al. (the &#39; 353  patent) describes a network for providing medical interpretations of radiological images on a national or regional basis. U.S. Pat. No. 5,321,605 to Chapman et al. (the &#39; 605  patent) describes a system for managing process flow information related to a multiplicity of interrelated organizational tasks.  
           [0006]    U.S. Pat. No. 5,289,531 to Levine (the &#39; 531  patent) describes an electronic rescheduler for promptly and efficiently rescheduling appointments in a two-part procedure. The first step includes the selection of one or more time periods during which a new appointment would be desired, and in the second step a new appointment is chosen from the selected time periods. The system is telephonically-driven. U.S. Pat. No. 5,301,105 to Cummings, Jr. (the &#39; 105  patent) describes a health care management system. U.S. Pat. No. 5,113,380 to Levine (the &#39; 380  patent) describes an electronic rescheduler. U.S. Pat. No. 5,065,315 to Garcia (the &#39; 315  patent) describes a hospital computerized system for entering information pertinent to a patient&#39;s stay in the hospital. U.S. Pat. No. 4,937,743 to Rassman et al (the &#39; 743  patent) describes a method and system for the prospective scheduling, monitoring and management of resources using a computer system.  
           [0007]    None of the foregoing systems, each of which is incorporated herein by reference, provides a system which utilizes technology offering access to each of the remote locations via a global communications network such as the Internet.  
           [0008]    None of the foregoing systems provides an efficient system for making a reservation from multiple facilities, each of which facilities includes multiple resources for providing a variety of client services, such as convention space availability, room availability, spa facilities and a pool.  
           [0009]    Consequently, there is a need in the art for a computer implemented multi-facility scheduling system which enables a remote scheduler to arrange client reservations for a variety of services to be provided at a variety of facilities in an efficient, cost-effective manner.  
           [0010]    There is a further need in the art for a multi-facility scheduling system to permit a client, or a person acting on the client&#39;s behalf, to obtain a variety of scheduling options in order to effectively and efficiently schedule reservations available at a variety of locations.  
           [0011]    There is a further need in the art for a multi-facility scheduling system which can also be manipulated on a facility-by-facility basis, with interaction among the various facilities via an electronic communications mechanism such as, for example, the global communications network known as the Internet.  
         SUMMARY OF THE INVENTION  
         [0012]    The present invention solves significant problems in the art by providing a computer-implemented system for scheduling reservations at a plurality of facilities that fall within client defined parameters.  
           [0013]    Generally described, the present invention provides a computer-implemented method of scheduling a reservation at a plurality of facilities providing a plurality of services, comprising: receiving a packet of client information from a client, the client information including personal data, service data, client reservation preference data, and payment data; comparing the service data to a set of service constraints in order to determine any limitations on the scheduling of the reservation; inputting the client information into a scheduling server; verifying the client information; generating a predetermined number of reservation candidates based upon an analysis of the client information and the reservation scheduling limitations; communicating the reservation candidates to the client; generating a reservation based upon the client&#39;s selection of one of the reservation candidates; generating reservation information related to the reservation, the reservation information including the client information, the service constraints, a reservation date, a reservation time, the identity of the available facility, and the resources to be utilized; reporting at least a portion of the reservation information to the client and all of the client information to the available facility; and confirming the reservation in the scheduling server.  
           [0014]    In a preferred embodiment, the present invention also comprises a data processing system for scheduling a reservation at a plurality of facilities providing a plurality of services, comprising a receiver for receiving a packet of client information from a client, the client information including personal data, service data, client reservation preference data, and payment data; a constraint determiner for comparing the service data to a set of service constraints in order to determine any limitations on the scheduling of the reservation; an inputter for inputting the client information into a scheduling server; a verifier for verifying the client information; a candidate generator for generating a predetermined number of reservation candidates based upon an analysis of the client information and the reservation scheduling limitations; a candidate communicator for communicating the reservation candidates to the client; a reservation generator for generating a reservation based upon the client&#39;s selection of one of the reservation candidates; a reservation information generator for generating reservation information related to the reservation, the reservation information including the client information, the service constraints, a reservation date, a reservation time, the identity of the available facility, and the resources to be utilized; a reservation information reporter for reporting at least a portion of the reservation information to the client and all of the client information to the available facility; and a reservation confirmer for confirming the reservation in the scheduling server.  
           [0015]    In an alternative embodiment of the present invention, the method further includes the step of allowing reservations to be rescheduled or canceled, and the data processing system includes a reservation modifier for rescheduling or canceling reservations.  
           [0016]    In an alternative embodiment of the present invention, the step of receiving the packet of client information is accomplished via the Internet, a local area network, or a wide area network.  
           [0017]    Accordingly, it is an object of the present invention to provide a computer-implemented method of scheduling a reservation at a plurality of facilities providing a plurality of services.  
           [0018]    It is another object of the present invention to provide a data processing system for scheduling a reservation at a plurality of facilities providing a plurality of services.  
           [0019]    These and other objects, features, and advantages of the present invention will become apparent upon reading the following specification when taken in conjunction with the accompanying drawings.  
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0020]    [0020]FIG. 1 is a diagrammatic view illustrating the relationship between the clients, the organizations, and the organizations&#39;facilities of the scheduling system of the present invention.  
         [0021]    [0021]FIG. 2 is an illustration of the flow of information throughout the scheduling system of the present invention, from the initial contact by a client or client&#39;s representative through the transmission of reservation information for integration into an application program such as a billing program.  
         [0022]    [0022]FIG. 3 is a flow chart illustrating the method of the preferred embodiment of the present invention.  
         [0023]    [0023]FIGS. 4A and 4B are a flow chart illustrating the steps required by a user to book a hotel reservation using the method of the present invention.  
         [0024]    [0024]FIGS. 5A and 5B are a flow chart illustrating the steps required by a user to book a convention using the method of the present invention. 
     
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT  
       [0025]    Referring initially to FIGS.  1 - 5  of the drawings, in which like numerals indicate like elements throughout the several views, in a preferred embodiment the scheduling system  10  of the present invention allows a client  20  to contact, via computer implementation, any one of an organization&#39;s  30 ,  40 ,  50  multiple facilities  35 ,  45 ,  55  to schedule a reservation. A facility is a physical site, such as a hotel, motel, or convention center. Referring to FIG. 2, a client  20  may either be the client  21  or the client&#39;s representative  22 , such as in the case of a booking agent seeking a specific type of facility for a customer.  
         [0026]    An organization  30 ,  40 ,  50  is the service provider whose multiple facilities  35 ,  45 ,  55  are accessible using the computer-implemented scheduling system  10  of the present invention. Each organization  30 ,  40 ,  50  may group its facilities  35 ,  45 ,  55 , using remote scheduling servers  38 ,  48 ,  58 , so as to permit access to each facility&#39;s  35 ,  45 ,  55  schedules. For instance, facility  35   a  is independently connected to a scheduling server  38   a , while facilities  35   b ,  35   c , and  35   d  are collectively connected to a scheduling server  38   b . The distinction between these types of groupings is that the server  38   a  connected to facility  35   a  can only access scheduling information for facility  35   a , while the server  38   b  connected to facilities  35   b ,  35   c ,  35   d  can access all three of these facilities&#39;scheduling information. The scheduling information maintained on the various servers  38 ,  48 ,  58  is accessible via an electronic communications link  70  between the servers and, for example, a global communications network such as the Internet.  
         [0027]    Access to each organization&#39;s  30 ,  40 ,  50  collective scheduling information begins at the scheduling system&#39;s  10  central schedule servers  80 . When the client  20  wishes to schedule a reservation, the client  20  connects to the scheduling system  10  by connecting to one of the central schedule servers  80  via the electronic transmission mechanism  70 , which network may take the form of the Internet, a local area network (LAN), wide area network (WAN) or even a telephone call. The client  20 , by entering a predetermined access code, is able to access an organization&#39;s facilities. Once the client  20  accesses a specific organization, the scheduling system  10  prompts the client  20  to provide client information for the purpose of scheduling a reservation.  
         [0028]    Client information includes personal data about the client, such as the client&#39;s name, address, telephone number, and the like; service data, such as the space requirements, room requirements and facility capability stipulations; payment data, such as the client&#39;s credit card information;  
         [0029]    and client reservation preference data, such as the preferred date, time, and specific location where the client would like to schedule a reservation. The scheduling system confirms the information received from the client with the client and verifies certain of the information, such as for instance the client&#39;s payment information, (as depicted in FIG. 2 at reference number  160 ), by communicating, via means familiar to those of ordinary skill in the relevant art, with sources of such information, such as the credit card company.  
         [0030]    Once the scheduling system  10  receives the packet of client information from the client  20 , it compares the service data to an existing set of service constraints in order to determine any constraints on the scheduling of a reservation for the client. For instance, if a client  20  wishes to schedule a conference that requires an auditorium, facilities without an auditorium will be excluded or segregated from the candidate list.  
         [0031]    Once the central scheduling server  80  generates the reservation scheduling limitations, the limitations and the client reservation preferences are utilized in order to generate a predetermined number of reservation candidates. The central scheduling server  80  communicates the requests to the remote schedule servers  38 ,  48 ,  58 , which actually generate the candidates and pass them back to the central server  80 . Each remote schedule server  38 ,  48 ,  58  generates reservation candidate using data from the particular facilities  35 ,  45 ,  55  to which each remote server  38 ,  48 ,  58  has access. Thus, the scheduling server  80  generates the reservation candidates by communicating with the organization&#39;s remote schedule servers  38 ,  48 ,  58  which in turn communicate with the organization&#39;s facilities  35 ,  45 ,  55 , to determine which of the facilities are available to provide the requisite services at the preferred date and time. The availability and downtime of the facility and resources is considered during the scheduling process. The operating hours of the facility, rooms and equipment, and the working hours of the staff contribute to the determination of availability. A scheduling restriction at a particular date and time, such as preventive maintenance or a staff meeting, is defined as downtime. Availability masks are specified to define when an entity is available. An availability mask consists of the start time, frequency, day of week, and duration. For example, for a facility with operating hours of 9 am to 7 pm Monday through Friday, and 9 am to 12 pm on Saturday, a mask is created for each weekday beginning at 9 am for 10 hours, and one for Saturday beginning at 9 am for 3 hours. A duration is defined for each reservation. Therefore, the scheduling process considers the following issues when attempting to schedule a reservation:  
         [0032]    Resources required by the client  
         [0033]    Availability masks defined for the facility  
         [0034]    Availability masks defined for the resources required by procedures in the schedule group  
         [0035]    Existing reservations for the resources required by the client  
         [0036]    Client&#39;s preferred reservation time and place  
         [0037]    The facilities  35 ,  45 ,  55  communicate their availability back to the central scheduling server  80  via their respective remote schedule servers  38 ,  48 ,  58 . The scheduling server  80  then communicates the various reservation candidates directly to the client  20 . If the client  20  wishes to select one of the reservation candidates, the client  20  so notifies the scheduling server  80 . If the client does not want to select any of the reservation candidates, an alternative set of reservation candidates is generated in the same manner as the initial set of candidates. Upon receipt of the client&#39;s notification as to which reservation candidate the client wishes to select, the scheduling server  80  communicates the notification to the selected facility  35 ,  45   55 , via the facility&#39;s remote schedule server. The schedule server  38 ,  48 ,  58 . The scheduling system  10  then generates information related to the selected reservation, including the client information, the service constraints, the reservation date and time, the facility at which the reservation will occur, and the specific resources to be utilized at the facility during the reservation. Resources include the specific room to be utilized for the reservation, along with the staff and equipment required to fulfill the reservation. Staff denotes the technical, professional, or administrative staff whom are represented within the facility. Equipment denotes the types of machinery or apparatus located within the facility. The scheduling system  10  then reports all of the reservation information to the facility  35 ,  45 ,  55  at which the service will be performed, and a portion of this information—the client information, the reservation date and time, and the facility&#39;s identity—to the client  20 , and confirms the reservation with the facility  35 ,  45 ,  55  at which the reservation is scheduled to occur. In connection with the scheduling of the reservation, a unique reservation number is transmitted to both the client  20  and the facility  35 ,  45 ,  55  at which the reservation is scheduled.  
         [0038]    The scheduling system  10  of the present invention also includes the capability of handling the rescheduling or canceling of previously-scheduled reservations. A client  20  may connect to the scheduling server  80  via the method discussed above and, once connected, may notify the scheduling server  80  of his reservation number, at which time the scheduling server  80  will locate the reservation information generated when the reservation was scheduled. Once the reservation information is retrieved, the scheduling server  80  will provide the client  20  with options regarding the reservation, including without limitation confirmation, cancellation, and modification. If the client  20  wishes to cancel the reservation, the scheduling server  80  will notify the facility  35 ,  45 ,  55  at which the reservation is scheduled to occur, in order that the facility  35 ,  45 ,  55  can remove whatever restrictions were placed upon it, in terms of resources, by the scheduling of the reservation, thus freeing up those resources for a different client&#39;s use. Should the client  20  wish to reschedule the reservation, the scheduling server  80  will obtain from the client  20  a new set of client reservation preference data and will, in the same manner described above, generate a new set of reservation candidates from which the client  20  may select in order to reschedule his reservation.  
         [0039]    As illustrated in FIG. 2, the scheduling system  10  of the present invention is also capable of allocating facilities and resources to clients who seek and/or receive services without a reservation, i.e., walk-in clients  23 , and of reallocating facilities and resources in situations where clients with scheduled reservations to not appear for their reservations without canceling their reservations. When such situations occur, personnel at the facility  35 ,  45 ,  55  affected by the walk-in or no-show enter into the facility&#39;s remote schedule server  38 ,  48 ,  58  appropriate information pertaining to the resources encumbered (in the case of a walk-in) or available (in the case of a no-show), and this information is in turn transmitted via the electronics communications network  70  to the central scheduling server  80 .  
         [0040]    Looking at FIG. 2, once the reservation is generated and confirmed with the client  20 , the reservation information can also be made available for export to an external system  90 , such as a billing program. For example, once the reservation is generated, the client information, including payment information, can be integrated into an organization&#39;s billing program so that the client  20  is appropriately billed for the services rendered at the facility  35 ,  45 ,  55  at the time of the reservation.  
         [0041]    [0041]FIG. 3 is a flow chart illustrating a typical operation of the scheduling system of the present invention. In steps  305 - 315 , the reservation candidates are generated. Once steps  305 ,  310 ,  312 , and  315  occur, and the system generates a set of reservation candidates, steps  320 ,  325 , and  330  repeatedly determine if the client has selected a reservation candidate. In step  335 , once the client selects a reservation candidate, the reservation information is generated, and in step  340 , the reservation information is transmitted, as discussed above, to the client and facility. In step  350 , the reservation information is transmitted to the external system  90  for integration into another application.  
         [0042]    In an alternative embodiment of the scheduling system of the present invention, the client  20  can access multiple organizations  30 , 40 ,  50  for the purpose of scheduling reservations at any of the multiple organizations&#39;multiple facilities  35 ,  45 ,  55 . For example, one organization  30  may consist of  7  facilities and a second organization  40  may consist of  3  different facilities. Under the alternative embodiment of the present invention, the client  20 , either directly  21  or through his representative  22 , may access scheduling information from both organizations and therefore schedule a reservation based upon the availability of up to ten (10) different facilities. Under such a scenario, the various organizations&#39;  30 ,  40 ,  50  scheduling information is compiled in a consolidation server  60 .  
         [0043]    [0043]FIGS. 4A and 4B are a flow chart illustrating the steps required by a user to book a hotel reservation using the method of the present invention. In a preferred embodiment, interaction between the user and the system implementing the method is accomplished via the Internet, a local area network, or a wide area network.  
         [0044]    In step  402 , the user inputs preliminary search criteria such as the city and state where the hotel reservation is needed, and the arrival and departure dates to the hotel. Next, in step  404 , the user inputs the search method the user is interested in. Different search methods available can include, without limitation, searching for a hotel near an address, a hotel near an airport or a hotel near a point of interest such as a local tourist attraction. Search options relevant to the selected search method can then be selected in step  406  to further refine the search query. Once the query has been fully specified, it is tested for ambiguities in step  408  to ensure that an accurate search is performed. A typical ambiguity which can be discovered during this check includes, for example, multiple cities that match the name entered by the user. If an ambiguity is identified, in step  410  the user is presented with a list of the possible choices which can resolve the ambiguity.  
         [0045]    Once the search query has been finalized and tested, in step  412  the user is presented with a list of hotels which match the search criteria. The user may optionally request additional information on one or more of the displayed facilities ( 414 ). If the choices displayed to the user are unacceptable, or if no choices are shown because there are no hotels matching the search criteria, the user may elect to run a new search ( 416 ). Alternatively, the user may select one of the hotels in the displayed list ( 418 ).  
         [0046]    Once a user has selected a hotel matching the search criteria, the user is presented with a second list containing the available room types at the selected facility meeting the search criteria ( 420 ). If none of the room choices are acceptable, the user may elect, in step  422  to return to the hotel list and possibly select a new hotel or run a new search. If the user finds the room choices acceptable, the user can then select one of the room choices shown ( 424 ) and will then be shown the booking policies for the particular room. The policies include such information as, advance reservation requirements, cancellation deadlines, and cancellation charges. If these policies are acceptable to the user she can proceed with the booking of the room ( 428 ). Alternatively, if the booking policy does not meet the user&#39;s approval, the user can elect to be returned to the hotel list and possibly select a new hotel or run a new search.  
         [0047]    If the user elects to proceed with the reservation, the user will be requested to log into the system by providing a user ID and password ( 430 ). It is envisioned in this example that the user will have registered previously and will have provided log in information during registration. Once logged in, the user can select a payment method, such as a credit card, which has been previously provided during registration, or can enter new payment instructions ( 432 ). Once the payment information has been entered, the user is presented with a display ( 434 ) of the reservation which is about to be booked and is asked to confirm that all, of the information displayed is correct ( 436 ). If the reservation information is confirmed by the user, the reservation is booked ( 438 ) and a final display is shown with reservation confirmation information ( 440 ). If no confirmation is received from the user, the process is terminated without booking a reservation.  
         [0048]    [0048]FIGS. 5A and 5B are a flow chart illustrating the steps required by a user to book a convention reservation using the method of the present invention. In a preferred embodiment, interaction between the user and the system implementing the method is accomplished via the Internet, a local area network, or a wide area network.  
         [0049]    In step  502 , the user inputs preliminary search criteria such as the city and state where the convention is to be held, and the start and end dates of the convention. Next, in step  504 , the user inputs the search method the user is interested in. Different search methods available can include, without limitation, searching for a venue near an address, a venue near an airport or a venue near a point of interest such as an attraction relevant to attendees of the convention. Search options relevant to the selected search method can then be selected in step  506  to further refine the search query. Options of particular relevance to a user booking a convention include, without limitation, minimum and maximum size of rooms available at the venue, availability of hotel rooms in the vicinity of the venue, price range, services available to convention organizers, and the like. Once the query has been fully specified, it is tested for ambiguities in step  508  to ensure that an accurate search is performed. A typical ambiguity which can be discovered during this check includes, for example, multiple cities that match the name entered by the user. If an ambiguity is identified, in step  510  the user is presented with a list of the possible choices which can resolve the ambiguity.  
         [0050]    Once the search query has been finalized and tested, in step  512  the user is presented with a list of venues which match the search criteria. The user may optionally request additional information on one or more of the displayed venues ( 514 ). If the choices displayed to the user are unacceptable, or if no choices are shown because there are no venues matching the search criteria, the user may elect to run a new search ( 516 ). Alternatively, the user may select one of the venues in the displayed list ( 518 ).  
         [0051]    Once a user has selected a venue matching the search criteria, the user is presented with a second list containing the available conference room types at the selected venue meeting the search criteria ( 520 ). If none of the conference room choices is acceptable, the user may elect, in step  522  to return to the venue list and possibly select a new venue or run a new search. If the user finds the conference room choices acceptable, the user can then select one of the conference room choices shown ( 524 ) and will then be shown the booking policies for the particular conference room and venue. The policies include such information as, advance reservation requirements, cancellation deadlines, and cancellation charges. If these policies are acceptable to the user the user can proceed with the booking of the venue ( 528 ). Alternatively, if the booking policy does not meet the user&#39;s approval, the user can elect to be returned to the venue list and possibly select a new venue or run a new search.  
         [0052]    If the user elects to proceed with the reservation, the user will be requested to log into the system by providing a user ID and password ( 530 ). It is envisioned in this example that the user will have registered previously and will have provided log in information during registration. Once logged in, the user can select a payment method, such as a credit card, which has been previously provided during registration, or can enter new payment instructions ( 532 ). Once the payment information has been entered, the user is presented with a display ( 534 ) of the reservation which is about to be booked and is asked to confirm that all of the information displayed is correct ( 536 ). If the reservation information is confirmed by the user, the reservation is booked ( 538 ) and a final display is shown with reservation confirmation information ( 540 ). If no confirmation is received from the user, the process is terminated without booking a reservation.  
         [0053]    Accordingly, it will be understood that the preferred embodiment of the present invention has been disclosed by way of example and that other modifications and alternations may occur to those skilled in the art without departing from the scope and spirit of the appended claims.