# Patent

## Title
Graphical user interface for travel planning system

## Abstract

A user interface for presenting travel itineraries to a user includes an itinerary region for displaying travel itineraries and a filter region. Each travel itinerary has a corresponding value for a first travel criterion and the travel itineraries are grouped into categories based on the values of the first travel criterion. The filter region includes a plurality of cells, each of which is associated with one of the categories of travel itineraries. When a user selects a cell, the itinerary region displays only travel itineraries in the category associated with the selected cell.

## Background
This application is a continuation (and claims the benefit of priority under 35 USC 120) of U.S. application Ser. No. 09/704,218, filed Nov. 1, 2000, now U.S. Pat. No. 7,263,664, which claims the benefit of prior U.S. provisional application 60/162,874, filed Nov. 1, 1999. The disclosure of the prior applications are considered part of (and is incorporated by reference in) the disclosure of this application.


TECHNICAL FIELD
This invention relates to a graphical user interface for a travel planning system.
BACKGROUND
Travel planning systems may be used to search for itineraries that meet a set of criteria submitted, for example, by a potential traveler. The systems produce itineraries and prices by selecting suitable trips or flights from a database of travel carriers, geographic scheduling, and pricing information. Travel planning systems may be computer programs that automate part of the process of identifying the itineraries.
Travel planning systems may display a single list of possible travel itineraries. The traveler browses through the information in the list and compares the details of the different itineraries to select a preferred itinerary. Travelers may have difficulty comparing, discriminating, focusing or assimilating some of the details that are presented in the list.
Many travel systems display travel information on computer systems. Certain travel planning systems may be accessible from remote computer clients over a network, such as the Internet or an Intranet, using a browser such as a web browser. In such travel-planning systems, the itineraries may be formatted in a tag-based format, such as HyperText Markup Language (HTML), or eXtensible Markup Language (XML). The itineraries may include links, such as “hyperlinks” or “links”, which cause a browser to display a particular set of data.
SUMMARY
According to a first aspect of the invention, an interface for presenting travel itineraries to a user includes an itinerary region for displaying travel itineraries and a filter region. Each travel itinerary has a corresponding value for a first travel criterion and the travel itineraries are grouped into categories based on the values of the first travel criterion. The filter region includes a plurality of cells, each of which is associated with one of the categories of travel itineraries. When a user selects a cell, for example, by using a mouse pointer to click on the cell, the itinerary region displays only travel itineraries in the category associated with the selected cell.
In certain embodiments of the first aspect of the invention, each travel itinerary has a corresponding value for a second different travel criterion and the travel itineraries are also grouped into the categories based on the value of the second travel criterion. The cells are arranged in rows and columns. Cells associated with categories having the same value for the first travel criterion are positioned in the same row, while cells associated with categories having the same value for the second travel criterion are positioned in the same column.
According to a second aspect of the invention, an article includes a machine-readable medium that stores machine-executable instructions. The instructions are operable to cause a machine to generate the user interface of the first aspect of the invention.
According to a third aspect of the invention, a user interface for presenting an itinerary to a user includes a first display of a first segment of the itinerary, such as a travel segment or a layover, and a second display of a subsequent segment of the itinerary. Each of the first display and the second display includes a location of departure and a location of arrival for the corresponding segment of the itinerary. The location of arrival for the first segment is different from the location of departure for the subsequent segment and the first display and the second display are emphasized to indicate to the user that the itinerary has a different location of arrival for the first segment from the location of departure for the subsequent segment. The displays may be emphasized, for example, using italics, font size, font type, bold face font, print color, and background color.
According to a fourth aspect of the invention, a user interface for presenting an itinerary to user includes a display of a segment, such as a travel segment or a layover, of the itinerary. The display includes a location of departure and a location of arrival for the first segment, a duration for the first segment, and at least one of a departure time and an arrival time.
According to a fifth aspect of the invention, a user interface for presenting an itinerary to user, includes a display of a segment of the itinerary and an alert associated with the first segment. The alert is emphasized to bring it to the attention of the user.
Among other advantages of the invention, the filter region allows a user to easily filter a certain category of travel itineraries that the user may be interested in without necessarily having to comb through the list of itineraries. The emphasis and the alerts point out information that is likely to interest the user. Thus the invention provides an efficient way to present travel information to the user, making the users experience more productive pleasurable and effective.
The details of one or more embodiments of the invention are set forth in the accompanying drawings and the description below. Other features, objects, and advantages of the invention will be apparent from the description and drawings, and from the claims.



