The present invention is directed to method and apparatus forming a system for deriving from computer-based travel reservations systems specific cost and time information, on per-unit basis, such that accurate cost information may be produced for comparison purposes. Using a programmable computer under...http://www.google.com/patents/US5191523?utm_source=gb-gplus-sharePatent US5191523 - System for synthesizing travel cost information

The present invention is directed to method and apparatus forming a system for deriving from computer-based travel reservations systems specific cost and time information, on per-unit basis, such that accurate cost information may be produced for comparison purposes. Using a programmable computer under control of a program instruction set, individual data segments of a given trip between two points (origination-to-destination) is reduced to a common per-unit basis permitting uniform comparison and analysis. The process identifies each trip having an origination and destination by a unique name, determines the number of connecting segments flown, the number of miles flown, the amount of time from departure to arrival, and the costs on per-hour and per-mile basis.

(d) a programmable computer in communication with said travel reservation database, responsive to an input origin-to-destination inquiry, including:

(i) a processor operating according to said program instruction set;

(iii) means for producing a unique origin-to-destination data block representing a plurality of said data segments including means for processing each identified travel segment data set to produce a true origin-to-destination data block under the control of said program instruction set;

(iii) means for producing a unique name and assigning said unique origin-to-destination data block therewith under the control of said program instruction set, wherein said true origin-to-destination data block includes a group of characters in human readable form;

(f) means for outputting from said processor a group of characters forming information in human readable form.

2. The system of claim 1, wherein said programmable computer, under the control of said instruction set, further comprises means for accumulating a total of the travel segments included in a true origin-to-destination data block.

3. The system of claim 1, wherein said programmable computer, under the control of said instruction set, further comprises means for calculating an origin-to-destination fare for the travel segments which comprise said data block.

4. The system of claim 3, wherein said programmable computer, under the control of said instruction set, further comprises means for correction of segment fare data forming the true origin-to-destination data block.

5. The system of claim 3, wherein said programmable computer, under the control of said instruction set, further comprises means for correction of segment travel time forming the true origin-to-destination data block.

6. The system of claim 1, wherein said programmable computer, under the control of said instruction set, further comprises means for calculating an origin-to-destination distance for the travel segments which comprise said data block.

7. The system of claim 1, wherein said programmable computer, under the control of said instruction set, further comprises means for calculating an origin-to-destination trip time for the travel segments which comprise said data block.

8. The system of claim 1, wherein said programmable computer, under the control of said instruction set, further comprises means for calculating an origin-to-destination cost per mile for the travel segments which comprise said data block.

9. The system of claim 1, wherein said programmable computer, under the control of said instruction set, further comprises means for calculating an origin-to-destination cost per unit of trip time for the travel segments which comprise said data block.

10. The system of claim 1, wherein said programmable computer under the control of said instruction set, further comprises means for determining a fare base according to a standard fare code for the travel segments which comprise said data block.

11. The system of claim 1, wherein said programmable computer, under the control of said instruction set, further comprises means for determining a FareDex code for the travel segments which comprise said data block.

12. The system of claim 1, wherein said true origin-to-destination data block nd said unique name form a single line of data.

13. The system of claim 1, wherein said programmable computer, under the control of said instruction set, further comprises means for identifying as a layover a period greater than four hours between travel segments forming the true origin-to-destination data block.

14. The system of claim 1, wherein said programmable computer, under the control of said instruction set, further comprises means for identifying as a connecting flight a period less than four hours between travel segments forming the true origin-to-destination data block.

15. The system of claim 1, wherein said programmable computer, under the control of said instruction set, further comprises means for correcting segment travel time for local changes in the time zones in forming the true origin-to-destination data block.

16. In a travel information system including a programmable computer operating according to an accompanying program instruction set, the post transaction method of determining true origin-to-destination travel data from travel segment information stored as travel segment data in a computer-based travel reservation database system, comprising operating said computer according to the steps of:

(a) accessing said computer-based travel reservation database under program instruction set control;

(b) selectively retrieving from said travel reservation database system travel segment data from said computer-based travel database system under program instruction set control after purchase of a ticket;

(d) generating under program instruction set control a unique origin-to-destination data block including said travel data segments representing said origin-to-destination travel data;

(e) producing a unique name and associating said unique origin-to-destination data block therewith under program instruction set control; and

(f) outputting from said programmable computer the origin-to-destination information in human readable form.

17. The method of claim 16, wherein step (d) further comprises: associating individual travel segment data and computing an origin-to-destination fare for the travel segments which comprise said data block under program instruction set control.

18. The method of claim 17, further including the step of correcting segment fare data forming the true origin-to-destination data block under the control of said instruction set.

19. The method of claim 17, further including the step of correcting segment travel time forming the true origin-to-destination data block under the control of said instruction set.

