Abstract:
A user interface for presenting travel itineraries to a user includes a first field to render a representation of a first segment of the itinerary including a location of departure and a location of arrival for the first segment, and a second field to render a text-based alert that includes notification information of the first segment of the itinerary, wherein the text-based alert is emphasized to bring the text-based alert to the attention of the user.

Description:
[0001]    This application is a continuation of and claims the benefit of priority to U.S. patent application Ser. No. 11,845,913, filed on Aug. 28, 2007, which is a continuation of U.S. patent application Ser. No. 09/704,218, filed Nov. 1, 2000, now U.S. Pat. No. 7,263,664, which claims the benefit of priority to U.S. Provisional Application Ser. No. 60/162,874, filed Nov. 1, 1999, the contents of which are hereby incorporated by reference. 
     
    
     TECHNICAL FIELD 
       [0002]    This invention relates to a graphical user interface for a travel planning system. 
       BACKGROUND 
       [0003]    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. 
         [0004]    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. 
         [0005]    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 “xlinks”, which cause a browser to display a particular set of data. 
       SUMMARY 
       [0006]    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. 
         [0007]    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. 
         [0008]    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. 
         [0009]    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. 
         [0010]    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. 
         [0011]    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 a text-based alert associated with the first segment. The text-based alert is emphasized to bring it to the attention of the user. 
         [0012]    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 text-based 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. 
         [0013]    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 
         [0014]      FIG. 1  is a block diagram of a client server travel planning system particularly operable over a network such as the Internet. 
           [0015]      FIG. 2  is a diagram of a query screen for a graphical user interface implemented as a web page from a web browser. 
           [0016]      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 . 
           [0017]      FIG. 6  is a flow chart of the process for generating the web pages of  FIGS. 3-5 . 
           [0018]      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 
       [0019]    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 . 
         [0020]    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. 
         [0021]    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  54   a - 54   c  associated with different the types of itineraries that the user is interested in. For example the first tab  54   a  is associated with one-way itineraries, the second tab  54   b  is associated with round trip itineraries and the third tab  54   c  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. 
         [0022]    The query input interface  55  includes a section  56  for entering flight information such as a location of departure  56   a,  a departure time  56   b,  a location of arrival  56   c  and a time of arrival  56   d.  The query input interface  55  also includes a section  58  for selecting flight saving options. For example, a user may use inputs  58   a,    58   b  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  58   b,    58   d  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 . 
         [0023]    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  72   a  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  76   a,  an airline carrier that provides the flights  76   b,  destination and arrival airports  76   c,  the number of stops on the itinerary  76   d,  the travel date  76   e  and time  76   f,  the duration of each segment of the flight  76   g,  and the class of travel  76   h.  A user may also display more information about an itinerary  72   a  by clicking on a “details” link  76   k  associated with the itinerary. The details link  76   k  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 . 
         [0024]    The filter region includes tabs  78   a,    78   b,    78   c  that a user may select to display itineraries based on a criterion associated with the tab. For example tab  78   a  allows the user to select the itineraries  72   a  displayed in the itinerary region  72  based on the airline that provides the flights, tab  78   b  allows the user to select itineraries based on the flight times, and tab  78   c  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  80   a  that is displayed when a user clicks the first tab  78   a.  The tabs  78  may be links that cause the browser  36  ( FIG. 1 ) to load the desired filtering table  80 . 
         [0025]    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  80   a,  the itineraries  72   a  are grouped into categories based on the airline  76   b  providing the flights and the number of stops  76   d  in the itinerary. Each category contains itineraries that have the same number of stops  76   d  and are provided by the same airline  76   b.  Certain cells  81  in table  80   a  are associated with a specific category of travel itineraries. A user may cause the itinerary region  72  to only display travel itineraries  72   a  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  72   a  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. 
         [0026]    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  80   a,  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  82   b  is associated with itineraries where the flights are provided by US Airways, while the row  83   a  is associated with non-stop itineraries. To display non-stop itineraries provided by US Airways, the user would select the cell  81   b  that is positioned at the intersection of column  82   b  and row  83   a.  Thus, the grid-like arrangement of the cells allows us user to quickly and conveniently display itineraries in which the user is interested. 
         [0027]    Additionally, each cell  81  also displays information about the category of itineraries  72   a  with which it is associated. For example, the cells in the filtering table  80   a  display a minimum cost of travel associated with the itineraries in the category corresponding to the cell. For instance the cell  81   b,  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&#39;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. 
         [0028]    Referring to  FIG. 4 , when the flight-times tab  74   b  is selected, a filtering table  80   b  is displayed in filtering region  74 . Filtering table  80   b  groups the itineraries  72   a  into categories based on a departure time from the location of origin and a departure time from a destination of the itinerary. Each cell  92   a  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  94   a  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  96   a  is contains cells associated with flights departing New York between 6 am and noon on Sunday, October 15. 
         [0029]    Filter table  80   b  also contains a column  98  containing row super-cells  100   a - 100   d.  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  100   a  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  80   b  also includes a row  102  that contains column super-cells  104 - 104   c.  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  104   a  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  72   a  based only on one of the criteria (origin departure time and destination departure time) that is used to group the itineraries  72   a  into categories. 
         [0030]    Referring to  FIG. 5 , when the airport tab  78   c  is selected, the airports filtering table  80   c  is displayed in the filtering region  74 . The filtering table  80   c  groups the itineraries  72   a  into categories based departure and arrival airports  76   c.  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  116   a  contains a cell  112   a  associated with itineraries with a departing flight from JFK airport in New York, while column  116   b  contains a cell  112   b  associated with itineraries with a departing flight from La Guardia airport in New York. 
         [0031]    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  78   a - 78   c  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. 
         [0032]    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 . 
         [0033]    Referring to  FIG. 7 , a travel itinerary  120  may have a first segment  120   a  and a second segment  120   b.  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&#39;s destination. In the exemplary itinerary  120 , the first segment  120   a  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. 
         [0034]    The region  74  brings the user&#39;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. 
         [0035]    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 
         [0036]    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. 
         [0037]    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  72   a  ( FIG. 3 ) when the user clicks on the details link  76 k ( FIG. 3 ). Included in the additional details  132  is information  134   a - c  about the flight that may be considered undesirable. For example, the information  134   a - c  may be notification of a no-refundable ticket  134   a,  or notification  134   b  that the user would have to pay a fee to change the ticket. The information  134  may also include information  134   c  about an unduly long layover or a short layover that would make it hard to make the connecting flight. 
         [0038]    The information  134   a - c  is emphasized to bring it to the user&#39;s notice and make it immediately identifiable. To indicate the undesirable nature of the information  134   a - 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  134   a - 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. 
         [0039]    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. 
         [0040]    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. 
         [0041]    Accordingly, other embodiments are within the scope of the following claims.