DESCRIPTION OF DRAWINGS
FIG. 1 is a block diagram of a client server travel planning system particularly operable over a network such as the Internet.
FIG. 2 is a diagram of a query screen for a graphical user interface implemented as a web page from a web browser.
FIGS. 3-5 are diagrams of web pages depicting results of executing a query for a round trip based on information entered through the query screen of FIG. 2.
FIG. 6 is a flow chart of the process for generating the web pages of FIGS. 3-5.
FIGS. 7 and 8 are diagrams of web pages depicting details of travel options provided in the web pages of FIGS. 3-5.



DETAILED DESCRIPTION
Referring to FIG. 1, a travel planning system 10 can be used to search for travel and pricing information associated with various forms of travel such as airline, bus and railroad and is particularly adapted for air travel. As will be described below, users at client computers 30 use a client process 36, such as a web browser, to submit queries requesting information to the server 12 over a network 22, such as the Internet or an intranet. The server 12 retrieves travel and pricing information corresponding to the query and transmits the information to the client computer 32. A client process 36, such as a web browser, on the client computer 30 displays the transmitted information in a graphical user interface 41 on a display 40 associated with client computer 32. The graphical user interface 40 may, for example, include a series of web pages presented to the user on the web browser 36.
Server computer 12 has a processor 13 for executing computer programs stored within storage subsystem 14. Storage subsystem 14 may include a memory, hard disk, cdrom disk, or a floppy disk. The computer programs include a web server 17 for sending web pages and receiving requests from the network 22. The computer programs also include a server process 15 that has a scheduling process 16 that determines itineraries associated with a query from a client computer and a faring process 18 that determines faring information associated with the itineraries. An example of a scheduler process 16 is described in copending U.S. patent application Ser. No. 09/109,622, entitled “Scheduler System for Travel Planning Systems”, filed on Jul. 2, 1998 by Carl-G. DeMarcken et al. and assigned to the assignee of the present invention and incorporated herein by reference. Also an example of a faring process 18 is described in copending U.S. patent application Ser. No. 09/109,873, entitled “Graphical User Interface for Travel Planning System”, filed on Jul. 2, 1998 by Carl G. DeMarcken et al and also assigned to the assignee of the present invention and incorporated herein by reference.
Referring also to FIG. 2, web browser 36 displays a web page 50 to a user to allow the user to submit a query to the server 12. The web page 50 includes a query table 52 having tabs 54a-54c associated with different the types of itineraries that the user is interested in. For example the first tab 54a is associated with one-way itineraries, the second tab 54b is associated with round trip itineraries and the third tab 54c is associated with multi-segment itineraries. To display a query input interface 55 for a certain kind of travel itinerary, the user selects the tab corresponding to the kind of itinerary, for example, by using a mouse pointer associated with the client computer 32 to click on the tab 54. The tabs 54 may be links, such as hyperlinks or xlinks, that cause the browser 36 to load the desired query input interface 55. FIG. 2 shows a query input interface 55 for a round trip itinerary.
The query input interface 55 includes a section 56 for entering flight information such as a location of departure 56a, a departure time 56b, a location of arrival 56c and a time of arrival 56d. The query input interface 55 also includes a section 58 for selecting flight saving options. For example, a user may use inputs 58a, 58b to cause the server to search for cheaper flights in airports close to the desired departure and arrival airports. A user may also use inputs 58b, 58d to allow the server 12 to search for cheaper flights on alternate travel dates. The query input interface further includes a section 60 to select such passenger information as the number of passengers traveling and the number of those passengers that are seniors, infants or children. The user may check input 61 to cause the server 12 to only provide travel itineraries associated with flights that have available seats. The user submits a query to the server 12 by clicking on the submission button 62, causing the server to send travel and pricing information to the client 30. The travel information is displayed in a user interface described below with reference to FIG. 3.
Referring to FIG. 3, a web page 70 for displaying travel and pricing information includes an itinerary region 72 that displays displaying different itinerary choices and a filter region 74 for selecting the itinerary choices that are to be displayed in the itinerary region 72. The itinerary region 72 and the filter region 74 may be different HTML frames of the web page 70. The itinerary region displays a separate itinerary 72a in each row of the itinerary region 72. Each itinerary is displayed along with corresponding values for a series of travel criterion that a user might use to identify a preferred itinerary. For example, each itinerary is displayed along with a cost of travel 76a, an airline carrier that provides the flights 76b, destination and arrival airports 76c, the number of stops on the itinerary 76d, the travel date 76c and time 76f, the duration of each segment of the flight 76g, and the class of travel 76h. A user may also display more information about an itinerary 72a by clicking on a “details” link 76k associated with the itinerary. The details link 76k may be a link, such as a hyperlink or an xlink, that causes the browser 36 to load a web page containing the details of the itinerary, as shown in FIGS. 8 and 9.
The filter region includes tabs 78a, 78b, 78c that a user may select to display itineraries based on a criterion associated with the tab. For example tab 78a allows the user to select the itineraries 72a displayed in the itinerary region 72 based on the airline that provides the flights, tab 78b allows the user to select itineraries based on the flight times, and tab 78c allows the user to select the itineraries based on the airports. Upon selecting one of the tabs, for example, by using a mouse pointer to click on the tab, a filtering table 80 is displayed in the filter region. For example, FIG. 3 shows an airline-filtering table 80a that is displayed when a user clicks the first tab 78a. The tabs 78 may be links that cause the browser 36 (FIG. 1) to load the desired filtering table 80.
Each filtering table 80 includes a series of cells 81 which are arranged in columns 82 and rows 83. The filtering table 80 groups the travel itineraries into categories based on certain travel criterion. For example, in the airline-filtering table 80a, the itineraries 72a are grouped into categories based on the airline 76b providing the flights and the number of stops 76d in the itinerary. Each category contains itineraries that have the same number of stops 76d and are provided by the same airline 76b. Certain cells 81 in table 80a are associated with a specific category of travel itineraries. A user may cause the itinerary region 72 to only display travel itineraries 72a associated with a category by selecting the cell 81 associated with the category, for example by using a mouse pointer to click on the cell 81. The cell 81 may be associated with a link that causes the browser 36 to load the relevant category of itineraries 72a in the itinerary region 72. Thus the cells provide a convenient graphical way for a user to select a certain category of travel itineraries. Cells associated with categories that do not contain any itineraries may not be associated with a link.
In each filtering table 80 cells associated with categories of itineraries having the same value of one of the filtering criteria are arranged in the same row, while cells associated with the categories having the same value of the other filtering criteria are arranged in the same column. For example, in the filtering table 80a, cells 81 associated with categories of itineraries provided by the same airline are arranged in the same column 82 and cells associated with categories of itineraries with the same number of stops are arranged in the same row 83. For instance, the column 82b is associated with itineraries where the flights are provided by US Airways, while the row 83a is associated with non-stop itineraries. To display non-stop itineraries provided by US Airways, the user would select the cell 81b that is positioned at the intersection of column 82b and row 83a. Thus, the grid-like arrangement of the cells allows us user to quickly and conveniently display itineraries in which the user is interested.
Additionally, each cell 81 also displays information about the category of itineraries 72a with which it is associated. For example, the cells in the filtering table 80a display a minimum cost of travel associated with the itineraries in the category corresponding to the cell. For instance the cell 81b, mentioned in the example above, displays the amount $127 to indicate to the user that the user should expect to pay at least $127 if he intends to fly non-stop on US Airways. If that amount is out of the user's price range, the user can look to other categories of flights. Thus, displaying additional information about the categories of itineraries in the cells 81 allows a user to more quickly and conveniently select itineraries that might be of interest.
Referring to FIG. 4, when the flight-times tab 74b is selected, a filtering table 80b is displayed in filtering region 74. Filtering table 80b groups the itineraries 72a into categories based on a departure time from the location of origin and a departure time from a destination of the itinerary. Each cell 92a is associated with a category and a user may display itineraries associated with the category by selecting the cell. Cells 92 are arranged in rows 94 with each row containing cells that are associated with flights that have the same departure time from the point of origin (Boston). For example, row 94a contains cells associated with flights departing Boston between midnight and 6 am on Sunday, October 15. The cells are also arranged in columns 96 with each column containing cells that are associated with flights that have the same departure time from the destination (New York). For example, column 96a is contains cells associated with flights departing New York between 6 am and noon on Sunday, October 15.
Filter table 80b also contains a column 98 containing row super-cells 100a-100d. Each row super-cell 100 is associated with a super-category containing all the itineraries associated with the categories of all the cells 92 in the same row as the row super-cell 100. For example, the row super-cell 100a is associated with all itineraries that depart Boston between midnight and 6 am on Sunday, October 15, irrespective of the time that the itineraries depart New York. Table 80b also includes a row 102 that contains column super-cells 104-104c. Each column super-cell 104 is associated with a super-category containing all the itineraries associated with the categories of all the cells 92 in the same column as the super-cell 104. For example, the column super-cell 104a is associated with all itineraries that depart New York between 6 am and noon on Sunday, October 15, irrespective of the time that the itineraries depart Boston. The super-cells 100, 104 allow a user to select a itineraries 72a based only on one of the criteria (origin departure time and destination departure time) that is used to group the itineraries 72a into categories.
Referring to FIG. 5, when the airport tab 78c is selected, the airports filtering table 80c is displayed in the filtering region 74. The filtering table 80c groups the itineraries 72a into categories based departure and arrival airports 76c. Each cell 112 is associated with a category and a user may display itineraries associated with the category by selecting the cell 112. Cells 112 are arranged in rows 114 with each row containing cells that are associated with flights that have the same departure airport. In the Example of FIG. 5, there is only one row 114 because all the flights depart from Boston. The cells 112 are also arranged in columns 116 with each column containing cells 112 that have the same destination airport (New York). For example, column 116a contains a cell 112a associated with itineraries with a departing flight from JFK airport in New York, while column 116b contains a cell 112b associated with itineraries with a departing flight from La Guardia airport in New York.
Referring to FIG. 6, the process of displaying the travel data in the web page 60 of FIGS. 3-5 begins when the server 12 receives (600) a query from a user. The query may have been submitted from the web page 50 of FIG. 2. The scheduling process 16 of the server determines (602) travel data associated with the query. The server then determines (604) filtering criteria for grouping the itineraries into categories, for example, from a tab 78a-78c selected by the user on the web page 70 of FIGS. 3-5. Where a tab has not been selected, the server may select a default set of criteria. For example, in FIG. 3, the server 12 groups the itineraries based on airlines by default. The server 12 then identifies (606) the different categories that the travel itineraries will be grouped into based on values associated with the criteria.
The server 12 then selects (608) the first travel itinerary from the travel data and determines (610) a category that the travel itinerary should be grouped into based on the values of the filtering criteria for the itinerary. The server 12 then adds (612) the itinerary to the determined category and checks (614) if the itinerary is the last one in the travel data. If it is not the last one, the server 12, selects (616) the next itinerary in the travel data and performs the process (610-614) for the next itinerary. Otherwise, if there are no more itineraries the server terminates the process. The categorized data is provided to the client computer 30 for display as part of the graphical user interface 41.
Referring to FIG. 7, a travel itinerary 120 may have a first segment 120a and a second segment 120b. In a round trip itinerary, the second segment may be a return segment for the first segment. The second segment may also be a connecting flight to the passenger's destination. In the exemplary itinerary 120, the first segment 120a departs from Logan airport (BOS) in Boston and arrives at La Guardia airport (LGA) in New York. However, the second segment departs from John F. Kennedy Airport (JFK) in New York. Consequently, the passenger would have to travel from the arrival airport of the first segment (LGA) to the departure airport of the second segment (JFK) by some other means besides flying to make a connection from the first segment to the second segment. This situation is referred to as a discontinuous flight connection.
The region 74 brings the user's attention to the discontinuity in itinerary 120 by, for example, emphasizing the airports LGA, JFK associated with the discontinuity. The server 12 is programmed to detect such discontinuities and may be configured to emphasize the airports LGA, JFK using italics, font size, font type, bold face font, print color, background color and so forth. For example, the airports LGA, JFK maybe emphasized by displaying them in red typeface while the rest of the display is displayed in normal black typeface.
Discontinuity in an itinerary may also occur between the starting airport and the ultimate destination in a return trip. For example, if a user would like a return trip from Boston Mass. to New York and then back to Boston, a travel itinerary from Boston to New York and then to Worcester Mass. (a suburb of Boston) is discontinuous because the user must use another means of travel other than flying to get from Worcester to Boston.
As shown in FIG. 7, the graphical user interface 41 (FIG. 1) displays a web page 130 containing additional details 132 about a travel itinerary 72a (FIG. 3) when the user clicks on the details link 76k (FIG. 3). Included in the additional details 132 is information 134a-c about the flight that may be considered undesirable. For example, the information 134a-c may be notification of a no-refundable ticket 134a, or notification 134b that the user would have to pay a fee to change the ticket. The information 134 may also include information 134c about an unduly long layover or a short layover that would make it hard to make the connecting flight.
The information 134a-c is emphasized to bring it to the user's notice and make it immediately identifiable. To indicate the undesirable nature of the information 134a-c, it may be emphasized in a way that irritates the user. For example, the server 12 may be configured to present the undesirable information in red typeface or in capital letters. The same type of emphasis is used for the same kind of information 134a-c to make the information immediately recognizable to the user. On the other hand, information that may not be considered undesirable might be emphasized in a more calming way. For example, it may be emphasized using green typeface or italics.
The web page 130 of FIG. 8 also shows the durations associated with the different segments of the itinerary, in addition to departure and arrival times of the segments. The segments of the itinerary may be flights 140 or layovers 142. The duration information allows a user to immediately know how long the segment will last while the arrival and departure time inform the user of the time when the segments will begin or end, making the itinerary easier to understand.
A number of embodiments of the invention have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the invention. For example, the invention may be implemented in travel systems that do not communicate over the Internet or in interfaces that do not use web pages or web browsers.
Accordingly, other embodiments are within the scope of the following claims.