20. The method of claim 16, wherein step (d) further comprises: associating individual travel segment data and computing an origin-to-destination distance for the travel segments which comprise said data block under program instruction set control.

21. The method of claim 16, wherein step (d) further comprises: associating individual segment data and computing an origin-to-destination travel time for the travel segments which comprise said data block under program instruction set control.

22. The method of claim 16, wherein step (d) further comprises: associating individual travel segment data and computing a total origin-to-destination trip time for the travel segments which comprise said data block under program instruction set control.

23. The method of claim 16, wherein step (d) further comprises: associating individual segment data and computing an actual origin-to-destination travel cost per mile for the travel segments which comprise said data block under program instruction set control.

24. The method of claim 16, wherein step (d) further comprises: associating individual segment data and computing an actual origin-to-destination cost per unit of travel time for the travel segments which comprise said data block under program instruction set control.

25. The method of claim 16, wherein said true origin-to-destination data block and said unique name are formed into a single line of data.

26. The method of claim 16, further including the step of identifying as a layover a period greater than four hours between travel segments forming the true origin-to-destination data block under the control of said instruction set.

27. The method of claim 16, further including the step of identifying as a connecting flight a period less than four hours between travel segments forming the true origin-to-destination data block under the control of said instruction set.

28. The method of claim 16, further including the step of correcting segment travel time for local changes in the time zones in forming the true origin-to-destination data block under the control of said instruction set.

(d) a programmable computer in communication with said computer-based information storage system, responsive to an origin-to-destination inquiry, including:

(i) a processor operating according to said program instruction set;

(ii) means for producing a unique origin-to-destination data block representing a plurality of said data segments including means for processing each identified travel segment data set to produce a true origin-to-destination data block under the control of said program instruction set;

(iii) means for producing a unique name and associating said unique origin-to-destination data block therewith under control of said program instruction set, wherein said true origin-to-destination data block includes a group of characters in human readable form;

(f) means for outputting from said processor a group of characters forming information in human readable form; and

(g) a local data storage unit.

30. The system of claim 29, wherein said programmable computer, under the control of said instruction set, further comprises means for accumulating a total of the travel segments included in a true origin-to-destination data block.

31. The system of claim 29, wherein said programmable computer, under the control of said instruction set, further comprises means for calculating an origin-to-destination fare for the travel segments which comprise said data block.

32. The system of claim 31, wherein said programmable computer, under the control of said instruction set, further comprises means for correction of segment fare data forming the true origin-to-destination data block.

33. The system of claim 31, wherein said programmable computer, under the control of said instruction set, further comprises means for correction of segment travel time forming the true origin-to-destination data block.

34. The system of claim 29, wherein said local data storage unit includes the respective longitude and latitude locations of a plurality of airports and said programmable computer, under the control of said instruction set, further comprises means for calculating for the travel segments which comprise said data block an origin-to-destination Great Circle distance by reference to said longitude and latitude information stored in said local storage unit.

35. The system of claim 34, wherein said programmable computer, under the control of said instruction set, further comprises means for calculating an origin-to-destination cost per unit of distance for the travel segments which comprise said data block.

36. The system of claim 29, wherein said programmable computer, under the control of said instruction set, further comprises means for calculating an origin-to-destination trip time for the travel segments which comprise said data block.

37. The system of claim 29, wherein said programmable computer, under the control of said instruction set, further comprises means for calculating an origin-to-destination cost per unit of trip time for the travel segments which comprise said data block.

38. The system of claim 29, wherein said local data storage unit includes standard fare codes and said programmable computer, under the control of said instruction set, further comprises means for determining a fare base according to a standard fare code for the travel segments which comprise said data block.

39. The system of claim 38, wherein said programmable computer, under the control of said instruction set, further comprises means for determining a FareDex code for the travel segments which comprise said data block.

40. The system of claim 29, wherein said true origin-to-destination data block and said unique name form a single line of data.

41. The system of claim 29, wherein said programmable computer, under the control of said instruction set, further comprises means for identifying as a layover a period greater than four hours between travel segments forming the true origin-to-destination data block.

42. The system of claim 29, wherein said programmable computer, under the control of said instruction set, further comprises means for identifying as a connecting flight a period less than four hours between travel segments forming the true origin-to-destination data block.

43. The system of claim 29, wherein said programmable computer, under the control of said instruction set, further comprises means for correcting segment travel time for local changes in the time zones in forming the true origin-to-destination data block.

44. The method for after-ticket purchase determination of true origin-to-destination travel data from travel segment data stored in a computer-based information storage system having a processor operating according to an accompanying program instruction set, comprising operating said computer according to the steps of:

b) selectively retrieving from said information storage system travel segment data after purchase of a ticket;

c) generating under program instruction set control a unique origin-to-destination data block including said travel segment data representing said origin-to-destination travel data;

