U.S. patent application number 12/841962 was filed with the patent office on 2011-01-27 for graphical user interface based airline travel planning.
Invention is credited to Adam EIJDENBERG, Gregory R. Galperin.
Application Number | 20110022426 12/841962 |
Document ID | / |
Family ID | 43498085 |
Filed Date | 2011-01-27 |
United States Patent
Application |
20110022426 |
Kind Code |
A1 |
EIJDENBERG; Adam ; et
al. |
January 27, 2011 |
GRAPHICAL USER INTERFACE BASED AIRLINE TRAVEL PLANNING
Abstract
Graphical user interface (GUI) based methods and systems to
generate and revise travel itineraries, including to permit a user
to input or select multiple sequential travel destinations and
corresponding dates in a calendar based GUI, to generate a travel
itinerary using default itinerary parameters, to display the travel
itinerary and user configurable itinerary parameter within the GUI,
and to revise the travel itinerary in response to user configured
itinerary parameters. An itinerary parameter may be configurable to
apply to a selected portion of the itinerary or to the entire
itinerary. User selectable options may be displayed in a natural
language format. User input may be performed with relatively few
actions, and may be performed exclusively or nearly exclusively
with a pointing device.
Inventors: |
EIJDENBERG; Adam;
(Roslindale, MA) ; Galperin; Gregory R.;
(Cambridge, MA) |
Correspondence
Address: |
GARRETT IP, LLC;C/O CPA Global
P.O. BOX 52050
MINNEAPOLIS
MN
55402
US
|
Family ID: |
43498085 |
Appl. No.: |
12/841962 |
Filed: |
July 22, 2010 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
61227508 |
Jul 22, 2009 |
|
|
|
Current U.S.
Class: |
705/5 ;
715/772 |
Current CPC
Class: |
G06Q 10/02 20130101;
G06Q 50/14 20130101; G06Q 30/06 20130101; G06Q 10/109 20130101;
G06Q 10/1093 20130101 |
Class at
Publication: |
705/5 ;
715/772 |
International
Class: |
G06Q 10/00 20060101
G06Q010/00; G06Q 30/00 20060101 G06Q030/00; G06F 3/048 20060101
G06F003/048 |
Claims
1. A computer program product including a computer readable medium
having computer program logic stored therein, the computer program
product logic comprising: calendar logic to cause a computer system
to display a calendar, to display user selectable destinations in
response to user input associated with dates of the calendar, and
to display indications of a plurality of user selected destinations
proximate to corresponding user selected dates of the calendar;
itinerary logic to cause the computer system to initiate a query to
one or more airline information sources and to construct and
display a travel itinerary from results of the querying in
accordance with the plurality of user selected destinations and
dates and in accordance with default itinerary parameters; and
configuration logic to cause the computer system to display user
configurable itinerary parameters in response to user input
associated with corresponding information fields of the itinerary,
including a parameter that is configurable for a user-selected
portion of the itinerary, and to invoke the itinerary logic to
generate a revised itinerary in response to a user configured
itinerary parameter.
2. The computer program product of claim 1, wherein the
configuration logic includes logic to apply a user configurable
itinerary parameter to a single destination or to all destinations
of the itinerary in response to user input.
3. The computer program product of claim 2, wherein the
configuration logic includes logic to configure an itinerary
parameter in response to user input received solely from a pointer
device.
4. The computer program product of claim 2, wherein the
configuration logic includes: logic to cause the computer system to
apply a user selected maximum number of permissible flights to a
single destination or to all of the destinations of the itinerary
in response to the user input.
5. The computer program product of claim 2, wherein the
configuration logic includes: logic to cause the computer system to
exclude flights associated with a user specified airline carrier or
to exclude flights associated with airline carriers other than the
user specified airline carrier, and to apply the exclusion to a
single destination or to all destinations of the itinerary in
response to the user input.
6. The computer program product of claim 2, wherein the
configuration logic includes: logic to cause the computer system to
exclude flights that do not provide a user specified service and to
apply the exclusion to a single destination or to all destinations
of the itinerary in response to user input.
7. The computer program product of claim 2, wherein the
configuration logic includes: logic to cause the computer system to
exclude flights that do not permit passenger seat assignment
selection, and to apply the exclusion to a single destination or to
all destinations of the itinerary in response to user input.
8. The computer program product of claim 1, wherein the
configuration logic includes: natural language logic to cause the
computer system to display a user configurable itinerary parameter
in a natural language format and to convert a corresponding user
configured itinerary parameter from the natural language format to
a query format.
9. The computer program product of claim 8, wherein the natural
language logic includes: logic to cause the computer system to
display user selectable natural language arrival time options
including one or more of arrive earlier, arrive later, arrive a
period of time earlier, arrive a period of time later, and arrive
within a window of time centered around the displayed flight
time.
10. The computer program product of claim 8, wherein the natural
language logic includes: logic to cause the computer system to
display user selectable natural language departure time options
including one or more of morning, evening, preceding evening,
overnight, and midday.
11. The computer program product of claim 1, further including
logic to cause the computer system to store a correlation of user
configured itinerary parameters and corresponding itinerary
changes.
12. The computer program product of claim 1, further including:
logic to cause the computer system to receive fare information
corresponding to flights in the itinerary in response to the
querying; logic to cause the computer system to display the fare
information proximate to the itinerary; logic to cause the computer
system to update the displayed fare information in accordance with
the revised itinerary; and logic to cause the computer system to
store a correlation of user configured itinerary parameters,
corresponding itinerary changes, and corresponding changes to the
fare information.
13. The computer program product of claim 1, wherein a plurality of
the itinerary flights are marketed as a package at a package price,
the computer program logic further including: logic to cause the
computer system to apportion the package price amongst the
plurality of flights in proportion to relative values of the
corresponding plurality of flights; logic to cause the computer
system to display the apportioned prices proximate to the
itinerary; logic to cause the computer system to update the
displayed apportioned prices in accordance with the revised
itinerary; and logic to cause the computer system to store a
correlation of user configured itinerary parameters, corresponding
itinerary changes, and corresponding changes to the apportioned
prices.
14. The computer program product of claim 13, further including:
logic to cause the computer system to retrieve a market price
associated with each of the plurality of flights when priced
individually; and logic to cause the computer system to apportion
the package price amongst the plurality of flights in proportion to
the corresponding market prices.
15. The computer program product of claim 13, further including:
logic to cause the computer system to retrieve a travel distance
associated with each of the plurality of flights when priced
individually; and logic to cause the computer system to apportion
the package price amongst the plurality of flights in proportion to
the corresponding travel distances.
16. The computer program product of claim 1, further including:
logic to cause the computer system to display indications of the
user selected destinations within the corresponding dates of the
calendar; and logic to cause the computer system to receive user
input corresponding to a drag and drop operation that moves the
indications of the destinations from a first set of dates to a
second set of dates, and to invoke the itinerary logic to generate
the revised itinerary in accordance with the second set of
dates.
17. The computer program product of claim 1, further including:
logic to cause the computer system to display icons corresponding
to flights of the itinerary proximate to the corresponding calendar
dates at positions indicative of corresponding flight times.
18. The computer program product of claim 1, wherein: the calendar
logic includes logic to cause the computer system to display the
user selectable destinations and the user selected destinations in
response to corresponding pointer activity; and the configuration
logic includes logic to cause the computer system to display the
user configurable itinerary parameters in response to pointer
activity associated with the corresponding information fields of
the itinerary, and to configure at least a portion of the user
configurable itinerary parameters in response to pointer
activity.
19. The computer program product of claim 1, wherein: the calendar
logic includes logic to cause the computer system to display the
user selectable destinations proximate to the calendar; the
itinerary logic includes logic to cause the computer system display
the travel itinerary proximate to the calendar; and the
configuration logic includes logic to cause the computer system to
display the user configurable itinerary parameters proximate to the
calendar.
20. The computer program product of claim 1, wherein the itinerary
includes at least one flight marketed as a one way flight.
21. The computer program product of claim 1, wherein the itinerary
includes flights associated multiple airline carriers.
22. The computer program product of claim 1, wherein the itinerary
logic is configured to preserve flights in the itinerary that are
unaffected by the user configured itinerary parameter.
23. The computer program product of claim 1, wherein the default
itinerary parameters include a default latest arrival time and a
default earliest departure time.
24. The computer program product of claim 1, wherein at least a
portion of the default itinerary parameters are user
configurable.
25. The computer program product of claim 1, wherein the itinerary
logic includes logic to cause the computer system to generate the
itinerary to include a single solution of flights that satisfies
the plurality of user selected destinations, the user selected
dates, and itinerary parameters.
26. The computer program product of claim 1, wherein the itinerary
logic includes logic to cause the computer system to display
departure and arrival times within time slots of the calendar that
correspond to times zones of corresponding departure and arrival
locations.
27. The computer program product of claim 1, wherein: the calendar
logic includes logic to cause the computer system to display the
calendar with multiple time-slots per date, to display the user
selectable destinations with respect to the time-slots, and to
display indications of a plurality of user selected destinations
proximate to corresponding user-selected time-slots; and the
itinerary logic includes logic to cause the computer system to
allot one or more of an arrival window and a departure window to
the user-selected destinations.
28. The computer program product of claim 27, wherein the calendar
logic includes: logic to cause the computer system to display the
calendar with a plurality of time zones simultaneously, wherein the
time zones correspond to one or more of departure arrival
locations.
29. The computer program product of claim 27, wherein the calendar
logic includes: logic to cause the computer system to display one
or more of days and other units of time of the calendar with
variable sizes relative determined by the traveler's progression
through time zones in the represented travel.
30. The computer program product of claim 29, wherein the calendar
logic includes: logic to cause the computer system to add,
duplicate and omit hours of the calendar as determined by the
traveler's progression through time zones in the represented
travel.
31. The computer program product of claim 29, wherein the calendar
logic includes: logic to cause the computer system to add,
duplicate and omit days of the calendar as determined by the
traveler's progression through time zones in the represented
travel.
32. The computer program product of claim 1, wherein the itinerary
logic includes: buffer logic to provide buffer times around one or
more of scheduled travel and planned events.
33. The computer program product of claim 32, wherein the buffer
logic includes: logic to cause the computer system to set the
buffer times to accommodate one or more of ancillary activities and
delays.
34. The computer program product of claim 32, wherein the buffer
logic includes: logic to cause the computer system to set the
buffer times to accommodate one or more of emplaning, deplaning,
checking in, purchasing travel tickets, making travel arrangements,
traveling to one or more of an event and an airport, meals,
packing, and rest.
35. The computer program product of claim 32, wherein the calendar
logic includes: logic to cause the computer system to depict the
buffer times on the calendar proximate to the event or travel.
36. The computer program product of claim 32, wherein the itinerary
logic further includes: logic to cause the computer system to
respect the buffer times to preclude scheduling of travel during
the buffer times.
37. The computer program product of claim 32, wherein the itinerary
logic further includes: logic to cause the computer system to set
the buffer times based on one or more of airport, location, times,
event type, event type, and user preference.
38. The computer program product of claim 32, wherein the itinerary
logic further includes: logic to cause the computer system to set
the buffer times in response to user input.
39. The computer program product of claim 1, wherein the itinerary
logic includes: lodging logic to cause the computer system to
identify locations and nights that a traveler is scheduled to be
on-ground, based on a meeting schedule and corresponding travel
itinerary.
40. The computer program product of claim 39, wherein the lodging
logic includes: logic to cause the computer system to initiate a
query to one or more lodging sources to identify available lodging
based on the identified locations and nights that the traveler is
scheduled to be on-ground.
41. The computer program product of claim 1, further including:
logic to cause the computer system to exchange data with one or
more other computer based calendaring and/or scheduling systems
using one or more of a standardized data exchange format and a
proprietary data exchange format.
42. The computer program product of claim 1, further including:
logic to cause the computer system to display one or more of a
decision process and user interaction history.
43. The computer program product of claim 42, wherein one or more
of the decision process and the user interaction history includes a
plurality of scenarios not necessarily derived from each other.
44. The computer program product of claim 42, further including:
logic to cause the computer system to display one or more of the
decision process and the user interaction history includes
graphically as a tree of decisions and interactions.
45. The computer program product of claim 42, wherein one or more
of the decision process and the user interaction history is
interactive and allows for navigation arbitrarily to different
points or branches in the decision process.
46. The computer program product of claim 42, wherein one or more
of the decision process and the user interaction history includes
one or more of prices and summaries of candidate solutions.
47. The computer program product of claim 42, wherein one or more
of the decision process and the user interaction history includes a
summary of changes or actions made to derive a new state.
48. The computer program product of claim 42, further including one
or more of logic to record and logic to export one or more of the
decision process and the user interaction history to allow for
audits of the purchase process and/or compliance with policies.
49. The computer program product of claim 42, further including:
logic to cause the computer system to permit a user to enter one or
more of non-travel commitments and preferences; and logic to cause
the computer system to infer parameters governing travel.
50. The computer program product of claim, wherein an initial state
is determined by one or more of a previous user interaction and
previously purchased travel.
51. A method, comprising: displaying a calendar on a computer
display; displaying user selectable destinations proximate in
response to user input associated with dates of the calendar;
displaying indications of a plurality of user selected destinations
proximate to corresponding user selected dates of the calendar;
initiating a query to one or more airline information sources and
constructing a travel itinerary from results of the querying in
accordance with the plurality of user selected destinations and
sates and in accordance with default itinerary parameters;
displaying the travel itinerary; displaying user configurable
itinerary parameters in response to user input associated with
corresponding flight information fields of the itinerary, including
a parameter that is configurable for a user-selected portion of the
itinerary; and generating a revised itinerary in response to a user
configured itinerary parameter; wherein all of the above features
are performed within one or more suitably programmed computer
systems.
52. A system, comprising: calendar means for displaying a calendar,
for displaying user selectable destinations in response to user
input associated with dates of the calendar, and for displaying
indications of a plurality of user selected destinations proximate
to corresponding user selected dates of the calendar; itinerary
means for initiating a query to one or more airline information
sources and for constructing and displaying a travel itinerary from
results of the querying in accordance with the plurality of user
selected destinations and dates and in accordance with default
itinerary parameters; and configuration means for displaying user
configurable itinerary parameters in response to user input
associated with corresponding information fields of the itinerary,
including a parameter that is configurable for a user-selected
portion of the itinerary, and for invoking the itinerary means to
generate a revised itinerary in response to a user configured
itinerary parameter.
53. A system, comprising: a calendar system to display a calendar,
to display user selectable destinations in response to user input
associated with dates of the calendar, and to display indications
of a plurality of user selected destinations proximate to
corresponding user selected dates of the calendar; an itinerary
system to initiate a query to one or more airline information
sources and to construct and display a travel itinerary from
results of the querying in accordance with the plurality of user
selected destinations and dates and in accordance with default
itinerary parameters; and a configuration system to display user
configurable itinerary parameters in response to user input
associated with corresponding information fields of the itinerary,
including a parameter that is configurable for a user-selected
portion of the itinerary, and to invoke the itinerary module to
generate a revised itinerary in response to a user configured
itinerary parameter.
Description
BACKGROUND
[0001] Flights for relatively simple round trip travel plans may be
identified using conventional computer based airline itinerary
planning systems.
[0002] More complex travel plans may involve multiple destinations
and may include destinations in more than one country. Multiple
destinations may correspond to business meetings at different
locations.
[0003] Potential solutions for multiple destination and multiple
country travel plans may be relatively numerous and complex, and
may involve one-way tickets, multiple travel segments marketed
under a single price, multiple airlines, airline partnering
arrangements, and combinations thereof.
[0004] Entering of travel dates, locations, arrival times, and
departure times into conventional computer based itinerary planning
systems is keystroke intensive, time consuming, and prone to
errors. A user may have to enter and retrieve data separately for
different destinations and/or airlines. In the event that a date or
time is to be adjusted, such as to identify alternative solutions
or to accommodate changes to the travel plans, a considerable
amount of data may have to be re-entered.
BRIEF DESCRIPTION OF THE DRAWINGS/FIGURES
[0005] FIG. 1 is a block diagram and of an example environment 100
to generate and revise a travel itinerary in response to user
input.
[0006] FIG. 2 is an example graphical user interface (GUI),
including a calendar image.
[0007] FIG. 3 is another example GUI, including a list of user
selectable destinations proximate to the calendar image.
[0008] FIG. 4 is another example GUI, including a multiple
destination itinerary proximate to the calendar image.
[0009] FIG. 5 is another example GUI, including a user configurable
itinerary parameter associated with an airline carrier.
[0010] FIG. 6 is another example GUI, including a user configurable
itinerary parameter associated with an arrival time.
[0011] FIG. 7 is another example GUI, including a user configurable
itinerary parameter associated with a departure time.
[0012] FIG. 8 is another example GUI, including a user configurable
itinerary parameter associated with a number of permissible legs or
flights.
[0013] FIG. 9 is another example GUI, wherein the itinerary is
revised relative to FIG. 8 in response to user configured itinerary
parameters.
[0014] FIG. 10 is another example GUI, including a user
configurable itinerary parameter associated with an arrival
time.
[0015] FIG. 11 is another example GUI, wherein the itinerary is
revised relative to FIG. 10 in response to user configured
itinerary parameters.
[0016] FIG. 12 is a process flowchart of a method of generating,
displaying, and revising a travel itinerary in response to user
input.
[0017] FIG. 13 is a block diagram of an example computer
system.
[0018] In the drawings, the leftmost digit(s) of a reference number
identifies the drawing in which the reference number first
appears.
DETAILED DESCRIPTION
[0019] Disclosed herein are methods and systems to generate and
revise airline travel itineraries, including relatively succinct
itineraries for relatively complex travel plans. Also disclosed
herein are graphical user interface (GUIs) based methods and
systems to permit users to input travel plans and to configure
itinerary parameters to a computing device, such a computer system
or hand-held communication device, with relatively few actions. For
example, travel plans may be input through a GUI exclusively or
substantially exclusively with a pointing device such as a mouse, a
tactile sensor such as a touch pad, trackpad, and/or scrolling
trackpad, a scroll wheel, and combinations thereof.
[0020] FIG. 1 is a block diagram of an environment 100 to generate
and revise a travel itinerary in response to user input. FIGS. 2
through 11 illustrate a sequence of graphical user interfaces
(GUIs). Environment 100 is described below with respect to FIGS. 2
through 10, for illustrative purposes. Environment 100 is not,
however, limited to the examples of FIGS. 2 through 11.
[0021] Environment 100 includes a calendar module 102 to render a
calendar image 104 to a display of a user interface 106. Calendar
image 104 may include user selectable days or dates of calendar
image 104. FIG. 2 is a graphical user interface (GUI) 200,
including a calendar image 202.
[0022] Calendar module 102 may be configured to receive date
selections 110 from an input device of user interface 106, which
may include, without limitation, one or more of a pointing device,
a speech recognition system, and a keyboard.
[0023] Calendar module 102 may be configured to display indications
of user selectable destinations 108. User selectable destinations
108 may be displayed proximate to calendar image 104, and may be
displayed in response to a date selection 110. User selectable
destinations 108 may include one or more of airport names and
geographical identifications, such as city names. FIG. 3 is a GUI
300, including a list of user selectable destinations 302 proximate
to calendar image 202.
[0024] Calendar module 102 may be configured to receive destination
selections 112 from the input device of user interface 104, such as
described above with respect to date selections 110.
[0025] Calendar module 102 may be configured to output destination
and date selections 114 to an itinerary module 116.
[0026] Itinerary module 116 may be configured to initiate queries
118 of one or more airline information sources 120 for flight
information based at least in part on destination and date
selections 114. Queries 118 may be correspond to one or more of
flight schedules, fare information, low fare search information,
availability information, rewards program information, reservation
systems, and services information.
[0027] Queries 118 are based at least in part on one or more
itinerary parameters 122. Itinerary parameters 122 may include one
or more default itinerary parameters 124, which may associated with
a user and/or entity profile. Default itinerary parameters 124 may
include, for example and without limitation, one or more of a
default departure airport, a default return airport, and default
travel times, and may include one or more travel preferences, such
as preferences associated with airline carriers and services.
[0028] Itinerary module 116 may be configured to communicate
destination and date selections 114, and itinerary parameters 122,
or portions thereof, to one or more search engines that are
configured to generate queries 118. Alternatively, or additionally,
itinerary module 116 may include one or more search engines to
generate and communicate at least a portion of queries 118.
[0029] Itinerary module 116 is configured to receive query results
126 from airline information sources 120 and to output an itinerary
128 to user interface 106.
[0030] Query results 126 may include one or more of multiple
flights, legs, or layovers between destinations, multiple flights
or segments that are sold as a package, multiple airline carriers
and/or partners, and combinations of round trip and one-way
flights.
[0031] Query results 126 may include multiple potential solutions,
and itinerary module 116 may be configured to select a single set
of flights that satisfy destination and date selections 114 and
corresponding itinerary parameters 122. This may reduce time and
effort required of a user to review and potential revise multiple
potential solutions.
[0032] Itinerary module 116 may be configured to select the single
set of flights in conjunction with a low fare search engine.
[0033] FIG. 4 is a GUI 400, wherein destination and date selections
114 of FIG. 1 include LAX 412 on Tuesday, May 12 and Wednesday, May
13, SFO 414 on Wednesday, May 14, and SEA 416 on Thursday, May
15.
[0034] GUI 400 includes a corresponding multiple destination flight
itinerary 402 proximate to calendar image 202. Default itinerary
parameters 124 (FIG. 1) may specify BOS as a default originating
and a final destination airport. Accordingly, itinerary 402
includes a first portion 404 departing BOS for LAX on Sunday, May
11, a second portion 406 departing LAX for SFO on Tuesday, May 13,
a third portion 408 departing SFO for SEA on Wednesday, May 14, and
a fourth portion 410 departing SEA for BOS on Thursday, May 15.
[0035] Default itinerary parameters 124 may further include a
default preferred arrival time or a latest arrival, such as 9:00
AM, and a default preferred departure time or an earliest departure
time, such as 5:00 PM.
[0036] Returning to FIG. 1, environment 100 may include an
itinerary parameter configuration module 130 to permit user
adjustment and/or configuration of one or more itinerary parameters
122, such as with a pointer-selectable natural language formatted
configuration options.
[0037] Itinerary parameter configuration module 130 may be
configured to render user configurable itinerary parameters 132 in
response to user input corresponding to fields of itinerary 128.
One or more user configurable itinerary parameters 132 may include
an option to apply the corresponding parameter to a selected
portion of itinerary 120 or to all of itinerary 128.
[0038] Itinerary parameter configuration module 130 may be
configured to provide user configured itinerary parameters 134 to
itinerary module 116. Itinerary module 116 may be configured to
revise itinerary 128 in response to user configured itinerary
parameters 134.
[0039] Example user configurable itinerary parameters are disclosed
below with respect to FIGS. 5 through 11.
[0040] FIG. 5 is a GUI 500, including a user configurable itinerary
parameter 502 associated with a field 504 of itinerary portion 404.
Field 504 corresponds to an airline carrier identifier, shown here
as FL. Parameter 502 may be displayed in response to cursor
activity with respect to a field 504. Parameter 502 is user
configurable to either exclude airline carrier FL or to use airline
carrier FL exclusively. Parameter 502 is further configurable to be
applied to solely to itinerary portion 404 or to all of itinerary
402, in response to a user selection at one of 504 and 506,
respectively.
[0041] FIG. 6 is a GUI 600, including a user configurable arrival
time parameter 602 associated with itinerary portion 408. Arrival
time parameter 602 may be displayed in response to cursor activity
with respect to an arrival time field of itinerary portion 408.
Arrival time parameter 602 may include a plurality of user
selectable natural language based arrival time options, such as
illustrated in FIG. 6.
[0042] FIG. 7 is a GUI 700, including a user configurable departure
time parameter 702 associated with a departure time of itinerary
portion 410. Departure time parameter 702 may be displayed in
response to cursor activity with respect to an departure time field
of itinerary portion 410. Departure time parameter 702 may include
a plurality of user selectable natural language based departure
time options, such as illustrated in FIG. 7, which may include one
or more time ranges.
[0043] FIG. 8 is a GUI 800, including a user configurable itinerary
parameter 802 associated with itinerary portion 404. Parameter 802
may be displayed in response to cursor activity with respect to a
field within itinerary portion 404. Parameter 802 is configurable
for a permissible number of legs. Parameter 802 is further
configurable to apply the permissible number of legs solely to
itinerary portion 404 or to each of itinerary portions 404 through
410, in response to a user selection at one of 804 and 806,
respectively.
[0044] In the example of FIG. 8, itinerary portions 404 through 410
are revised relative to FIG. 7, in response to user configured
itinerary parameters described above.
[0045] FIG. 9 is a GUI 900, wherein itinerary 402 is revised
relative to FIG. 8, in response to user configured itinerary
parameters described above.
[0046] FIG. 10 is a GUI 1000, including a user configurable arrival
time parameter 1002 associated with an arrival time of itinerary
portion 410, such as described above with respect to FIG. 6.
[0047] FIG. 11 is a GUI 1100, wherein itinerary 402 is revised
relative to FIG. 10, in response to user configured itinerary
parameters described above.
[0048] Referring back to FIG. 1, user configurable parameters 132
may include one or more selectable flight service option
parameters, which may include an option to apply a corresponding
parameter to a selected portion of itinerary 128 or all of
itinerary 128.
[0049] User configurable parameters 132 may include a configurable
seat assignment parameter corresponding to availability of user
selectable seat assignments, which may include an option to apply a
corresponding parameter to a selected portion of itinerary 128 or
all of itinerary 128.
[0050] One or more of user configurable parameters 132 may be
displayed in a natural language format, and may include a plurality
of user selectable natural language options, and itinerary
parameter configuration module and/or itinerary module 116 may be
configured to convert natural language based user selections to a
query term. Example natural language configurable itinerary
parameters are illustrated in FIGS. 5, 6, 7, 8, and 10.
[0051] Itinerary parameter configuration module 130 may be
configured to store a history of user configured itinerary
parameters 134, and corresponding changes to itinerary 128.
[0052] Itinerary parameter configuration module 130 may be
configured to receive and display fare information corresponding to
flights of itinerary 128. In FIG. 4, a fare display field 420
includes entries corresponding to flights of itinerary 402. In
FIGS. 8 and 9, where itinerary 402 is updated or revised,
corresponding changes appear in fare display field 420.
[0053] Itinerary parameter configuration module 130 may be
configured to store a history of fare changes associated with user
configured itinerary parameters 134 and corresponding changes to
itinerary 128.
[0054] Where a plurality of flights or flight segments of itinerary
128 are marketed as a package at a package price, itinerary
parameter configuration module 130 may be configured to apportion
the package price amongst the plurality of flights or flight
segments in proportion to relative values of the corresponding
flights. For example, and without limitation, itinerary parameter
configuration module 130 may be configured to retrieve a market
price associated with each of the plurality of flights when priced
individually, and to apportion the package price amongst the
plurality of flights in proportion to the corresponding market
prices. Alternatively, or additionally, itinerary parameter
configuration module 130 may be configured to apportion the package
price based on corresponding distances of the flights or flight
segments.
[0055] Calendar module 102 may be configured to display indications
of destination selections 112 proximate to corresponding date
selections 110 of calendar image 104. This is illustrated in FIG. 4
as LAX 412, SFO 414, and SEA 416.
[0056] Calendar module 102 may be configured to receive user input
corresponding to a drag and drop operation that moves the displayed
indications of destination selections 112 from a first set of dates
to a second set of dates. For example, in FIG. 4, a user may use a
pointing device to drag images LAX 412, SFO 414, and SEA 416, from
dates May 12 through May 15, to a second set of dates. Calendar
module 102 may be configured to invoke itinerary module 116 to
revise itinerary 128 in accordance with the second set of
dates.
[0057] Calendar module 102 and/or itinerary module 116 may be
configured to display icons corresponding to flights of itinerary
128 proximate to corresponding dates of calendar image 104, at
positions indicative of corresponding flight times.
[0058] For example, in FIG. 4, GUI 400 includes icons 422, 424,
426, and 428, corresponding to itinerary portions 404, 406, 408,
and 410. Icons 422, 424, 426, and 428 may be positioned relative to
images of corresponding departure dates May 11, May 13, May 15, and
May 15, and/or arrival dates May 12May 13, May 15, and May 16.
Icons 422, 424, 426, and 428 may be positioned horizontally and/or
vertically, relative to the images of the corresponding dates, to
indicate relative corresponding flight times. For example, a higher
vertical position may correspond to an earlier time of day.
[0059] Icons may be repositioned in response to changes in
itinerary 402. For example, in FIG. 8, icon 424 is repositioned
relative to FIG. 4 in response to changes to corresponding
itinerary portion 406. In FIG. 9, icon 424 is repositioned relative
to FIG. 8 in response to additional changes to itinerary portion
406. Also in FIG. 9, icon 428 is repositioned from May 16 to May 15
in response to changes to corresponding itinerary portion 410.
[0060] In FIG. 1, calendar module 102 may be configured to generate
calendar image 104 with multiple time slots per date, such as to
permit a user to populate the time slots with scheduled events.
Calendar module 102 may be further configured to permit a user to
select and associate destinations with specific time slots, such as
to indicate scheduled events/meetings at corresponding destination
locations. Calendar module 102 and/or itinerary module 116 may be
further configured to generate a corresponding itinerary of
sequential flights to accommodate multiple events at different
destination locations.
[0061] Calendar module 102 and/or itinerary module 116 may be
configured to allot a travel time or window to a destination
location. A travel window may include an arrival window and/or a
departure window, which may be configured to permit sufficient time
to travel between an airport and a meeting location. A travel
window may be based on one or more of a default itinerary parameter
124 and a user configured itinerary parameter 134.
[0062] FIG. 12 is a process flowchart of a method 1200 of
generating, displaying, and revising a travel itinerary in response
to user input. Method 1200 may be implemented to receive user input
exclusively or nearly exclusively through a pointing device with
few or no keyboard strokes.
[0063] At 1202, a calendar image is displayed, such as on a
computer display. The calendar image may include images
corresponding to days or dates of the calendar.
[0064] At 1204, indications of user selectable destinations are
displayed proximate to the calendar image. The user selectable
destinations may be displayed in response to user input
corresponding to a day of the calendar, such as in response to a
cursor hovering over the image of the day or in response to input
from a pointing device while a cursor is proximate to the image of
the day. The user selectable destinations may include a list of
locations and/or airports.
[0065] At 1206, user input is received indicative of a plurality of
user selected destinations and dates. The input may correspond to
input from a pointing device and a corresponding cursor
position.
[0066] At 1208, one or more queries are initiated with respect to
one or more airline information sources, and a travel itinerary is
constructed from results of the querying. The one or more queries
and the itinerary construction may be based on the plurality of
user selected destinations, the corresponding user selected dates,
and default itinerary parameters, such as described with respect to
one or more examples above. The itinerary may include a series of
flights from a departure location through each of the user selected
destinations, and may include one or more one-way flights.
[0067] At 1210, the travel itinerary is displayed. The travel
itinerary may be displayed proximate to the calendar image, and may
include a plurality of information fields associated with each of
the flights.
[0068] At 1212, user configurable itinerary parameters are
displayed. The user configurable itinerary parameters may be
displayed proximate to corresponding information fields, and may be
displayed in response to user input associated with the information
fields, such as in response to a cursor hovering over an
information field or in response to input from a pointing device
while the cursor is proximate to the information field. At least a
portion of the user configurable itinerary parameters may be
configurable for a user-selected portion of the itinerary.
[0069] At 1214, a revised itinerary is generated in response to a
user configured itinerary parameter.
[0070] One or more features disclosed herein may be implemented in
hardware, software, firmware, and combinations thereof. The term
software, as used herein, refers to a computer program product
including a computer readable medium having computer program logic
stored therein to cause a computer system to perform one or more
features and/or combinations of features disclosed herein.
[0071] FIG. 13 is a block diagram of a computer system 1300,
including one or more instruction processing units, illustrated
here as a processor 1302, to execute computer program product
logic, also known as instructions, code, and software.
[0072] Computer system 1300 includes memory/storage 1304, including
a computer readable medium having computer program product logic or
instructions 1306 stored thereon, to cause processor 1302 to
perform one or more functions in response thereto.
[0073] Memory/storage 1304 further includes data 1308 to be used by
processor 1302 in executing logic 1306, and/or generated by
processor 1302 in response to execution of logic 1306.
[0074] In the example of FIG. 13, logic 1306 includes calendar
logic 1310 to cause processor 1302 to render a calendar and user
selectable dates and destinations to a user interface 1340, and to
receive destination and date selections 1322 from user interface
1340, such as described in one or more examples above.
[0075] User interface 1340 may include one or more of a display and
a user input device, which may include, without limitation, one or
more of a pointing device, a speech recognition system, and a
keyboard.
[0076] Logic 1306 further includes itinerary logic 1312 to cause
processor 1302 to initiate one or more queries to one or more
airline information sources 1342, to receive query results 1330,
and to generate an itinerary 1332, based on destination and date
selections 1322 and default itinerary parameters 1326, such as
described in one or more examples above.
[0077] Logic 1306 further includes itinerary parameter
configuration logic 1314 to cause processor 1302 to render user
configurable itinerary parameters to user interface 1340, to
receive user configured itinerary parameters 1328 from user
interface 1340, and to invoke itinerary logic 1312 to revise
itinerary 1332 in response to user configured itinerary parameters
1328, such as described in one or more examples above.
[0078] Logic 1306 may include logic to cause processor 1302 to
receive and display fare information 1334 associated with itinerary
1332, such as described in one or more examples above.
[0079] Logic 1306 may include fare allocation logic 1316 to cause
processor 1302 to allocate or apportion a price or fare associated
with a plurality of flight segments amongst the flight segments,
such as described in one or more examples above.
[0080] Logic 1306 may include logic to cause processor 1302 to
store historical data 1336 associated with changes to one or more
of user configured itinerary parameters 1328, itinerary 1332, and
fare information 1334, including apportioned fares.
[0081] Logic 1306 may include icon placement logic 1318 to cause
processor 1302 to display icons corresponding to flights of
itinerary 1332 proximate to corresponding dates of the calendar
image, at positions indicative of corresponding flight times, such
as described in one or more examples above.
[0082] Logic 1306 may include itinerary drag and drop logic 1320 to
cause processor 1302 to receive user input corresponding to a drag
and drop operation that moves the indications of the destinations
from a first set of dates to a second set of dates, and to invoke
itinerary logic 1312 to revise itinerary 1332 in accordance with
the second set of dates, such as described in one or more examples
above.
[0083] Computer system 1300 may include an input/output (I/O)
controller 1344 to communicate with user interface 1340 and airline
information sources 1342 over one or more of a wired and a wireless
communication channel. I/O controller 1344 may include a network
interface controller.
[0084] User interface 1340 may be an integral part of computer
system 1300 or part of another computer system that is configured
to communicate with computer system 1300, such as over a network,
which may include an internet connection.
[0085] Logic 1306 and data 1308, or portions thereof, may be
distributed over multiple computer systems. For example, and
without limitation, one or more portions of logic 1306 may run on a
computer system 1300, which may represent a server, and one or more
other portions of logic 1306 may run on one or more user computer
systems having corresponding user interfaces 1340.
[0086] Additional example graphical user interfaces (GUIs) are
disclosed below with reference to FIGS. 14 through 36.
[0087] FIG. 14 is a GUI of a calendar 1400. FIGS. 15, 17-21, and
23-28 are GUIs of calendar 1400. FIGS. 16 and 22 are GUIs of
meeting location pop-up windows. FIGS. 14-28 and 36 are described
below with respect to an example itinerary planning procedure.
[0088] In FIG. 14, calendar 1400 includes a portion 1406 having
scheduling time slots within days of a week. FIG. 36 is an image of
a week 3600, which may correspond to portion 1406 in FIG. 14.
[0089] Calendar 1400 may include one or more calendar entries,
which may include scheduled meetings, or meeting entries, and
corresponding travel itinerary entries.
[0090] Calendar 1400 may be configurable to display calendar
entries with respect to a local or default location 1402, and/or
one or more other locations. For example, calendar 1400 may be
configurable to display meeting and/or itinerary entries with
respect to a default time zone, or with respect to a time zone of
each meeting, departure time, and arrival time. Calendar 1400 may
include a button 1404 to permit a user to select default location
1402. In the example of FIG. 14, calendar 1400 is configured with a
default location of BOS, or Boston.
[0091] In FIG. 15, calendar 1400 is populated with a meeting entry
1502, which may be initiated with a pointing device drag operation
between start and end times. In FIG. 15, meeting entry 1502 is
illustrated between 11:00 AM and 3:30 PM, local time.
[0092] Meeting entry 1502 may include time buffers 1504 and 1506 to
provide buffer times prior to and subsequent to meeting entry 1502,
respectively. Time buffers 1504 and 1506 may user-adjustable, such
as with a pointing device drag operation. Time buffers 1504 and
1506 may be set and/or adjusted, for example, to provide time to
travel between an airport and a meeting location, and/or for other
purposes.
[0093] Time buffers may have default parameters, which may be
user-configurable. For example, an initial departure buffer may be
set to provide an arrival time after 5 PM one day prior to a
meeting. Where one or more subsequent meetings are scheduled at
other locations, corresponding pre-meeting buffers may set at, for
example, one hour. A post-final-meeting buffer may be set of
provide an arrival time, at the local location, prior 9:00 AM one
day after a final meeting. Where the distance between the final
meeting and the local location is too great permit arrival by 9:00
AM the next day, the post-final-meeting buffer may be automatically
adjusted to permit a later arrival time.
[0094] In FIG. 16, a meeting location pop-up window 1600 is
populated with DFW, for Dallas/Fort Worth.
[0095] In FIG. 17, calendar 1400 is updated to reflect DFW within
meeting entry 1502, and to display itinerary choices 1702 for
meeting entry 1502. Itinerary choices 1702 include a first column
to identify carriers, a second column to identify lowest fares of
the carriers, and a third column to identify fares or prices
associated with fastest flights, or shortest travel times of the
carriers.
[0096] In FIG. 17, calendar 1400 is also updated with itinerary
entries to reflect travel times associated with a user-selected
itinerary of itinerary choices 1702. Meeting entry 1502 and the
itinerary entries are displayed with respect to local Boston time.
As a result, Tuesday, July 20, is illustrated as a relatively long
day since an hour of time is gained by travelling westward across a
time zone. Conversely, Wednesday, July 21, is illustrated as a
relatively short day since an hour is lost traveling east across
the time zone.
[0097] In FIG. 17, calendar 1400 further includes history
information 1704 to display a history of prices for which
itineraries have been selected. History information 1704 includes
an entry 1706 corresponding to a selected itinerary having a fare
of $403.80.
[0098] In FIG. 18, calendar 1400 includes pop-up windows 1802 and
1804. Pop-up window 1802 may be activated by selecting an itinerary
entry, such as an itinerary entry 1808 of an itinerary portion or
slice 1806. Pop-up window 1802 permits a user to utilize or omit a
particular carrier. Pop-up window 1804 permits the user to apply
the restriction to itinerary entry 1808, to itinerary portion 1806,
or to an entire journey or itinerary.
[0099] In FIG. 19, calendar 1400 of FIG. 18 is updated to display a
new solution that reflects user-selected carrier restrictions for
itinerary portion 1806. History information 1704 includes a
corresponding new entry 1902 having an increased itinerary
price.
[0100] In FIG. 20, a history entry 1706 is selected and calendar
1400 is updated or refreshed to display the corresponding itinerary
entries of FIG. 18.
[0101] In FIG. 21, calendar 1400 is populated with a second meeting
entry 2102.
[0102] In FIG. 22, a meeting location pop-up window 2200 is
populated with LON, for London.
[0103] In FIG. 23, meeting entry 2102 is updated to reflect London,
and calendar is populated with itinerary entries to accommodate
meeting 2102, and to include a corresponding branch entry 2302
within history information 1704. In FIG. 23, calendar 1400 is
displayed with respect to local or Boston time, so some days appear
longer or shorter than others.
[0104] In FIG. 24, a button 2402, illustrated here as
"ATL/BOS/CVG," is selected to cause calendar 1400 to display
itinerary entries with respect to corresponding time-zones.
[0105] In FIG. 25, a lowest fare entry for a carrier "BA" is
selected from itinerary choices 1702, calendar 1400 is updated
accordingly, and history information 1704 updated with a
corresponding new entry 2502.
[0106] In FIG. 26 calendar 1400 includes pop-up windows 2602 and
2604. Pop-up window 2602 may be activated by selecting an itinerary
entry, such as an itinerary entry 1808 of an itinerary portion
1806. Pop-up window 2602 permits a user to utilize or omit a
particular airport for connecting flights. Pop-up window 2604
permits the user to apply the restriction to itinerary portion 1806
or to an entire journey or itinerary.
[0107] In FIG. 27, calendar 1400 of FIG. 26 is updated to show a
new solution for itinerary portion 1806 that reflects user-selected
connecting flight restrictions. History information 1704 includes a
corresponding new entry 2702.
[0108] In FIG. 28, buffer 1506 is dragged to extend the available
time prior to departure. Itinerary entries of calendar 1400 are
updated accordingly, and history information 1704 is updated to
include a new entry 2802.
[0109] FIG. 29 is a GUI of a calendar 2900, which may be similar to
calendar 1400 in FIG. 14. FIGS. 30, 32, 33, and 35 are GUIs of
calendar 2900. FIGS. 31 and 34 are GUIs of meeting location pop-up
windows. FIGS. 29-35 are described below with respect to another
example itinerary planning procedure.
[0110] In FIG. 30, calendar 2900 includes a schedule or meeting
entry 3002, at 9:30 AM local time.
[0111] In FIG. 31, a meeting location pop-up window 3100 is
populated with SYD, for Sydney.
[0112] In FIG. 32, meeting entry 3002 is updated to reflect Sydney,
and calendar 2900 is populated with itinerary entries to travel
from Boston, to meeting 3002 in Sydney, and back to Boston.
[0113] In FIG. 32, calendar 2900 does not include a column for
Tuesday, July 20, and includes two columns for Wednesday, July 21.
This is due to the itinerary crossing the international date line,
and due to calendar 2900 displaying itinerary and meeting entries
in respective local times. Thus, when traveling to Sydney, the user
departs Monday, July 19, Boston-time, and arrives Wednesday, July
21, Sydney-time. In crossing the international date line, Tuesday,
July 20, is skipped. When returning to Boston, the user departs on
Wednesday, July 21, Sydney-time, and arrives Wednesday, July 21,
Boston-time. In this case, the user departs Sydney mid-day
Wednesday. During the flight, darkness falls, the sun rises, and
when the flight has crossed the international dateline, it is
Wednesday again for the passengers of the flight.
[0114] Calendar 2900 thus reflects the view of the passenger,
taking into account times of lightness and darkness, splitting days
at midnight local time, and displaying some days as relatively
shorter or longer than other days.
[0115] In FIG. 33, calendar 2900 is populated with a second meeting
entry 3302, scheduled for 12:45 PM, Wednesday, July 21.
[0116] In FIG. 34, a meeting location pop-up window 3400 is
populated with LAX, for Los Angeles.
[0117] In FIG. 35, meeting entry 3302 is updated to identify LAX.
In addition, although meeting entry 3302 was input as 12:45 in the
left-hand column of Wednesday, July 21 in FIG. 31, since the Los
Angeles location of meeting entry 3302 is on the "local" side of
the international dateline, calendar 2900 is updated to display
meeting entry 3302 in the right-hand column or instance of
Wednesday, July 21, at the corresponding local time.
[0118] Methods and systems are disclosed herein with the aid of
functional building blocks illustrating the functions, features,
and relationships thereof. At least some of the boundaries of these
functional building blocks have been arbitrarily defined herein for
the convenience of the description. Alternate boundaries may be
defined so long as the specified functions and relationships
thereof are appropriately performed.
[0119] While various embodiments are disclosed herein, it should be
understood that they have been presented by way of example only,
and not limitation. Various changes in form and detail may be made
therein without departing from the spirit and scope of the methods
and systems disclosed herein. Thus, the breadth and scope of the
claims should not be limited by any of the example embodiments
disclosed herein.
* * * * *