## Claims

1. A device for rendering a user interface for presenting travel itineraries to a user, the device comprising:
a display device that is configured to render the user interface, the user interface, comprising:
an itinerary region for displaying travel itineraries, each travel itinerary having a corresponding value for a first travel criterion, the travel itineraries being grouped into a first set of categories based on a value of the first travel criterion; and
a filter region including a plurality of cells, each cell associated with one of the first set of categories of travel itineraries the plurality of cells being controls that when a user selects one of the plurality of cells, the itinerary region displays only travel itineraries in the one of the first set of categories associated with the selected cell,
wherein each travel itinerary has a corresponding value for a second different travel criterion, the travel itineraries being grouped into the first set of categories based also on the value of the second different travel criterion, and cells in the filter region are arranged in rows and columns, with cells associated with first categories having a same value for the first travel criterion being positioned in a same row and cells associated with first categories having a same value for the second different travel criterion being positioned in a same column.

2. The device of claim 1, wherein the filter region further includes:
a plurality of tabs, each tab being associated with a different travel criterion and the user causes the filter region to display the plurality of cells associated with categories based on the first criterion by selecting the tab associated with the first travel criterion.

3. The device of claim 1, wherein at least one cell of the plurality of cells displays information about the travel itineraries in the category associated with the cell.