d) producing a unique name and associating said unique origin-to-destination data block therewith to produce a single line data display under program instruction set control; and

outputting from said programmable computer said single line data display in human readable form.

45. The method of claim 44 wherein said processor controls steps (b), (c), and (d) in response to step (a) and to said program instruction set.

46. The method of claim 44, wherein step (c) further comprises: associating individual travel segment data and computing an origin-to-destination fare for the travel segments which comprise said data block under program instruction set control.

47. The method of claim 46, further including the step of correcting segment fare data forming the true origin-to-destination data block under the control of said instruction set.

48. The method of claim 46, further including the step of correcting segment travel time forming the true origin-to-destination data block under the control of said instruction set.

49. The method of claim 44, wherein step (c) further comprises: associating individual travel segment data and computing an actual origin-to-destination travel distance for the travel segments which comprise said data block under program instruction set control.

50. The method of claim 44, wherein step (c) further comprises: associating individual travel segment data and computing an actual origin-to-destination travel time for the travel segments which comprise said data block under program instruction set control.

51. The method of claim 44, wherein step (c) further comprises: associating individual travel segment data and computing an actual origin-to-destination travel time for the travel segments which comprise said data block under program instruction set control.

52. The method of claim 44, wherein step (c) further comprises: associating individual travel segment data and computing an actual origin-to-destination travel cost per mile for the travel segments which comprise said data block under program instruction set control.

53. The method of claim 44, wherein step (c) further comprises: associating individual travel segment data and computing an actual origin-to-destination cost per unit of trip time for the travel segments which comprise said data block under program instruction set control.

54. The method of claim 44, further including the step of identifying as a layover a period greater than four hours between travel segments forming the true origin-to-destination data block under the control of said instruction set.

55. The method of claim 44, further including the step of identifying as a connecting flight a period less than four hours between travel segments forming the true origin-to-destination data block under the control of said instruction set.

56. The method of claim 44, further including the step of correcting segment travel time for local changes in the time zones in forming the true origin-to-destination data block under the control of said instruction set.

Description

TECHNICAL FIELD

The present invention relates to the travel industry, and more particularly to methods and apparatus forming a system for deriving from computer-based travel reservation systems specific cost and time information, on per-unit bases, such that accurate cost information may be produced for comparison purposes. More specifically, information available for multiple individual segments of a given trip between two points (origination-to-destination) is reduced to a common per-unit basis permitting uniform comparison and analysis. The process identifies each block of origin and destination data by a unique name, permitting calculation of the number of connecting segments flown, the number of miles flown, and the amount of time from departure to arrival. These systems for synthesizing travel cost information are called Origin and Destination ("O&D") analyzers.

BACKGROUND OF THE INVENTION

Certain travel industry groups, notably the United States-based airline industry, developed computer-based reservation system databases in the period generally corresponding to 1965 to 1975, and in which reservation systems flight information was based on the traveler's desired origination-to-destination journey. The air travel industry settled on several similar systems, including COVIA (United Airlines, USAIR); DATAS II (Delta Airlines); PARS (TWA and Northwest); SABRE (American Airlines); and SYSTEMONE (Texas Air Corporation) in order to enable reference to schedule and tariff information among many parties. The data was arranged, organized, and stored in a format generally corresponding to the dominant travel routing patterns, in which a carrier accepted a passenger at a first, origination location and discharged the passenger at a terminal or destination location. The data is generally stored in several databases within each reservation system: schedules, tariffs, and rules. Booking a flight involves creating a computer record called the Passenger Name Record (PNR) of data from each of these sub-databases. As flights are booked for different carriers, a teletype message with the flight information is passed between airlines via ARINC, an air travel data communication service. Reservation data may also bypass ARINC and be exchanged directly between airline computers. The PNR is used to generate tickets, itineraries, and the "interface record" that is used by travel agency accounting systems. Information on flights flown by travelers may be obtained from the airlines in three ways: via agency accounting systems, branch interface, or the Airline Reporting Corporation.

Within agency accounting systems, the travel agencies receive the interface record in on-site accounting systems which record the amount payable due to the airline issuing the ticket and the receivable due from the client. This reservation data may also be used to monitor agent productivity and to furnish clients with some information on their expenditures.

With the branch interface, third-party groups, such as airline ticket auditors may establish a "branch access" with the airline reservation systems to receive the Passenger Name Record. Data from the PNR may then be placed into secondary computer systems for analysis and reporting.

With the Airline Reporting Corporation, airline reservation data is also provided to groups, such as credit card companies, which are involved with the Airline Reporting Corporation for the payment of airline tickets. These groups also place the data into secondary computer systems for reporting purposes.

