1. Field of the Invention
This invention relates to techniques for the coordination of multiple travel itineraries for multiple travelers who are departing from various origin locations and traveling to the same destination location. According to one advantageous aspect, the invention provides techniques for minimizing the amount of time between the various arrival times associated with the outbound itineraries and between the various departing times associated with the inbound itineraries, such that the multiple travelers arrive at and depart from the destination at as close to the same time as possible. According to another advantageous aspect, the invention provides techniques for optimizing and/or maximizing the amount of time between the arrival times associated with the outbound itineraries and the departing times associated with the inbound itineraries, such that the multiple travelers have as much time together at the destination as possible.
2. Description of Related Art
In many types of business and personal travel, multiple travelers are expected to arrive at the same destination to participate in the same or similar activity. Frequently, the multiple travelers must originate their travel from different origin locations. For instance, a manager of a business with employees located in more than one city, state or country may call a meeting that requires all employees of the business to gather at a certain location and time. Furthermore, a family reunion may be planned, which requires the family members, many of whom do not live in the same place, to gather at a certain location and time. Thus, many of the employees and family members must travel to the certain location prior to the time of the meeting or reunion, respectively. For the travelers that do not drive themselves, such as those that arrive at the destination via a plane, train or other mode of mass transportation, it would generally be advantageous for them to arrive at the destination around the same time so that they can more easily share the other travel expenses, such as lodging arrangements, transportation to the lodging, transportation to the activity, etc. As such, two or more of the travelers may desire to coordinate their travel itineraries so that they arrive at the destination at as close to the same time as possible. In the same way, the travelers may also desire to coordinate their travel itineraries so that they depart the destination at as close to the same time as possible so that they may share transportation expenses to an airport, train station, or other departing location, or for any other reason. In some instances, such as the aforementioned family reunion or a vacation, the travelers may further desire to coordinate their travel itineraries so as to maximize their time spent together at the destination location.
Coordinating travel arrangements for two or more travelers can be a daunting task, however, and the more travelers there are, the more complicated an endeavor it is to coordinate travel arrangements. Typically, if more than one traveler from different origin locations would like to arrive at and/or leave a destination location at approximately the same time, someone must personally evaluate all of the possible travel arrangements (itineraries) for each traveler and determine which itinerary for each traveler will permit the travelers to arrive at and/or leave the destination as close as possible to the same time. Simultaneously, the person evaluating all of the possible travel itineraries for each traveler must keep in mind the date and time of any activity or activities that any or all of the travelers must attend. The scenario may be further complicated if the travelers wish to spend as much time together at the destination as possible, in addition to or in the alternative to arriving at and/or leaving the destination as close as possible to the same time
For example, a travel organizer faced with such a task, such as a travel agent or other individual, who may or may not be a traveler themselves, typically accesses a central reservation system for the desired type of transportation and performs separate searches to obtain the various travel itineraries for traveling to a certain destination from each traveler's origin location that meet the overall travel criteria, such as the date for the travel. Once the travel organizer obtains the various travel itineraries for each traveler, the travel organizer must then manually evaluate the itineraries in light of the particular desires of the travelers. For example, if the travelers and/or organizer specify that the travelers should arrive at and/or depart from the destination at as close to the same time as possible, regardless of the cost, then the travel organizer must determine which itineraries meet only the specific scheduling requirements. If, however, the travelers and/or organizer specify that the travelers should arrive at and/or depart from the destination at as close to the same time as possible without exceeding a certain price for one or more of the itineraries, or a certain overall price for all of the itineraries, then the organizer must not only evaluate the itineraries in light of the schedule requirements, but also must consider the pricing of one or more of the itineraries in making an appropriate determination. As such, as the number of travelers and/or the number of itineraries that the travel organizer must evaluate increases, the risk also increases that the organizer will become confused by the amount of information to be processed, or that the organizer will make an error or overlook a viable travel option for one or more of the travelers. Furthermore, if one or more of the travelers desires to make changes to their respective itinerary, the organizer must manually gather and identify all of the additional viable travel options to present to the respective traveler based, for example, upon the schedule and/or price requirements. Then, if a change is made to one traveler's itinerary, the organizer must further determine how that change affects the other travelers' waiting times once they arrive at the destination and/or the prices of the travel. Manually coordinating travel itineraries for multiple travelers who are traveling from different origin locations to one destination location, therefore, has the possibility of being a very time-consuming and error-prone process. Adding other parameters to the organizer's task such as, for example, the desire of the travelers to spend as much time together at the destination location as possible, further complicates the analysis.
Thus, there exists a need for a method and system for coordinate the travel itineraries of multiple travelers arriving at and leaving from a destination location, but originating travel from multiple origin locations. More particularly, there exists a need for a system and method capable of coordinating the travel itineraries of multiple travelers based upon specified requirements regarding schedule and/or pricing and/or an optimum and/or maximum time together at the destination location, as well as capable of addressing changes to individual travel itineraries as desired by the particular traveler in light of the coordinated travel plans of the other travelers, in an efficient and accurate manner.
According to the present invention, the methods and systems for coordinating the travel itineraries of multiple travelers, who are leaving from more than one origin location, but are arriving at the same destination location, provide automated techniques for quickly and accurately determining which travel itineraries for each traveler best meet the specified criteria for the trip and/or allow the travelers to spend an optimum and/or maximum amount of time together at the destination location. For example, methods and systems of the present invention permit a travel organizer to specify certain travel criteria for a trip, such as the date(s) of travel or the relative importance of the travelers arriving at the destination location at as close to the same time as possible (i.e. the schedule) versus the overall price of the itineraries for all of the travelers (i.e. the price). The methods and systems then provide a set of suggested travel itineraries that most closely meets the specified criteria, in addition to providing the amount of time between when any two travelers arrive at the destination location and/or the amount of time between when any two travelers leave from the destination location, the amount of time that the travelers will spend together at the destination location, and the overall price or individual prices for each traveler. Furthermore, the travel coordination techniques provide flexibility by allowing the organizer and/or the travelers to view all of the possible itineraries, replace one or more of the suggested itineraries, and then recalculate the time amounts and the price(s).
One embodiment of the methods and systems for coordinating multiple outbound and inbound itineraries includes receiving a destination location, multiple origin locations, each of which is associated with at least one traveler, and other travel information, such as, but not limited to, the dates and desired times of travel. An indication regarding the relative weight between price and schedule of at least some of the outbound and inbound itineraries is also received. For instance, one or more client elements, such as a laptop computer, a personal computer or workstation, networked personal computers or workstations, or the like, may receive the information. A travel database that includes at least outbound and inbound itineraries may then be accessed, such as by a processing element, and at least one outbound and inbound itinerary between the destination location and each origin location is identified based upon the travel information provided. From the identified itineraries, a suggested outbound and inbound itinerary between the destination location and each origin location may be determined based upon the relative weight between schedule and price; again typically by a processing element. Furthermore, one or more storage elements may store all of the identified itineraries.
Other embodiments of the methods and systems include presenting the suggested outbound and inbound itineraries for review, such as via one or more display elements. If a traveler or the travel organizer desires to review alternatives to at least one of the suggested itineraries, an indication that alternative itineraries are desired for at least one of the suggested itineraries associated with a respective traveler may be received. If an indication that alternative itineraries are desired is received, then other identified outbound and inbound itineraries between the destination location and an origin location may be presented for review. An indication of a selection of at least one of the other identified outbound and inbound itineraries may then be received. Embodiments of the present invention also may include transmitting the suggested itineraries and/or the identified itineraries associated with a traveler to the respective traveler for their review and selection. In further embodiments, information associated with the destination location may also be presented when the suggested and/or the identified itineraries are presented.
Changes to the indication regarding the relative weight between schedule and price for at least one of the travelers and/or at least one of the travel itineraries may be received in certain embodiments of the methods and systems of the present invention. The identified itineraries may then be accessed and at least one modified suggested itinerary between the destination location and at least one of the origin locations may be determined based upon the received changes, and may replace the suggested itinerary.
The total price for all of the suggested itineraries and/or the price for each suggested itinerary for each traveler may be determined. In addition, if one or more of the suggested itineraries are replaced with other identified itineraries, then the total price and individual prices for the resulting selected itineraries may be determined. Embodiments of the methods and systems of the present invention also include a determination of the amount of time between when any two travelers arrive at or depart from the destination location. For example, a determination of the amount of time between when each traveler arrives at the destination location and when the last traveler arrives at the destination for each suggested outbound itinerary may be made. Similarly, a determination of the amount of time between when each traveler departs the destination location and when the first traveler departs the destination location for each suggested inbound itinerary may be made. In one embodiment, the suggested outbound and inbound itineraries are the itineraries in which the amount of time between the arrival times of a respective traveler, and/or the amount of time between the departure times of a respective traveler, and at least one other traveler are minimized. Again, if one or more of the suggested itineraries are replaced with other identified itineraries, then the time amounts for the resulting selected itineraries may be determined.
Further embodiments of the methods and systems for coordinating travel itineraries may include receiving hotel and/or car rental information associated with at least one of the travelers. A travel database that includes respective hotel and/or car rental information may be accessed and at least one hotel and/or car rental itinerary, respectively, may be identified based upon the received information. The identified hotel and/or car rental itineraries, respectively, may be presented for review, and an indication of a selected hotel and/or car rental itinerary, respectively, may then be received.
The methods and systems of the present invention may also receive payment information regarding how the travel costs for each traveler are to be paid in some embodiments. Billing information may then be transmitted to the appropriate travelers or other entity or individual based upon the contents of the payment information.
In an alternate embodiment, methods and systems are provided for coordinating outbound and inbound itineraries for a plurality of travelers after receiving, by at least one client element, a destination location, a plurality of origin locations, and travel information, wherein each origin location is associated with at least one traveler. Upon receiving these parameters, such methods and systems determine a set of suggested outbound and inbound itineraries between each origin location and the destination location, based upon the travel information, from a travel database comprising at least outbound and inbound itineraries between the origin locations and the destination location, using at least one processing element. Each suggested outbound and inbound itinerary comprises an arrival time and a departure time with respect to the destination location, and the set of suggested outbound and inbound itineraries are determined so as to collectively providing an optimal time together of the travelers at the destination location.
In yet another alternate embodiment, methods and systems are provided for coordinating outbound and inbound itineraries for a plurality of travelers. First, a destination location, a plurality of origin locations, and travel information, is received, for example, by at least one client element, wherein each origin location is associated with at least one traveler. At least one processing element then determines at least one suggested outbound and inbound itinerary between each origin location and the destination location, based upon the travel information, from a travel database comprising at least outbound and inbound itineraries between the origin locations and the destination location. The at least one processing element is further capable of concurrently presenting one of an outbound portion and an inbound portion of the suggested outbound and inbound itineraries, arranged according to the corresponding origin location on at least one client element, wherein the one of the outbound portion and the inbound portion of the at least one suggested outbound and inbound itinerary for one of the plurality of origin locations is sortable according to an attribute of the suggested outbound and inbound itineraries, discretely of the corresponding one of the outbound portion and the inbound portion of the at least one suggested outbound and inbound itinerary for each of the others of the plurality of origin locations. The attribute may comprise, for example, a selected airline, an arrival time with respect to the destination location, a departure time with respect to the destination location, a total travel time, an amount of stops between the origin location and the destination location, and a cost.
Thus, the methods and systems for coordinating outbound and inbound itineraries for multiple travelers according to the various embodiments of the present invention provide automated techniques for providing a travel organizer and/or individual travelers with accurate and timely travel itinerary suggestions and options that best meet their travel criteria, such that the coordination of outbound and inbound travel itineraries for travelers from different origin locations traveling to the same destination location can more easily obtain the travel itineraries that will permit them to arrive at the destination location at similar times and/or depart from the destination location at similar times and/or identify travel itineraries that will permit them to identify the time spent together for each travel itinerary suggestion and to thereby spend an optimal or maximum amount of time together at the destination location. Additionally, the embodiments of the methods and systems of the present invention provide travel organizers and/or travelers with the ability to review the various travel options and easily change their travel itineraries. As such the methods and systems of the present invention are much less time-consuming and less error-prone than manual searching, identification and coordination of such travel itineraries.
Having thus described the invention in general terms, reference will now be made to the accompanying drawings, which are not necessarily drawn to scale, and wherein:
The present inventions now will be described more fully hereinafter with reference to the accompanying drawings, in which some, but not all embodiments of the invention are shown. Indeed, these inventions may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will satisfy applicable legal requirements. Like numbers refer to like elements throughout.
According to the present invention, the methods and systems for coordinating the travel itineraries of multiple travelers, who are leaving from one or more origin locations, but are arriving at the same destination location, provide automated techniques for quickly and accurately determining which travel itineraries for each traveler best meet the specified criteria for the trip while providing the travelers with the optimum or maximum time spent together at the destination location. For example, the methods and systems of the present invention permit a travel organizer to specify certain travel criteria for a trip, such as, for example, the date(s) of travel and preferred times of departure and/or arrival. In some instances, the travel organizer may also include other criteria or preferences such as, for instance, the relative importance between the travelers arriving at the destination location at as close to the same time as possible (i.e. the schedule) and the overall price of the itineraries for all of the travelers (i.e. the price). Such methods and systems then provide a set of suggested travel itineraries that most closely meets the specified criteria, and also provides an indication of the amount of time together for the travelers corresponding to each of the suggested travel itineraries. In addition, the amount of time between when any two travelers arrive at the destination location and/or leave from the destination location, and the overall price or individual prices for each traveler traveling to and from the destination location may also be provided. Furthermore, the travel coordination techniques provide flexibility by allowing the organizer and/or the travelers to view all of the possible itineraries and select one or more of the alternate suggested itineraries, wherein each of the suggested itineraries is associated with an amount of time together for the travelers. In some cases, selection of an alternate itinerary also causes the arrival/departure time difference amounts and the price(s) associated with each suggested itinerary to be recalculated.
The database 28 of the travel itinerary coordination system 20 may be part of one or more of the client element(s) 22, the server, and/or one or more of the processing element(s) 24, or most likely, may be separate from the client element(s) 22, the server, and the processing element(s) 24 and in communication with one or all of the elements via the Internet, intranet or other computer network(s) 30. Regardless of the configuration, the database 28 is accessed by other elements of the travel itinerary coordination system 20 via an interface, such as, but not limited to, a Common Object Request Broker Architecture (CORBA), active data object (ADO) interface, open database connectivity (ODBC) interface, or web services.
The client element(s) 22 represent the device or devices that users of the travel itinerary coordination system 20 may utilize to perform their duties regarding the travel data, such as to request inbound and/or outbound itineraries for travelers arriving in one destination location from more than one origin location, and/or to select particular inbound and/or outbound itineraries. The client element(s) 22 may be a laptop computer, a personal computer or workstation, networked personal computers or workstations, or any other type of computing device or configuration operating on any type of computer platform and capable of communications with the server(s). For example, the client element(s) 22 may support a browser interface to permit communications with the server(s). The browser interface is generally an Internet browser, but other browser interfaces capable of appropriately displaying the travel data, soliciting user input, and communicating with the computer network 26 may be utilized if desired. The system 20 may include many client elements 22 such that many users may utilize the travel itinerary coordination system 20. The client element(s) 22 may physically be located anywhere as long as the client element(s) 22 are in communication with the processing element(s) 24 via the Internet, intranet or other computer network 26.
As described above, the processing element(s) 24 of one advantageous embodiment include a web and application server, which may utilize any modem operating system, such as, but not limited to, Microsoft Windows, UNIX, or Linux, and any modem web development platform, such as, but not limited to, JAVA, commercially available from Sun Microsystems, Inc. One or more application program(s) may reside on the web and application server(s). For example, in the embodiment of the network architecture diagram of
Among other functions, the application program(s) provide the information/instructions required to perform a task and/or provide the requested information regarding particular travel itineraries to the client element(s) 22 in any appropriate form, such as, but not limited to, a web page form having predefined fields. The form may be viewed by the user as “screens” via client element(s) 22 and the browser interface including, for example, a display. As known to those skilled in the art, the screens may be interactive and prompt the user for the action or information necessary for the travel itinerary coordination system 20 to request, provide and allow selection of certain travel itineraries. After the user submits responses to the prompts provided by a screen and/or selects certain options presented on the screen, the application program(s) can determine the content and prompts to be provided by successive screens. The application program(s) may access/query the database 28 and/or the external information feed 29 to provide the content for any of the screens, based upon the actions taken by the user and/or the request of the user. For example, if a user, such as a travel organizer, who may or may not be a traveler themselves, requests certain travel itineraries based upon certain travel criteria for multiple travelers, the application program(s) receives the request from the user via a screen, queries the database 28 and/or the external information feed 29 for the requested information, populates and formats another screen containing the requested information, and submits the screen to the client element(s) 22 for viewing by the user, such as the travel organizer, and, optionally, one or more of the travelers, via the browser interface. Furthermore, if the particular user is to perform a task regarding the presented travel itineraries, such as selecting certain travel itineraries or providing payment information for the travel costs for one or more of the travelers, the application program(s) provides a screen to the user containing the information from the database associated with the task and prompts the user to perform the task. The information requested and received from the database 28 and/or the external information feed 29 may then be stored in the processing element(s) 24 or in a separate storage element, such that future requests for the same information may be obtained quickly from the processing element(s) 24 and/or the storage element, instead of having to query the database 28 and/or the external information feed 29 again.
The database 28 may contain a variety of stored information, including the travel data, such as, but not limited to, schedules for one or more types of travel over a period of time, availability of the travel for each schedule, and pricing of the travel for each schedule. For example, in
The external information feed 29 may be in communication with the system 20 independently of the database 28, or may form an element of the database 28, and may comprise, for example, syndicated information obtained through an RSS feed, as will be appreciated by one skilled in the art. Such syndicated information may include, for instance, calendar information of one or more of the travelers posted to a collaborative event calendar site, wherein the traveler's calendar information is then made available from that site to the system 20 through the RSS feed. In this manner, the user entering a travel query into the system 20 for a group of travelers via a client element 22 does not necessarily need to contact each traveler to determine each traveler's schedule prior to planning a trip. For example, should the user wish to propose a group trip with travelers at different origin locations over certain dates, the user would specify the particular travelers to the system 20, which would then retrieve the corresponding syndicated calendars via the external information feed 29 to determine the travelers' availability on the selected dates. If one or more travelers has a conflict with the chosen date(s), then the system 20 can, for instance, notify the user of such a conflict and permit the user to specify alternate dates.
In other instances, the system 20 may be configured to examine the calendars of the particular travelers and then present to the user an indication of particular dates where the selected travelers do not show a conflict on their corresponding calendars (particularly, for example, when the user or a traveler indicates that their travel plans are flexible). In this manner, the user is then able to prepare a proposed trip for presentation to the selected travelers (i.e., “I see from your iCalendar that you are free from January 15-20. I propose that we all meet in Cancun to escape the winter for a while. Here are the available schedules that I have found that will allow us to spend the most time together over these few days . . . ”). In some instances where the system 20 is configured to examine the calendars of the travelers, the system 20 may also be configured to determine whether alternate dates that are open on the travelers' calendars may be associated with less expensive prices with respect to airfare, hotel, and/or car, and/or provide the travelers more time together, as compared to the original dates selected by the user, and automatically present those alternate dates and the corresponding suggested itineraries to the user for consideration (i.e., “The system has determined that the travelers in your group are available to meet at the selected destination from June 12-15, instead of May 27-30 as you selected. Scheduling your trip for these alternate dates will result in a total saving of $1500.00 and allow you to spend 6.5 more hours together with the selected travelers in your group.”).
One skilled in the art will further appreciate, however, that the calendar syndication example presented above may also provide opportunities for socialization that may extend beyond the coordinated travel context as disclosed herein. For example, anyone publishing an online calendar may be allowed to choose between scheduled events entered on the calendar being made public (i.e., accessible via an RSS feed) or being private (not available via the RSS feed) or selectively available to selected individuals based on, for example, a permission-based or encryption key schema. Further, such a system implementing a syndicated calendar may also be configured to moderate the various hosted calendars by, for instance, maintaining the scheduled events on the hosted calendars in synchronization with data regarding the particular events. That is, for a scheduled event, should the dates of the event change, for example, the system may notify the user of the changed dates so as to allow the user to revisit and update their plans. Also, should the user schedule an event on or over certain dates, the system may monitor and/or verify the accuracy of the scheduled event. For example, should the user schedule an event that is determined by the system to actually being scheduled for different dates or a different location, the system may also notify the user of such discrepancies so as to allow the user to maintain an accurate calendar. With such available functionality, the syndicated calendar may allow someone to examine various online calendars, for example, and arrange travel to and/or attendance at a certain event at which persons of interest have indicated, via the syndicated calendars, that they will be attending. Accordingly, socialization opportunities may be enhanced outside a coordinated travel context. One skilled in the art will appreciate, however, that such examples presented herein regarding possible applications and functionality of an information feed aspect, particularly with respect to a syndicated calendar, are not intended to be limiting in any manner.
In addition to, or in the alternative, the syndicated information provided by the external information feed 29 may comprise travel information that is distributed based on occurring events, wherein such occurring events may include, for example, changes in fares and availability. The appropriate travel information may be provided by various systems and methods detailed, for example, in U.S. patent application Ser. No. 09/276,825, filed Mar. 26, 1999, and entitled “EVENT BASED SYSTEM FOR DISTRIBUTING TRAVEL INFORMATION,” which is incorporated herein in its entirety by reference. U.S. patent application Ser. No. 09/276,825 represents “push-type” systems and methods for providing travel information, wherein occurring events are distributed via an information channel or data channel to a subscriber or user thereof (i.e., source-distributed syndicated information). One skilled in the art will appreciate, however, that the travel information may be retrieved via the external information feed 29 using a “pull-type” system (i.e., a “fare watcher” type system where syndicated information can be distributed upon in response to an inquiry), wherein, for example, appropriate systems and methods may be implemented to selectively or periodically query a travel information database or data channel in order to determine whether there have been any changes in, for example, fares and availability (i.e., a feed reader or aggregator). Accordingly, monitoring such events or changes in the travel information queried by the system 20 allows the time together method to provide optimum representations of the time together for the travelers corresponding to each of the suggested itineraries returned to the user in response to a particular query.
As discussed, embodiments of the present invention generally include two concepts that may be implemented simultaneously or independently, as will be appreciated by one skilled in the art. The first concept is directed to minimizing the amount of time between the various arrival times associated with the outbound itineraries and between the various departing times associated with the inbound itineraries, such that the multiple travelers arrive at and depart from the destination at as close to the same times as possible. The second concept is directed to optimizing or maximizing the amount of time between the arrival times associated with the outbound itineraries and the departing times associated with the inbound itineraries, such that the multiple travelers have as much time together at the destination as possible. Optimizing the amount of time together may indicate, for example, balancing the maximum amount of time together with other travel parameters such as cost, wait times, layover time, travel times, and/or hotel and/or rental car availability. As such, an optimized time together may or may not be the maximum amount of time together for the travelers, since the optimized time together may represent other factors playing a role in the itineraries presented to the user (i.e., a suggested itinerary with less than a maximum time together, such as 2 days and 3 hours for $1000.00, may be presented to the user where an itinerary with the maximum time together, such as 2 days and 5 hours for $2000.00, may be significantly more expensive). These concepts may both be implemented using a system 20 disclosed herein, though the methodology therebetween may vary as appropriate. Accordingly, for clarity, the methodology of the first concept (“the travel itinerary coordination method” as illustrated in
The user, such as a travel organizer, may also be prompted to enter the class of travel for all or each of the travelers from each origin location. The example of
Furthermore, the user may be prompted to enter the desired dates and times for travel. As shown in segment 70 of the example of
The pricing option box 82 also permits the user, such as the travel organizer, to indicate the relative importance of the travel price to the travel schedule. Thus, the user may select certain phrases from box 82, which may be listed when the user selects the arrow to the right of the box, as described hereinabove. For example, in the embodiment of
The “more search options” selection 84 expands the search options that the user may enter to further define the user's and/or the traveler's desires regarding the travel itineraries of one or all of the travelers. For example, by selecting the “more search options” selection 84, the user may be presented with the ability to select the service class for each traveler, not just for all of the travelers from one origin, as shown in
The travel itinerary coordination method and system 20 initiate the search by requesting, from the travel database 28, all of the travel itineraries that most closely meet the requirements entered by the user, such as the travel organizer, as described above. In transmitting any of the requests discussed herein, one request containing all of the desired information may be transmitted to the database 28, or separate requests for each origin location or each traveler may be transmitted to the database.
The information entered by the user, such as the travel organizer, in
In the example of the embodiment of the system 20 illustrated by
Once all of the outbound and inbound itineraries between each origin and the destination that meet the date and time requirements and any other requirements as closely as possible are identified, then the travel database 28 also obtains the availability of those itineraries from the availability engine 50. For example, the availability engine 50 checks to determine whether each of the flights has one or more available seats for the traveler(s). In addition, the availability engine 50 may check to determine whether each of the flights has seats available in the class of service specified for each traveler that may potentially book the flight. If one or more of the flights do not have any seats available, do not have enough seats available for all of the travelers that may potentially book the flight, or do not have the desired class of service seats available, then the respective itineraries may be flagged to indicate the lack of availability or the respective itineraries may be deleted from the list of itineraries that the scheduling engine 48 obtained.
The prices of the identified itineraries may then be obtained. The price may be obtained in any conventional manner. For instance, in the embodiment of
The itineraries between each origin location and the destination location then may be transmitted to the processing element 24, in particular, the air scheduling engine 31. In the embodiment of the system 20 of
Groups of outbound itineraries and groups of inbound itineraries in which each group has one itinerary associated with each traveler are then created by the Group Price/Schedule Sensor 42. To create the groups, first an empty list of labels is created for each arrival time slot, where there is one arrival time slot for each arrival time of each of the itineraries associated with the same origin location. Thus, a label is created for each itinerary that arrives at or before the arrival time slot. For example, if there are three itineraries from an origin to a destination and itinerary 1 arrives at the destination at 8 am, itinerary 2 arrives at the destination at 9 am, and itinerary 3 arrives at the destination at 10 am, then only itinerary 1 will have a label for the 8 am time slot, itineraries 1 and 2 will have labels for the 9 am time slot, and itineraries 1, 2 and 3 will have labels for the 10 am time slot. Each label contains at least (1) the Δet+the amount of time between the arrival time slot and the arrival time for the itinerary (i.e., the waiting time); (2) price and (3) itinerary identifier.
For instance, assume that itineraries 1, 2 and 3 departing from origin 1 have the following details:
Thus, itinerary 3 has the minimum et at 120 minutes. Itinerary 1 has a Δet=30, and itinerary 2 has a Δet=90.
For the 8:00 am time slot, the label for itinerary 1 is:
For the 9:00 am time slot, the labels for itinerary 1 and itinerary 2, respectively are:
Because more than one label exists for this time slot, the Group Price/Schedule Sensor 42 determines whether to eliminate any of the itineraries. Thus, an itinerary and the associated label may be eliminated if the time amount in (1) for a respective itinerary is greater than or equal to the time amount in (1) for the other itineraries and the price in (2) for the respective itinerary is greater than the price in (2) for the other itineraries. Likewise, an itinerary and the associated label may be eliminated if the price in (2) for the respective itinerary is greater than or equal to the price in (2) for the other itineraries and the time amount in (1) for a respective itinerary is greater than the time amount in (1) for the other itineraries. For example, regarding the labels in the 9:00 am time slot, the AA1 itinerary may be eliminated because the time amount in (1) for the AA1 itinerary is the same as the time amount in (1) for the AA2 itinerary and the price in (2) for the AA1 itinerary is greater than the price in (2) for the AA2 itinerary. Once an itinerary has been eliminated for one time slot, it is also eliminated in any subsequent time slots. Thus, a label for itinerary 1 (i.e. AA1) will not be created for any subsequent time slots.
For the 10:00 am time slot, the labels for itinerary 2 and itinerary 3, respectively are:
Following the rules set forth above, neither of these labels and associated itineraries may be eliminated because while the time amount in (1) for the AA2 itinerary is greater than the time amount in (1) for the AA3 itinerary, the price in (2) for the AA2 itinerary is less than the price in (2) for the AA3 itinerary. Likewise, while the price in (2) for the AA3 itinerary is greater than the price in (2) for the AA2 itinerary, the time amount in (1) for the AA3 itinerary is less than the time amount in (1) for the AA2 itinerary. Thus, a matrix for origin 1 is created in which the 8:00 am time-slot has one label (i.e., the AA1 itinerary), the 9:00 am time slot has one label (i.e., the AA2 itinerary), and the 10:00 am time slot has two labels (i.e., the AA2 and AA3 itineraries). Such a matrix is created for each origin location.
Once the matrices for each origin location are created as described above, a matrix is created for the various groups of itineraries in which each group contains an itinerary for each traveler associated with an origin location. For example, assume that itineraries 1, 2 and 3 departing from origin 2 have the following details:
Thus, itinerary 3 has the minimum et at 50 minutes. Itinerary 1 has a Δet=20, and itinerary 2 has a Δet=80.
Thus, for the 10:00 am time slot, the labels for itinerary 1 and itinerary 2 from origin 2 are:
For an 11:00 am time slot, the labels for itinerary 1, itinerary 2 and itinerary 3 from origin 2 are:
Following the rules set forth above, neither of the labels and associated itineraries may be eliminated for the 10:00 am time slot because while the time amount in (1) for the DL2 itinerary is greater than the time amount in (1) for the DL1 itinerary, the price in (2) for the DL2 itinerary is less than the price in (2) for the DL1 itinerary. Likewise, while the price in (2) for the DL1 itinerary is greater than the price in (2) for the DL2 itinerary, the time amount in (1) for the DL1 itinerary is less than the time amount in (1) for the DL2 itinerary. Thus, in creating the group matrix, two labels for origin 1 (i.e., the AA2 and AA3 itineraries) and two labels for origin 2 (i.e., the DL1 and DL2 itineraries) may be used to create a group label for the 10:00 am time slot.
However, for the 11:00 am time slot both the DL1 and DL2 itineraries may be eliminated because the time amount in (1) for the DL3 itinerary is less than the time amount in (1) for either the DL1 or DL2 itineraries and the price in (2) for the DL3 itinerary is less than the price in (1) for either the DL1 or DL2 itineraries.
Thus, to create a group label for the 10:00 am time slot, the cross-product of the two labels for origin 1 and the two labels for origin 2 is determined by summing the times in (1) and the prices in (2) for the various combinations of itineraries from each origin. For example, four group labels may be created from the two labels for origin 1 and the two labels for origin 2 as follows:
Following the rules set forth above, none of these labels and associated itineraries may be eliminated. Thus, in the group matrix, four labels are included in the 10:00 am time slot (i.e., the AA2/DL1 itinerary, the AA2/DL2 itinerary, the AA3/DL1 itinerary, and the AA3/DL2 itinerary).
For the 11:00 am time slot, all of the labels from the 10:00 am time slot may transfer over with the only change being a 120 minute (i.e., the difference between 10:00 am and 11:00 am for each itinerary) addition to the time amounts in (1) of each of the labels, as shown below:
Alternatively, if the individual labels for itineraries from origin 2 were determined for an 11:00 am time slot, as shown above, and it is known that the DL3 itinerary eliminates the DL1 and DL2 itineraries for this time slot, then any group label that includes DL1 or DL2 may automatically be eliminated from the 11:00 am time slot for the group matrix. In either situation, the cross-product of the two labels for origin 1 and the DL3 label for origin 2 is determined by summing the times in (1) and the prices in (2) for the various combinations of itineraries from each origin. For example, two group labels may be created from the two labels for origin 1 and the one additional label for origin 2 as follows:
If the first four group labels (i.e., the AA2/DL1, AA2/DL2, AA3/DL1 and AA3/DL2 itineraries) were not automatically eliminated for the 11:00 am time slot as described above, then following the rules set forth above, the first four group labels may be eliminated at this point because both the time amounts in (1) and the prices in (2) for the AA2/DL3 and AA3/DL3 itineraries are less than the time amounts in (1) and the prices in (2) for the first four group labels. Thus, in the group matrix, two labels are included in the 11:00 am time slot (i.e., the AA2/DL3 itinerary and the AA3/DL3 itinerary).
This process continues until the outbound group matrix is populated for each arrival time slot for each itinerary (regardless of the origin). In addition, the same process described above is carried out to create a group matrix for inbound itineraries. In embodiments of the system 20 in which the outbound and inbound itineraries are tied to round-trip pricing that ties a particular outbound itinerary to a particular inbound itinerary, the itinerary labels and group labels may be created as described above, but an estimate, such as an average or mean of the price, use of the highest or lowest price, or any other type of estimate known to those skilled in the art, for each outbound itinerary over all of the possible inbound itineraries to which the outbound itinerary may be tied may be utilized in creating the labels. In the same way, an estimate or average of the price for each inbound itinerary over all of the possible outbound itineraries to which the inbound itinerary may be tied may be utilized in creating the labels. When presenting the prices of particular itineraries to the travel organizer and/or individual travelers, however, the exact pricing for the round trip is utilized. In other embodiments of the system 20, any type of computing known to those skilled in the art may be utilized to take into consideration the possible inbound itineraries when creating the labels for the outbound itineraries and to take into consideration the possible outbound itineraries when creating the labels for the inbound itineraries such that exact pricing is also utilized when creating the labels.
The inbound and outbound group matrices then may be searched by search engines, such as the Schedule Driven Search module 40 and the Price Driven Search module 46, to determine which group of itineraries best meets the group requirements indicated by the travel organizer. For example, if the travel organizer indicated that the schedule of the itineraries is weighted heavier than the price of the itineraries, such as by selecting “unrestricted” in the pricing option box 82, then the Schedule Driven Search module 40 searches the groups of itineraries for the group that has the least total waiting time in (1) of the labels. For the labels included in the group matrix described above, (i.e., the AA2/DL1, AA2/DL2, AA3/DL1 and AA3/DL2 itineraries for the 10:00 am time slot and the AA2/DL3 and AA3/DL3 itineraries for the 11:00 am time slot) the Schedule Driven Search module 40 would select AA3/DL3 itinerary in the 11:00 time slot because it has the smallest amount of time in (1) of the labels. If the travel organizer indicated that the price of the itineraries is weighted heavier than the schedule of the itineraries, such as by selecting “lowest available” from the pricing option box 82, then the Price Driven Search module 46 searches the groups of itineraries for the group that has the lowest total price in (2) of the labels. For the labels included in the group matrix described above, (i.e., the AA2/DL1, AA2/DL2, AA3/DL1 and AA3/DL2 itineraries for the 10:00 am time slot and the AA2/DL3 and AA3/DL3 itineraries for the 11:00 am time slot) the Price Driven Search module 46 would select AA2/DL3 itinerary in the 11:00 time slot because it has the lowest total price in (2) of the labels. Whichever group is chosen based upon the weighting the travel organizer indicated is then the suggested group of itineraries.
In other embodiments of the method and system 20 of the present invention, the travel organizer may select an intermediate weighting between price and schedule if an intermediate total waiting time and/or an intermediate total price is desired. For example, the pricing option box 82 may present one or more options that indicate an intermediate weighting between price and schedule is desired and the Schedule Driven Search module 40, the Price Driven Search module 46, combination of the Schedule Driven Search module 40 and the Price Driven Search module 46, or a separate intermediate search module may search the groups of itineraries for the group that most closely meets the desired weighting between schedule and price indicated by the travel organizer. To determine which group of itineraries most closely meets the desired weighting, the system 20 may normalize the differential in price and time of each group of itineraries as known to those skilled in the art. For instance, the differential in price and time of each group of itineraries for each arrival time slot may be determined as described above in creating the inbound and outbound group matrices. The differentials then may be scaled. The price portion of the scaled differentials then may be multiplied by the desired weighting of price, and the time portion of the scaled differentials may be multiplied by the desired weighting of the schedule. The weighted price and time portions then may be summed, and this number for each group of itineraries may be compared, such that the lowest number is associated with the group of itineraries that most closely meets the desired weighting between schedule and price indicated by the travel organizer.
As illustrated in the embodiment of
Modifications to the itineraries may be made in at least two ways. One way is by the group arrival controls 98 and/or the group departure controls 100. As such, for all of the inbound and/or outbound itineraries, changes may be made as a whole by way of the selection arrows or by other comparable controls. For example, regarding the embodiment of
Another way to modify the suggested group of itineraries is to select the “Change Flight” button 102 associated with the individual inbound or outbound flight that is to be modified. For example, in the embodiment of
The travel organizer may also indicate the method of payment for the travel itineraries. As shown in
In addition, if any type of car rental or lodging options were selected by the travel organizer, the detailed itineraries associated with those rentals may be presented along with the travel itineraries. The travel organizer is also prompted to enter personal information regarding the specific travelers associated with each itinerary. For example, the travel organizer may be prompted to enter at least the names and email addresses of each traveler. By entering the email address of each traveler, the system 20 is capable of preparing and sending an email detailing each traveler's itinerary or containing a link to a web page that displays the itinerary information. In addition, the system 20 may create a group email address for each of the travelers and the travel organizer to facilitate communication between and/or among the travelers without having to distribute each traveler's personal information. An example of such an email is shown in
If the group payment option was selected in the display shown in
As discussed above, the system 20 is capable of preparing an email to each traveler that contains the details of the respective traveler's itinerary or a link to a web page that contains the details. Email 120 of
In the example of
Any other type of information may also be transmitted to the user, such as the travel organizer and/or the travelers, via the displays, such as those illustrated in
Thus, the method and system 20 for travel itinerary coordination provides accurate and fast techniques to coordinate the travel itineraries of multiple travelers from more than one origin location who are traveling to the same destination location. By permitting an indication of a relative weight between the itineraries schedule and price and options to modify any of the suggested itineraries with other identified itineraries, the method and system also provide flexibility and efficiency that was not possible by the prior art manual coordination techniques.
Some specific examples of implementations of the method and system 20 for travel itinerary coordination include both leisure and business travel. For example, a travel organizer may wish to coordinate the travel itineraries of multiple family members planning to travel to a family reunion from more than one origin location. Because each family member is paying for their own travel and are traveling on their own time, getting the lowest priced travel arrangements is relatively more important to the family members than minimizing the waiting time between the arrival and departure times of the travelers. Thus, utilizing the method and system 20 of the present invention, the travel coordinator can easily enter the trip and traveler information and receive the lowest priced travel itineraries that meet the trip criteria by indicating that the lowest available pricing is desired in the pricing option box 82. If, however, the travel itineraries that are suggested are not agreeable to the travel organizer, the travel organizer can search for alternate flights for one or more of the travelers or request a different group of suggested itineraries via the group travel controls, as illustrated by the example of
Another example is business travel, such as when a travel organizer is coordinating the travel itineraries of multiple employees planning to travel to a business meeting from more than one origin location. Because the business is paying for the travel costs of all of the travelers and because the travelers will be traveling on business time, minimizing the waiting time as much as possible is relatively more important to the business than the cost of the travel. The travel organizer may then indicate that the schedule is more important by selecting the unrestricted option from the pricing option box 82. If, however, the prices of the travel itineraries that are suggested are too expensive, the travel organizer can search for alternate flights for one or more of the travelers or request a different group of suggested itineraries via the group travel controls, as illustrated by the example of
Event planning may also be easily coordinated via the trip itinerary coordination method and system 20 of the present invention. For example, a travel organizer may coordinate an event, such as a rafting trip, a tour, a sporting event, or any other type of activity, for multiple travelers from different origin locations. Thus, the event is scheduled to begin at a certain date and time, so the travel organizer can find the lowest available pricing or the closest arrival and departure time for the travel itineraries of all of the travelers based upon the indication the travel organizer enters into the pricing option box 82. If the suggested travel itineraries returned to the travel organizer are not satisfactory, then the travel organizer can also search for alternate flights for one or more of the travelers or request a different group of suggested itineraries via the group travel controls, as illustrated by the example of
Thus, there are many different applications in which the travel itinerary coordination method and system 20 could be utilized to coordinate the travel itineraries of multiple travelers, who are leaving from more than one origin location, but are arriving at the same destination location by providing automated techniques for determining which itineraries for each traveler best meets the specified criteria, such as the relative importance of the travel schedules versus the price, for the trip. A set of suggested travel itineraries that most closely meet the specified criteria are then provided, in addition to the amount of time between when any two travelers arrive at and/or leave from the destination location, and the price. Furthermore, the travel coordination techniques provide flexibility by allowing replacement of one or more of the suggested itineraries with other possible itineraries and recalculation of the time amounts and the price(s).
With respect to the time together method,
The user is also prompted to select the number and type, i.e., adults, children or seniors, of people that are traveling from each origin location in the boxes 164. For instance, in the example of
One skilled in the art will appreciate that, in some embodiments of the time together methods and systems, the initial data collection page may be provided with certain logic that provides additional flexibility and/or efficiency of the search process. More particularly, in some instances, the user selection of the origin locations may be used by the system 20 to determine only those destinations available from those origin locations. This aspect may be implemented, for example, in situations with limited travel options or packages such as in “last-minute” travel arrangements where the system 20 only examines travel packages available with respect to the selected origin locations within the next week or two. For instance, in the illustrated example, should there be no travel packages (i.e., flight, hotel, and/or car) available to Ft. Lauderdale, Fla. from the selected origin locations (Reno and Raleigh) within 2 weeks of the inquiry made by the user, then Ft. Lauderdale, Fla. would not appear under the “Destination” box at the point of user selection. In this manner, the system 20 can be characterized as “predictive” since it may be configured to automatically show only those destination locations having travel package availability with respect to the selected origin locations.
In other instances, the time together methods and systems may also permit the user to conduct a more general search than a specific city and/or a specific date. More particularly, when selecting a destination, the user may just select a general destination (i.e., Florida, the Caribbean, or All Destinations) in the “Destination” box, without choosing a particular city. In this respect, the system 20 will return all results pertaining to the general destination. That is, for example, a general destination search for Florida may cause search results for all cities within Florida to be returned in response to the user query. More particularly, a general destination search for Florida may return suggestions, for instance, for Jacksonville, Orlando, Naples, Miami, Ft. Lauderdale, Key West, etc. Similarly, when selecting the travel dates, the user may more generally specify, for example, this weekend, next weekend, or all dates in the “Dates” box. Accordingly, the user would not have to determine particular dates of travel if the user only had weekend travel plans in mind upon conducting the query. The options described above are examples of general options that may be available to users of the system 20 on the initial data collection page of the client element 22, though other options may be added or the options may be combined in various combinations in other embodiments of the system 20 of the present invention. Accordingly, once the user has entered all of the information regarding the requested travel criteria and the travelers, the user may select the “search” box 186 to initiate a search by the system 20 for travel itineraries that best match the provided traveler information, with an emphasis on determining the time spent together by the travelers. The system 20 then initiates the search by requesting, from the travel database 28 and/or the external information feed 29, all of the travel itineraries that most closely meet the requirements entered by the user or the travel organizer. In transmitting any of the requests discussed herein, one request containing all of the travel information entered by the user may be transmitted to the database 28 and/or external information feed 29, or separate requests for each origin location or for each traveler may be transmitted to the database 28 and/or external information feed 29. The search may also involve the air scheduling engine 31.
The information entered by the user, such as the travel organizer, in
In the example of the embodiment of the system 20 illustrated by
Once all of the outbound and inbound itineraries between each origin and the destination that meet the travel date requirements, or any other requirements, are identified, then the travel database 28 also obtains the availability of those itineraries from the availability engine 50 and/or the external information feed 29. For example, the availability engine 50 checks to determine whether each of the flights has one or more available seats for the traveler(s) and, in some instances, whether the availability is up to date via the external information feed 29. In addition, the availability engine 50 may check to determine whether each of the flights has seats available in the class of service specified for each traveler that may potentially book the flight. If one or more of the flights do not have any seats available, do not have enough seats available for all of the travelers that may potentially book the flight, or do not have the desired class of service seats available, then the respective itineraries may be flagged to indicate the lack of availability or the respective itineraries may be deleted from the list of itineraries that the scheduling engine 48 obtained. The prices of the identified itineraries may then be obtained in any conventional manner, and may be updated through communication via the external information feed 29. For instance, in the embodiment of
Once the available itineraries are determined for the specified travel dates, the system 20 may be further configured to sort the itineraries according to certain criteria, using at least one processing element 24, so as to provide the various itineraries to the user in an order corresponding to any user preferences. In one particular instance, the criteria is the maximum amount of time, given the travel dates selected by the user, that the travelers can spend together at the destination location. However, other criteria, in addition to the maximum time spent together, may also be considered in evaluating the various itineraries to determine an optimum amount of time together. For example, as detailed in the travel itinerary coordination method, the various itineraries may also be evaluated with respect to coordination of arrival and departure times for the various travelers, in addition to the time spent together. In this manner, given the selected travel dates, the itineraries having widely varying arrival and/or departure times for the various travelers may likely be moved lower on the list of suggested itineraries as compared to itineraries having all travelers arriving and departing within one or two hours of each other even though, for instance, the former itinerary may allow the travelers to spend a few more hours together. However, if the time together disparity is relatively large, the former itinerary may well be ranked over the latter itinerary (i.e., presuming the same departure times between the itineraries, the former itineraries having two parties arriving at the destination at 8 AM and 11 AM may be preferred over the latter itineraries having the two parties arriving at or close to 10 PM, because the former itineraries would allow the parties to have 11 more hours together at the destination location.
Accordingly, embodiments of the time together method of the present invention evaluate all possible itineraries meeting the requested travel dates and then evaluate particular parameters associated with the itineraries so as to determine a relative score for each itinerary. For example, the possible itineraries meeting the requested travel dates may be evaluated according to parameters including the actual travel time (to and/or from the destination location), any wait or layover time (that is, wait time may also include the time that one or more of the travelers has to wait for other travelers to arrive, or to depart after other travelers), the price of the itinerary, and/or the amount of time spent together by the travelers at the destination location. The time together parameter may be, for example, based on or related to the amount of time between the arrival of the last of the travelers at the destination location and the departure of the first of the travelers from the destination location for the travel dates selected by the user.
The evaluation parameters may be considered through a weighting formula premised on a concept of applying a dollar or monetary value to the time components of the evaluation parameters (e.g. time is money). In such a manner, each of the evaluation parameters may be assigned a “conversion rate” or weighting factor that can be adjusted as appropriate. For example, each 1 minute of wait or layover time can be valued as (cost) $1.00, each 1 minute of time together can be valued as (benefit) −$2.00, the cost of the particular itinerary can be carried as the dollar value thereof, while the actual travel time may also be assigned a cost per minute (i.e., $1.00). As such, depending on the weighting factor assigned to each evaluation parameter, the score for each itinerary will vary. Thus, in terms of the “cost” weighting procedure in this instance, the system 20 determines the itineraries with the lowest scores (“least cost”) and may then present a certain amount of these itineraries to the user as suggested itineraries. In some instances, however, qualitative criteria may be applied to all of the possible itineraries in addition to, or in the alternative to, the weighting process for the evaluation parameters. For example, such qualitative criteria may include, for example, the cheapest itinerary, the itinerary with absolutely the most time together, the itinerary with the best schedule for the travelers to “avoid taking PTO time,” or any other suitable criteria. Such qualitative criteria may be indicated by the user on the initial data collection page of the client element 22, or the user may be presented with opportunities to filter the itineraries presented by the system 20 in response to the user query. An optimum time together for the travelers may thus be determined by application of the weighting procedure and/or the qualitative criteria.
All of the identified itineraries and their prices returned in response to the user's query may be stored in the processing element 24 and/or in a storage element in communication with the processing element 24, such that the system 20 does not have to access the travel database 28, if the travel organizer and/or any of the travelers desire to modify sorting or preferences, modify the relative weight assignment between schedule and price, or view all of the identified itineraries.
In some instances, the system 20 may also be configured to present product and/or service options to the user, that are related to the results of the user query, via an affinity procedure or algorithm. For example, in the scenario provided above using Miami, Fla. as the destination location (i.e., typically a beach destination), the affinity procedure may be applied to the user's query to return itineraries directed to other destinations known for its beaches. For instance, Fort Lauderdale, Fla. may be provided as one alternative beach itinerary. In this regard, the affinity procedure may provide many different suggested alternative itineraries with regard to the destination queried by the user. For example, the affinity procedure may provide suggestions in terms of various attributes such as mood, theme, event, geography, or the like, wherein such suggestions may be determined and provided by the system 20, or selected by the user. In the alternative, the system 20 may implement an extrapolative procedure or algorithm using logic and/or user input to extrapolate alternative suggested itineraries on the basis of, for instance, alternate dates, nearby destinations, regional destinations, or destinations determined along a particular theme. Such an affinity procedure and an extrapolative procedure are disclosed, for example, in commonly-owned U.S. patent application entitled “SYSTEM, METHODS AND COMPUTER PROGRAM PRODUCTS FOR OFFERING PRODUCTS BASED ON EXTRAPOLATION OF INPUT,” filed Aug. 30, 2005, which is incorporated herein in its entirety by reference.
Commonly-owned U.S. patent application entitled “SYSTEM, METHODS AND COMPUTER PROGRAM PRODUCTS FOR OFFERING PRODUCTS BASED ON EXTRAPOLATION OF INPUT,” filed Aug. 30, 2005, also discloses that the results returned by the affinity procedure and/or the extrapolative procedure may, in some instances, be numerically limited by a truncation procedure showing a preference or applying a criteria, for example, for more popular packages, packages better fitting the affinity procedure or the extrapolative procedure, elimination of duplicate results, less expensive packages, or the like. As such, a system 20 as disclosed herein may also be configured to implement such truncation or “pruning” procedures, as necessary, to provide only selected results to the user, in order to avoid overloading the user with excessive information. Of course, one skilled in the art will appreciate that the system 20 may provide appropriate functionality and provisions for allowing the user to view all search results at any time. That is, if desired by the user, the user can, in some instances, request to see all results for any particular aspect of the search. For example, the user may be able to request to see all available flight packages (sets of suggested outbound and inbound itineraries), all nearby destination suggestions, or the like.
According to further aspects of the present invention, the system 20 may be configured to provide transportation-only itineraries or, in some instances, the transportation itineraries may be packaged with accommodation (hotel) and/or rental car offers at the destination location. That is, the itineraries presented to the user, in response to the user query, may also take into consideration the availability of various hotel and/or rental car options (as determine by the car selection engine 32 and/or the hotel selection engine 34, in conjunction with the database 28 and/or the external information feed 29), as particularly packaged with the travel itineraries, as shown in
In some instances, prices of such packages may be even more attractive where in “last minute” situations where providers seek to fill availability such that the available products and/or services do not go unused. Accordingly, embodiments of the methods and systems of the present invention may, in some instances, be more effectively marketed as “last minute” specials such as, for instance, available within the next fourteen days. Further, one skilled in the art will appreciate that, although examples are presented herein in terms of the transportation comprising air travel (i.e., flights), the methods and systems of the present invention may be equally applicable to other form of transportation such as rail or ship. As such, any examples presented herein are not intended to be limiting in any manner. In addition, one skilled in the art will also appreciate that any suggestions presented to the user by the system 20, whether by transportation itinerary alone or by some combination package, may further include, in some instances, suggestions, offers, and/or free inclusion of “travel extras” or other features associated with the destination location. For example, such travel extras may include tickets to cultural or sporting events, reservations and/or coupons to suggested restaurants, directions to shopping opportunities with recommended merchants, or tickets to local attractions at the destination location. With regard to the system 20, such travel extras may be determined, for example, by a travel extras engine 35 forming a component of the processing element 24, as shown in
The results initially presented to the user at the client element 22 in response to the user query may be placed into groups, sub-group, or otherwise sorted in a categorical manner to provide a summary of the available options. As shown in
As further shown in
If the user proceeds under the flight plus hotel tab 200a, a user selection of a suggested sub-group or choice then causes the user to be presented with the various hotel options associated with that choice, as shown in
In some instances, the user may be presented with the option of examining all flight itineraries returned from the search. For instance, by selecting the “See All Flights” script 280 (see, e.g.,
Further to all flight itinerary options being presented to the user as arranged according to origin location, the time together systems and methods may further allow the flight itinerary options under each origin location heading to be sorted according to an attribute of the itineraries, separately, discretely, or independently of the other flight itinerary options under the other origin location headings. Such attributes may include, for example, a particular or selected airline 405, an arrival time 410 with respect to the destination location, a departure time 415 with respect to the destination location, a total travel time 420, an amount of stops between the origin location and the destination location, and a cost or price 425 of the particular itinerary option. As such, for example, the flight itinerary options originating from Reno may be sorted by the user according to a total travel time attribute 420 (i.e., the flight itinerary options be sorted according to increasing total travel times since, for instance, the Reno travelers may be interested in the shortest travel time to get to Miami), while the flight itinerary options originating from Raleigh may be sorted by the user according to the price or cost attribute 425 (i.e., the travel duration from Raleigh to Miami is relatively short, so the user may be interested in, for instance, the cheapest airfare for that trip). With all of the flight itinerary options being presented to the user in this manner, the system may further divide the flight itinerary options into outbound flights and inbound flights (not shown). That is, upon selecting the “See All Flights” script 280, the user may be first presented with all of the outbound (i.e., origin location to destination location) itineraries under the various origin location headings. Upon sorting and selecting the particular outbound flights from one or more of the origin locations (the user may choose to leave untouched the system-selected itinerary option for any of the itineraries), the user is then presented with all of the inbound (i.e., destination location to origin location) itineraries under the same origin location headings. Upon sorting and selecting the particular inbound flights to one or more of the origin locations, the user is then presented with the revised set of itineraries from the selected origin locations to the selected destination location, along with a recalculated cost, travel time, time together, or any other appropriate information for the newly-selected set of itineraries.
One skilled in the art will also appreciate that other information may also be presented for each flight itinerary option, whether outbound or inbound, for presentation to the user. More particularly, outbound itineraries may include, for example, the cost (or additional cost) associated with that itinerary selection, the departure time, the arrival time, the number of stops (or connections), the total travel time, and/or the number of available inbound itinerary options available for that outbound itinerary selection. Once the outbound itinerary(ies) are selected, the available inbound itineraries may present similar information for each itinerary, except perhaps a number of outbound itineraries available for that inbound itinerary selection.
Should the user select the flight plus car tab 200b, shown in
A user selection of a suggested flight itinerary then causes the user to be presented with the various rental car options associated with that choice, as shown in
One skilled in the art will appreciate that, under the time together method, various functions and/or functionalities may also be implemented as previously discussed with respect to the travel itinerary coordination method. Such functions and/or functionalities may include, for example, the ability of the user to change particular flight plans in an itinerary using a “Change Flight” or “See All Flights” button, or to choose the seat assignments for the travelers, such as by selecting a “Choose Your Seats” indicator. The user or travel organizer may also indicate the method of payment for the travel itineraries, such as “Individual Payment” or “Group Payment,” and may further be presented with the ability to view the overall itinerary through, for example, a “View Itinerary” box which provides a display of a detailed list of all of the itineraries for all of the travelers. Upon being presented with the itineraries, the user may also have the option to modify the individual itineraries of any of the travelers, or to delete any traveler's itinerary, as appropriate, wherein various results (i.e., time together, package price, etc.) may then be recalculated, if desired. Similar procedures for the hotel and rental car selections may also be used, such as the requirement for personal information and communication of the various itineraries through email for allowing the system 20 to prepare and send an email to each traveler detailing the respective traveler's itinerary or containing a link to a web page that displays that itinerary information. In addition, the system 20 may create a group email address for each of the travelers and the travel organizer to facilitate communication between and/or among the travelers without having to distribute each traveler's personal information. A statement of the respective traveler's share of those costs (i.e., a per traveler or per origin location cost breakdown) may also be available, as well as different payment information options. In addition, information associated with the destination location, such as advertisements for events or activities at the destination location, may be obtained from the processing element(s) 24 and/or the database 28, and may also be present to the user.
Thus, the time together method provides accurate and fast techniques for coordinate the travel itineraries of multiple travelers from more than one origin location who are traveling to the same destination location so as to allow the travelers to make itinerary selection based on the amount of time spent together at the destination location. By providing a comprehensive system 20 also provides flexibility and efficiency that was not possible by the prior art manual coordination techniques by using automated techniques for determining which itineraries for each traveler best meets the specified criteria for optimizing the time spent together for the trip.
Many modifications and other embodiments of the inventions set forth herein will come to mind to one skilled in the art to which these inventions pertain having the benefit of the teachings presented in the foregoing descriptions and the associated drawings. Therefore, it is to be understood that the inventions are not to be limited to the specific embodiments disclosed and that modifications and other embodiments are intended to be included within the scope of the appended claims. Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation.
This application is a continuation-in part of co-pending U.S. patent application Ser. No. 10/634,582, filed Aug. 5, 2003, which is incorporated herein in its entirety by reference.
Number | Date | Country | |
---|---|---|---|
Parent | 10634582 | Aug 2003 | US |
Child | 11236419 | Sep 2005 | US |