4. The device of claim 3, wherein the at least one of the plurality of cells displays a cost of travel.

5. The device of claim 1, wherein the first travel criterion is selected from a group that includes airline, departure time, arrival time, location of departure, location of arrival, number of stops, cost, travel restrictions, expected delays, and safety records.

6. The device of claim 1, wherein at least one of the itinerary and filter regions is represented in a tagged format.

7. The device of claim 6, wherein at least one of the plurality of cells is associated with a link, with selection of the link causing the itinerary region to display only travel itineraries in the one of the first set of categories associated with the cell.

8. The device of claim 1, wherein the itinerary region further displays a detail link associated with each itinerary, the detail link being configured to display detailed information about the itinerary associated with the link when the link is selected.

9. An article comprising a non-transitory machine-readable storage medium that stores machine-executable instructions for generating a user interface for presenting travel itineraries to a user, the instructions operable to cause a machine to generate the user interface comprising:
an itinerary region for displaying travel itineraries, each travel itinerary having a corresponding value for a first travel criterion, the travel itineraries being grouped into a first set categories based on a value of the first travel criterion; and
a filter region including a plurality of cells and each cell associated with one of the first set of categories of travel itineraries, the plurality of cells being controls that when a user selects one of the plurality of cells, the itinerary region displays only travel itineraries in the one of the first set of categories associated with the selected cell
wherein each travel itinerary has a corresponding value for a second different travel criterion, the travel itineraries being grouped into the first set of categories based also on the value of the second different travel criterion, and cells in the filter region are arranged in rows and columns, with cells associated with first categories having a same value for the first travel criterion being positioned in a same row and cells associated with first categories having a same value for the second different travel criterion being positioned in a same column.