In domestic air travel, the need for multiple stops for fuel, passengers, etc. was relatively unimportant during the inauguration of the reservation databases, as the travel companies were anxious to meet the passengers, demands for direct, and preferably non-stop flights from origin to destination. Occasionally, the vehicle would make such a stop if the intermediate landing could add revenue without unneeded delay, or otherwise to provide regulated service; these flights often offered slightly reduced fares to compensate the passenger for the inconvenience.

For these essentially direct flights, no change of planes was necessary, and the reservation systems database PARS format display of the flight data could be a single-line entry or display (whether on paper or on a computer display screen), showing flight number and origination, destination, departure and arrival times, class of service, price, and so forth. Deriving the distance traveled presented little or no problem as the flights were essentially direct or shortest path in nature, and the cost and time information were implicit from the departure/arrival times and ticket office.

Beginning about 1975, however, the travel industry, and especially the United States-based airline industry underwent a fundamental change in the nature of operations, in which fare competition forced greater emphasis on economically transporting passengers and less on travel time and convenience for the traveler. This change was accompanied by the substitution of a hub-and-spoke, multiple-segmented arrangement for the previous conventional direct flight arrangement. That is, regional airports became "hubs," and the flight paths were between the hubs rather than direct from origin to destination.

At the same time, the PARS format data display and presentation method became outdated because many trips became multiple-segment flights, often with change of aircraft. Since the passenger paid only for the trip cost on the basis of the origin-to-destination, not the total of the cost of the individual flight segments at their normal prices, this total trip cost information could not be divided among the segments without severe distortion or overload of the computerized database.

With the advent of the hub-and-spoke system, each travel segment between hubs required a separate data display line. The segments were listed in order, and the ticket price information listed on only one of the segment lines. Thus the PARS format data was forced to require multiple lines for the full, origin-to-destination data as the schedule information became more complex in order to show the movement between the hubs. Only one segment, usually the terminal segment, included price information. Total travel time could be determined for each of the segments, but departure to arrival time, and especially flight travel time, became distributed among the various segment lines, and thus obscure or hidden, making travel per unit of time exceedingly difficult to determine when the traveler's time expense became a factor. Determining real costs for travel became extremely complicated and time-consuming as extracting the information and determining true travel parameters is an essentially judgment-based activity relying on information which often changes, and generally changes too frequently to enable reliable human analysis.

An example of this is demonstrated by a flight from New York/Kennedy to Los Angeles International airport (respectively, NYC and LAX). A non-stop flight might be listed with the following reservation format information (certain information is omitted here for simplicity, i.e., departure/ arrival times, etc.:

A similar direct flight might stop briefly in Kansas City with no discernible difference in origination-to-destination travel distance, having a slightly reduced fare, and resulting in the following reservation system format information:

Under the hub-and-spoke system, a similar flight might originate in New York, change planes in Atlanta, and then go on to Los Angeles. Such a hub-and-spoke trip will have a much longer origination-to-destination travel distance, have a similar fare, and result in the following information:

Here, the slight difference is obviously an accumulation of the additional landing, ground, and take-off time for the Kansas City stop, which information is again easily determined. The total travel time in this example is, simply, 5 hours and 45 minutes plus 3 hours for the time zone conversion.

A hub-and-spoke trip stopping in Atlanta, however, might be displayed:

The total flight time of the individual segments is greater than the flight time of either a non-stop or a direct, one-stop flight, and without indicating arrival/departure/arrival delays for the segments, the information available from the reservation system database distorts the total travel time unless origination departure to destination arrival times are separately available; they are ordinarily displayed on separate reservation lines, adding difficulty in determining the total travel time determination. Multiple stops in different time zones, especially on an East to West flight, tends to obscure the flight time when only segment flight data is available.

The segment data available does not permit determining the shortest distance between points. Cost-per-unit time and/or distance and both total travel time and time-per-unit determinations are very difficult to obtain from the above example. Without a standardized reference of costs, such as cost per mile or kilometer, and without an accumulated or other time reference, the cost per mile and cost per hour cannot readily be determined.

SUMMARY OF THE INVENTION

The present invention combines a programmable computer with a processor, such as a microprocessor, with communication links to one or more remote reservation system databases accessible via computer, output display or printing terminals for providing human-readable output, and a machine-readable program instruction set to provide a system for determining true origin-to-destination travel data from segment travel information stored as segment data in a travel reservation database system. From the complex segment information, the present invention derives certain travel information not explicitly contained within the segment data, and through reference to a separate local database or data storage unit, determines true travel cost and time data with reference to standard units, providing for example, cost-per-distance-unit and travel distance-per-time-unit, enabling further processing to determine effective direct costs such as fare price and indirect costs such as travel costs per unit of employee time.

The segment data is processed according to the program instruction set to provide a unique, single line block of data reflecting the segment-derived data block, then a unique identification tag or name is associated with the data. As necessary, longitude and latitude information for the origin and the destination is retrieved from another, local database, and great circle distance calculations performed to determine the true distance between origin and destination. Also as necessary, the fare basis codes are assessed to determine the most restrictive fare rule applicable to the particular trip and translated into a FareDex code, and the trip is then analyzed to determine the advance purchase period between purchase and travel, which information can supplement the FareDex code. As necessary, the departure and arrival times are adjusted for time zone differences (as well as Standard/Daylight Savings time variations) to determine the trip time. The great circle distance, the fare cost, and the trip time are then subjected to further calculations to determine cost per mile, cost per hour, and distance per hour.

It is an object of this invention to improve the reliability of actual cost determinations in calculating travel expenses.

It is an object of this invention to improve the reliability of actual travel time determinations in calculating travel expense.

It is an object of this invention to improve the reliability of actual cost determinations, including paid travel time in calculating travel expenses.

A feature of the present invention is the determination of actual shortest-path travel distances from a series of travel segment data.

Another feature of the present invention is the association of a group of segment data with a unique label or tag.

BRIEF DESCRIPTION OF THE DRAWING FIGURES

With these and other objects, features and advantages of the invention that will hereinafter become apparent, the nature of the invention may be more clearly understood by reference to the following description of the best mode of the invention, the appended claims, and the several views presented in the attached drawing figures, in which like reference numbers represent like elements in all views:

FIG. 1 is a simplified block diagram of the invention;

FIG. 2 is a more detailed block diagram of the invention, including certain additional features;

FIG. 3 is a summary of the analysis procedure performed according to the method of the invention;

FIG. 4 is a simplified flow chart illustrating portions of the analysis procedure;

FIG. 5 is another simplified flow chart illustrating further portions of the analysis procedure;

FIG. 6, consisting of 6AA-6B, is an object code listing of the program instruction set used by applicants;

FIGS. 7a and 7b illustrate four examples of use of the present invention; and

FIG. 8 shows a subroutine for correcting the origin-to-destination fare.

BEST MODE FOR CARRYING OUT THE INVENTION

The system for synthesizing accurate travel costs forming the present invention 10, also known as an Origin and Destination analyzer, is shown in simplified block diagram form in FIG. 1. Remote from the system 10 is a travel reservation database system 12 such as COVIA, PARS, or SABRE in which detailed information about a given trip, such as an air travel trip, is stored as a collection of multiple-segment portions of the trip. The present system 10 alternatively envisions the substitution of such a reservation database system by any other database storage systems capable of locally storing large amounts of data, including optical storage technology or the like, such as may be provided with compact disk-read only memory (CD-ROM) and write once, read many times (WORM) storage devices. A programmable computer 14, including a processor 16 (central processing unit), provides a means for manipulating travel data and performing multiple calculations; it may be preferably situated at a location designated for use of the present system 10, such as a travel agent's main or remote office, or a corporate business or government office. Plural systems may be linked, and plural terminals may be linked as subsystems to a system 10. Also included with the programmable computer 14 are an input device 18 such as a terminal and which is connected to processor 16, an instruction set 20 in communication with processor 16 for directing control thereof, and at least one output device 22, such as a display unit or printer, also connected to the processor. Further elements of the system 10 include a means for selecting data 24, a data block generation means 26, and a data block naming means 28, which elements may be included as operating portion's of the programmable computer 14.

External to the programmable computer 14, and forming a part of the system 10 are a data communications and retrieval unit 30 and associated telecommunications link 32 in signal communication with the remote travel reservation database system 12. These elements preferably comprise a high-speed modem and telephone line or the equivalents thereof. In the case of the travel reservation database system 12 being located with the system 10 of the invention, the telecommunications link may simply be a cable or the equivalent. Direct link, leased lines, and radio communication may also be used.

Turning now to FIG. 2, an expanded network of Origin and Destination analyzer systems for synthesizing accurate travel data according to the present invention is illustrated in greater detail, including illustration of plural systems at different locations and a remote subsystem connected to one system. A system 10 for determining true origin-to-destination travel data from segment travel information stored as segment data in a computer-based travel reservation database 12 is installed at a travel agency, and having the terminal 18 and processor 16 for capturing, storing and processing segment data and the data communications and retrieval unit 30 and telecommunication link 32 shown in FIG. 1. The system 10 communicates with a computerized travel reservation system 12, also as shown in FIG. 1. The system 10 may also include or be connected to a corporate operated travel management system 110 for storing and processing segment data having a terminal and a processor, via another telecommunications link 38 to the travel agency's Origin and Destination analyzer system 10 or to computerized accounting equipment 40 when available. The travel agency system 10 is joined to the remote travel reservation database system 12 where multiple data storage units 42, 44, 46 are usually located for storing schedule information (i.e., the schedule segment data), tariff or fare price data, and fare rules data, respectively.

Upon the completion of the booking of a particular trip, the travel segments forming the complete booked trip are requested via the data communication and retrieval unit 30 via telecommunications link 32 and communicated back to the travel agency Origin and Destination analyzer system 10 or computerized accounting equipment 40. The segment data may be processed at the agency or communicated to the corporation travel management system 110 via telecommunications link 38 for local processing there.

Operation of the travel cost information system 10 in its broadest sense is illustrated in flow chart form in FIG. 3. The system 10 is initialized to prepare for operation, then a system operator enters data through input means 18 to control retrieval of flight segment data from a travel reservation database system 12 via the retrieval means 30 at step 200, which may be accomplished through program instruction set 20 control, with assistance from the program instruction set 20, or separately, as determined by the system and software configuration available. This segment data is captured from the database 12 and particularly, from the data storage 42, and then stored locally within the programmable computer 14. Data may also be retrieved from the data storage 44 or 46. The data retrieval is to be routinely accomplished at the time of flight reservation and ticketing. This information may also be retrieved prior to making the reservation, or thereafter for later analysis, including after the trip has been completed, provided that the database 12 data has not been updated to destroy the applicable data. Once the segment data is received from database 12, the operator initiates the program instruction set 20 routines via the input means 18 at step 202, initiating analysis and processing of the retrieved segment data into true origin and destination data by the programmable computer 14 at step 204. Processing of the segment data (steps 204 and 206) is shown in FIG. 4 and described in greater detail hereinafter.

In step 206, the programmable computer 14 generates true origin and destination data for the selected trip. In order to simplify further processing of data associated with the selected trip, the programmable computer 14 (operating under control of the program instruction set 20) assigns a new name or identification tag for the true O&D data block in step 206.

The operator may also then select and initiate routines of the program instruction set 20 to compute the O&D fare, the O&D distance, the O&D trip time, the O&D cost per unit distance traveled, the O&D cost per trip time, the O&D cost per unit of time, and/or the fare base according to standard fare codes. This information may be displayed for review by the operator and printed out or otherwise communicated to a client at step 208.

Turning now to FIG. 4, the steps 204 and 206 of FIG. 3 are described in greater detail. Following startup, data retrieval, and initialization of the process in steps 200, 202, the program instruction set 20 includes the steps of beginning data analysis at START step 300. The number of flight segments for each origin and destination is counted to produce a "Segment Count"; the segment count is set to 1 in step 302. This process identifies the origin row and the destination row of data; the steps of identifying these rows may vary among reservation systems. The process illustrated in FIG. 4 analyzes data in one common format. The precise method steps or identifying the origin and destination rows may vary among reservation systems and in a given system over time. The method disclosed herein is thus to be viewed as illustrative and not specifically limiting of the appended claims.

The "O&D" Base, which is used to sum the cost of the segment flights, is set to 0, step 304. The program instruction set 20 directs the programmable computer 14 to read the first row of segment data (i.e., segment one) at step 306. The flight "Origin City" is set equal to the "Depart City" code found in segment one at step 308. The "Origin Time" is set equal to the "Depart Time" in segment one at step 310. The "Fare Code" is set equal to the Fare Base Code found in segment one at step 312. The programmable computer 14 then compares the destination city with the arrival city in a test to determine whether the "To City" equals the "Arrive City," step 314. In block 314, FIG. 4, the arrival of one flight and departure of a subsequent flight can be analyzed to determine if a connecting flight or a layover is represented. This is described more clearly in FIG. 6BB-6BH. This analysis is facilitated by adjustment for changes from travel through successive time zone changes, variations in local time zones, including Daylight Savings/Standard Time, and/or such time system changes as occur during the travel period. See FIG. 6BB et seq. and the discussion of FIG. 5, blocks 370 and 372. Returning to FIG 6BH, the elapsed time in hours and minutes is calculated, then ordinary time zone differences are included, and adjustments are made as required. If the result of this test at step 314 is false, the segment one row of data does not contain information about the passenger's final destination. The programmable instruction set then initiates a loop consisting of steps 320, 322 and 324. The "Segment Count" is incremented by a count of one (1) at step 320. The "O&D Base" is incremented by adding the "Segment Fare" at step 322. The programmable computer 14 then retrieves and reads the next row of segment data at step 324 under program instruction set 20 control and again compares the destination city with the arrival city in a repeat of the test if the "To City" equals the "Arrive City" at step 314.

When the result of the step 314 test is true, step 330 will identify the row that contains accurate information about the trip destination, and the program instruction set will advance to the next step. A unique name or identification tag is next determined for the true Origin and Destination data associated with the trip and assigned to that block of data. This block of data may now be represented as a single row of information. The "Segment Count" is compared with the number 1 in step 332. If the "Segment Count" equals one (1) in step 332, the "Connection City" is set to null (0) in step 334; there was no connecting flight. If the test result is false, the "Segment Count" is incremented by 1 and the test is repeated to test if the "Segment Count" equals two (2) at step 336. If the result of this test is true, then there was one connection. The program sets the "Connection" count equal to the "To City" in segment row one (1) in step 338. If the result of the test is false, then the passenger incurred more than one connection stop. The "Connection" count is then set equal to the "Segment Count" minus one (1) in step 340 to indicate the number of stops made by the passenger. Next, the "Destination" is set equal to the "Arrive City" for the current segment row at step 342. "Destination Time" is set equal to the "Arrive Time" in the current row at step 344.

Returning now to FIG. 3 at step 204, the source data required for generation of secondary data at the completion of step 204 has been read and analyzed. Secondary data is defined here as that data which must be inferred from the analyzed O&D trip data since this information is not available in the reservation system database 12. This secondary data is also referred to as "true origination and destination travel data" herein.

The processing of the O&D data at step 206 of FIG. 3 is set out in greater detail in FIG. 5. The flow chart of FIG. 5 is a continuation of the flow chart diagram of FIG. 4. The program instruction set 20 directs the programmable computer 14 to identify a row of true O&D data associated with the desired trip being analyzed at step 348.

Among the information usually found most useful is cost information, which can be derived from segment fare data stored in the reservation system database 12 data storage units 42, 44, 46.

The O&D Base Fare is identified in step 350, which base fare is the sum of segment fares of FIG. 3, steps 312, 314, 320, 322, 324. Under control of the program instruction set 20, the programmable computer 14 next calculates the applicable tax by multiplying the "O&D Base Fare" by the percentage of the required tax in step 352. The "Applicable Tax" is then added to the "O&D Base Fare" to derive the full "O&D Fare" at step 354.

Next, the "Origin City" and the "Destination City" codes are identified by reference to the local data storage 34 in steps 356 and 358. The respective latitude and longitude for the "Origin City" and the "Destination City" are identified by reference to the local data storage 34 in step 360. Based upon these respective latitude and longitude coordinates, the direct, or Great Circle flight distance is calculated in a convenient distance unit, such as miles or kilometers, for the distance between the "Origin City" and "Destination City," step 362. The result of this calculation is stored as "O&D Miles" in local data storage 34. The "Cost Per Mile" is then calculated in programmable computer 14 under control by the program instruction set 20, by dividing the "O&D Fare" by the "O&D Miles," step 364.

The "Origin Time" and the "Destination Time" are identified in steps 366, 368, respectively. These items must be converted to a common reference as the travel route may well extend beyond a single international time zone, and certain trips may extend in duration through a change from Daylight Savings time to Standard time, and vice-versa. Thus, the time zone and daylight savings time factors for the "Origin City" and the "Destination City" are identified from the local data storage 34 at step 370 and the trip time between the two cities is calculated in step 372, based upon time zone and daylight savings factor and the departure and arrival times. The result of this calculation is stored as the "Trip Time." Trip "Cost Per Hour" is calculated by dividing the "O&D Fare, by the "Trip Time" in step 374.

Turning now to FIG. 8, there is shown a subroutine for correcting the origin-to-destination fare, at the step represented by block 363, in generating a true origin-to-destination fare amount. The fares are processed so that the sum of the fares always equals the total invoice amount. See FIG. 6AP-AQ. From block 362 (FIG. 5), the O&D Amount is compared with a segment fare value of zero, block 365 (FIG. 8).

"IF (SUM-- OD-- FARE .GT INV-- AMT) THEN . . . " (see FIGS. 6AP-AQ);

and in block 375 (FIG. 8):

"ELSE IF (ZERO-- FARES .EQ 0) THEN . . . " (see FIGS. 6AP-AQ); and

where the O&D amount exceeds the invoice amount or is less than a minimum amount, a further comparison takes place in block 369. When there is more than one O&D zero fare segment and the itinerary does not equal zero, the subroutine proceeds to block 367;

"ELSE IF (ZERO-- FARES .EQ 1) THEN . . . " (see FIGS. 6AP-AQ);

and if the itinerary equals zero then the subroutine proceeds to block 371:

"ELSE" (see FIGS. 6AP-AQ);

At block 367, where only one of the segment fares is zero, the subroutine locates it and makes it equal to the amount missing, e.g., "subtract sum of O&D's from itinerary amount to compute missing amount".

Alternatively, where several segments reflect zero fare amounts, block 371, the total cost per mile from block 364 (FIG. 5) is used to allocate the difference between O&D's by the miles. That is, for each zero fare segment, the total cost per mile for the missing fare miles is used to calculate the individual O&D segment fare. The corrected origin-to-destination fare is output at 373.

Fare codes are common in the travel industry. Airline fare base codes, for example, are comprised of accepted industry abbreviations. These codes can be expected to vary with time and initially, among air carriers. The "Fare Base Code" is identified in step 376. The fare base code is assessed to determine the most restrictive fare rule that applies to the fare for the particular trip, step 378. For convenience in handling the true origin to destination data, equivalents of similar standard codes in current use may be produced and applied. The codes used in the present invention have been produced by Prism Group, Inc., Laurel, Md., and are called herein "FareDex" codes. These codes are the property of Prism Group, Inc. and are presented here for illustrative purposes only and are not to be viewed as limiting of the appended claims as other equivalent codes and code systems may also be used herein. Based upon the most restrictive fare rule identified in step 378, the FareDex code equal to the most restrictive rule in the "Fare Base Code" is set in step 380. FareDex codes change over time; examples of some FareDex codes are:

The "Ticketing Date" and the "Origin Date" are identified in step 382, enabling computation of the number of days between the "Ticketing Date" and the "Origin Date" to determine the number of "Advance Purchase" days, step 382.

At this stage, most of the information usually desired but not available from the available segment data has been extracted; however, additional information may be calculated with additional input, as for example, an executive's valuable time may be calculated in the cost per hour, or cost per mile calculations when the executive's salary is input by &.he operator.

Under control of the program instruction set 20, the programmable computer may be directed to repeat the procedure. If this is the case, a determination is made to determine if there is another row of O&D data at step 386. If another row of O&D data is present to be analyzed and processed, the test result is true 388, and the procedure is returned to step 300 of FIG. 4 to begin the procedure again. If no further O&D data is present, the test result is false and the procedure ends, 300.

A detailed, annotated listing of representative code illustrating one form of the program instruction set 20 with which the present invention is carried out is presented in FIG. 6. The program code listing is representative; applicant thus claims equivalent code in other program languages within the scope of the appended claims.

Four example trips, illustrated in FIGS. 7a and 7b, are described in the following cases:

Case 1

Reservation Data--Case one incorporates two non-stop segments; each segment has the complete data for the origin and destination of the flight in one row of data. The only data missing from Row 2 in this example is the passenger's name and the carrier (the carrier is shown in Row 1).

O&D Data--The O&D analyzer system 10 first enters the passenger's name and invoice number for Row 2, enabling determination of the exact flights flown by each passenger. The O&D analyzer 10 then calculates the following derived information: segment amount with tax, miles flown, cost per mile, trip time (expressed as hours and minutes), cost per hour, a translation of the fare basis code to a FareDex code, and the number of days the ticket was purchased in advance of departure.

Case 2

Reservation Data--Case two comprises one connecting flight. The origin is Newark (EWR) with one connecting stop in Chicago (ORD), continuing on to a final destination in Portland (PDX). The segment amount shown in Row 1 is 0.00 because the passenger has purchased a flight to Portland, not to Chicago. Row 2 shows the actual flight fare amount but only the second segment flight information. The price reflects the complete trip, not just the Chicago to Portland segment.

O&D Data--The O&D analyzer system 10 identifies that the To-- City in Row 1 is not the destination city. By comparing the To-City in Row 1 with the From-- City in Row 2 and the time between connections, the analyzer system determines that the flight is a connecting flight. A new row of data is written indicating that the trip is from EWR to ORD to PDX, and that the trip includes two segments. It then calculates the actual fare with tax, the distance from EWR to PDX in miles, the cost per mile, the trip time between EWR and PDX, the cost per hour for the trip, a translation of the fare base code, and the number of ticket advance purchase days.

Case 3

Reservation Data--Case 3 depicts a round trip on flights with different connecting carriers. While the trip actually included only two destinations, Newark to Phoenix and Phoenix to Newark, the data shows four flight segments.

O&D Data--The O&D Analyzer 10 rewrites the four flight segments into two origin and destination rows. Row 1 depicts the connection in Washington, D.C. at Dulles Airport: EWR IAH PHX. Row 2 shows the return flight connection to Denver: PHX DEN EWR. Additional information for each origin and destination is written for each row as is described in Case 1 and Case 2, above.

Case 4

Reservations Data--Case four shows a trip including two connecting flights to Phoenix and a return trip on one connecting flight to Newark. Although the trip includes only two destinations, the reservation format displays five rows of data.

O&D Data--Two connections are required to the first destination en route to Phoenix. The O&D analyzer 10 rewrites these three rows of data as one row with the following route: EWR 2 PHX; thus distinguishing the first trip from other trips making only one stop. The second flight including two segments is written as one origin and destination row with the route: PHX DEN LGA. Additional O&D data is then written for each row as is described in Case 1 and Case 2, above.

Having described an exemplary embodiment of the invention, it will be appreciated that various alterations, modifications, and improvements, though not expressly described hereinbefore, are nevertheless intended to be included within the scope and spirit of the invention. Accordingly, the foregoing discussion is intended to be illustrative only, and not limiting; the invention is limited only by the following claims and the equivalents thereof.