10. The article of claim 9, wherein the filter region further includes plurality of tabs, each tab being associated with a different travel criterion and the user causes the filter region to display the plurality of cells associated with categories based on the first criterion by selecting the tab associated with the first travel criterion.

11. The article of claim 9, wherein at least one cell of the plurality of cells displays information about the travel itineraries in the category associated with the cell.

12. The article of claim 11 wherein the instructions cause the processor to render costs of the itineraries associated with the cells as a link in the respective cells.

13. The article of claim 9, wherein the first travel criterion is selected from a group that includes airline, departure time, arrival time, location of departure, location of arrival, number of stops, cost, travel restrictions, expected delays, and safety records.

14. The article of claim 13, further comprising instructions to:
generate the filter region to have at least one of the plurality of cells in the filter region associated with a link, with selection of the link causing the itinerary region to display in the itinerary region only travel itineraries in the one of the first set of categories associated with the cell selected.

15. The article of claim 9, wherein at least one of the itinerary and filter regions is represented in a tagged format.

16. The article of claim 9, further comprising instructions to:
generate in the itinerary region a detail link associated with each itinerary, the detail link being configured to display detailed information about the itinerary associated with the link when the link is selected.

17. A computer-implemented method of causing a display device to render a user interface for presenting travel itineraries to a user, comprising:
providing, by operation of a computer, instructions causing a display device to render:
an itinerary region for displaying travel itineraries, each travel itinerary having a corresponding value for a first travel criterion, the travel itineraries being grouped into a first set of categories based on a value of the first travel criterion; and
a filter region including a plurality of cells, each cell associated with one of the first set of categories of travel itineraries, the plurality of cells being controls that when a user selects one of the plurality of cells, the itinerary region displays only travel itineraries in the one of the first set of categories associated with the selected cell,
wherein each travel itinerary has a corresponding value for a second different travel criterion, the travel itineraries being grouped into the first set of categories based also on the value of the second different travel criterion, and cells in the filter region are arranged in rows and columns, with cells associated with first categories having a same value for the first travel criterion being positioned in a same row and cells associated with first categories having a same value for the second different travel criterion being positioned in a same column.

18. The computer-implemented method of claim 17, further  comprising providing instructions causing the display device to render a user interface wherein the first travel criterion is selected from a group that includes airline, departure time, arrival time, location of departure, location of arrival, number of stops, cost, travel restrictions, expected delays, and safety records.

19. The computer-implemented method of claim 18, further comprising providing instructions causing the display device to render a user interface wherein the at least one of the plurality of cells displays a cost of travel.

20. The computer-implemented method of claim 17, further comprising providing instructions causing the display device to render a user interface wherein at least one of the itinerary and filter regions is represented in a tagged format.

21. The computer-implemented method of claim 20, further comprising providing instructions causing the display device to render a user interface wherein at least one of the plurality of cells is associated with a link, with selection of the link causing the itinerary region to display only travel itineraries in the one of the first set of categories associated with the cell.

22. The computer-implemented method of claim 17, further comprising providing instructions causing the display device to render a user interface wherein the itinerary region further displays a detail link associated with each itinerary, the detail link being configured to display detailed information about the itinerary associated with the link when the link is selected.

23. The computer-implemented method of claim 17, further comprising providing instructions causing the display device to render a filter region that further includes:
a plurality of tabs, each tab being associated with a different travel criterion and the user causes the filter region to display the plurality of cells associated with categories based on the first criterion by selecting the tab associated with the first travel criterion.

24. The computer-implemented method of claim 17, further comprising providing instructions causing the display device to render a user interface wherein at least one cell of the plurality of cells displays information about the travels itineraries in the category associated with the cell.