Systems and methods of displaying cruise line pricing data

In one embodiment, systems and methods of comparing pricing information may commence with a user access the cruise selling and booking system to search for cruise packages that meet a customer's preferences. The user may utilize the cruise selling and booking system to select a set of pricing options for which the customer may qualify. The user may then view detailed pricing information that corresponds to the set of pricing options in one or more of the available price matrices.

Skip to: Description  ·  Claims  · Patent History  ·  Patent History
Description
RELATED APPLICATIONS

[0001] This application claims the benefit of U.S. Provisional Application No. 60/168,871 filed Dec. 3, 1999, the disclosure of which is hereby incorporated by reference. In addition, this application is a continuation-in-part of U.S. patent application filed concurrently and entitled “SYSTEMS AND METHODS OF ON-LINE BOOKING OF CRUISES,” internal reference number TRAVL.002A, which is hereby incorporated by reference.

FIELD OF THE INVENTION

[0002] The present systems and methods relate generally to the field of on-line price comparisons and in particular concern applications designed to facilitate cruise price comparisons, reservations, booking, and customer management by travel agents as well as individual customers.

BACKGROUND

[0003] The growth of the cruise industry has created an increase in the number of passenger cruise lines that sail each year. Each cruise line offers a variety of cruise packages, and the cruise packages vary depending on destination, sailing date, cruise ship, cabin category, excursions, special discounts, and so forth. While such variety offers great selection to potential customers, finding the cruise package that best fits the customer's budget and preferences is often a difficult task. As a result, travel agents spend large amounts of time and energy sorting through the myriad of cruise information to find cruises that are of interest to the customer.

[0004] One common problem is that conventional approaches make it difficult to analyze cruise package pricing information namely because there is a large amount of pricing data associated with each cruise package. For example, a cruise package's pricing data may be based on varying factors such as cabin type, cabin location, number of persons per cabin, group block discounts, and so forth. Sorting through such data is difficult and arduous.

[0005] Another common problem is that the cruise package pricing information is constantly changing. As occupancy levels change for each cruise ship, the price data may vary to reflect the changes. For example, a cruise ship with a low occupancy rate may reduce prices to try and encourage sales; whereas a cruise ship with a high occupancy rate may increase its prices to reflect the high demand. Additionally, a cruise ship set to sail in a short amount of time may release available cabins at reduced rates to attempt to fill the vacancies. This constant changing of price data makes it difficult to find accurate cruise package pricing information.

[0006] An additional problem is that travel agents spend large amounts of time determining the preferences of each individual customer, finding cruise packages that meets the customer's needs, and booking the cruise package. A travel agent spends, on average, well over one hour with each customer manually sifting through piles of paper documentation and is constantly on the phone with cruise lines to get current information, such as availability and pricing.

[0007] Thus, the large amount of data coupled with the constant changing of the prices makes it difficult and time consuming to retrieve, analyze, and compare various cruise packages.

SUMMARY OF THE INVENTION

[0008] One embodiment of the present invention is a method of presenting cruise pricing information for display by a plurality of web browser programs, wherein the method utilizes a cruise web server environment to electronically communicate via a data communications network with a plurality of remote users using the web browser programs and the cruise pricing information includes real-time pricing and availability data. The method comprises receiving a selected cruise sailing from a remote user's web browser program, identifying rate options stored in an electronic cruise line database that correspond to the selected cruise sailing, and sending the rate options to the remote user's web browser program. The method also comprises receiving a set of selected rate options from the remote user's web browser program and identifying cabin pricing categories stored in the electronic cruise line database that correspond to the selected cruise sailing and the set of selected rate options. The method further comprises obtaining cruise price information from the electronic cruise line database that corresponds to the cabin pricing categories and preparing cruise price information for display in a price summary as part of an electronic document by the remote user's web browser.

[0009] Another embodiment of the present invention is a method of filtering cruise pricing information for display to a remote user's web browser program utilizing a cruise web server environment to electronically communicate with a the remote user's web browser program via a data communications network. The method comprises receiving a selected cruise sailing from the remote user's web browser program, identifying rate options stored in an electronic database that correspond to the selected cruise sailing, and sending the rate options to the remote user's web browser program for display as an electronic document. The method also comprises receiving a set of selected rate options from the remote user's web browser program and using the set of selected rate options to retrieve pricing information from the electronic database that corresponds to the selected cruise sailing and to formulate a query that filters the pricing information based at least upon the selected rate options.

[0010] An additional embodiment of the present invention is a method of requesting cruise price information using a web browser program to electronically communicate with a remote cruise web server system via a data communications network, wherein the cruise price information includes real-time pricing and availability data. The method comprises sending a first request for information on a cruise sailing to the remote cruise web server system and receiving a price matrix display of cruise price information corresponding to the cruise sailing from the remote cruise web server system, wherein the price matrix display is displayed in the web browser program as an electronic document.

[0011] Another embodiment of the present invention is a method of requesting cruise price information using a web browser program to electronically communicate with a remote cruise web server system via a data communications network. The method comprises sending a first request for information on a cruise sailing to the remote cruise web server system and receiving a set of rate options corresponding to the cruise sailing from the remote cruise web server system. The method also comprises sending a selection of rate options from the set of rate options and receiving a price matrix display of cruise price information corresponding to the cruise sailing from the remote cruise web server system, wherein the cruise price information corresponds to the selection of rate options and the price matrix display is displayed in the web browser program as an electronic document.

[0012] An additional embodiment of the present invention is a method of filtering cruise price information using a web browser program to electronically communicate with a remote cruise web server system via a data communications network. The method comprises sending a first request for information on a cruise sailing to the remote cruise web server system, receiving a set of rate options corresponding to the cruise sailing from the remote cruise web server system and wherein the set of rate options are formatted for display as an electronic document by the web browser program. The method also comprises selecting a selection of rate options from the set of rate options and sending the selection of rate options to the remote cruise web server system.

[0013] Another embodiment of the present invention is a method of using a computer to enable a remote user to compare cruise package pricing information from a cruise booking web server system, wherein the remote user electronically communicates with the cruise booking web server system using a web browser program via a data communications network and at least a portion of the cruise package pricing information includes real-time pricing and availability data. The method comprises receiving a request for cruise price information for at least two cruises from the remote user's web browser program, preparing the cruise price information for display in an electronic document that includes a price summary matrix, and sending the price summary matrix to the remote user's web browser program.

[0014] An additional embodiment of the present invention is a network node in a network comprising a user node having a browser program coupled to the network, the user node providing requests for information on the network. The network node comprises a cruise booking node responsive to a request for cruise price information for at least two cruises from the user node wherein the cruise booking node provides the user node with a price summary of the cruise price information.

[0015] Another embodiment of the present invention is a system for displaying cruise price information implemented in a web server environment wherein a plurality of remote users communicate with the system via a data communications network using web browser programs. The system comprises an electronically stored data structure of cruise price information wherein the cruise price information includes information from different cruise lines, a program module configured to receive requests for cruise information from a remote user's web browser program, and a program module configured to obtain cruise price information from the electronically stored data structure based at least upon a price summary request. The system also comprises a program module configured to prepare cruise price information for a display as a price summary in an electronic document and a program module for outputting the prepared cruise price information to the remote user's web browser program.

[0016] An additional embodiment of the present invention is a method for analyzing cruise package pricing category information utilizing a cruise web server environment to electronically communicate via a data communications network with a plurality of remote users using web browser programs. The method comprises receiving a set of rate options from a remote user's web browser program, obtaining cruise package information relating to the set of rate options from an electronic database of cruise pricing information, and outputting the cruise package information in a pricing table for display by the remote user's web browser program.

[0017] Another embodiment of the present invention is a network node in a network comprising a user node having a browser program coupled to the network, the user node providing requests for information on the network. The network node comprises a cruise booking node responsive to a request from the user node, wherein the cruise booking node queries an electronic database of cruise information for cruise package information that relates to a set of rate options received from said user node and forwards the cruise package information to the user node.

[0018] An additional embodiment of the present invention is a system for analyzing cruise package information implemented in a web server environment wherein a plurality of remote users utilize web browser programs to electronically communicate with the system via a data communications network. The system comprises an electronically stored data structure of cruise price information wherein the cruise price information includes information from different cruise lines and a program module configured to receive a set of rate options from a remote user's web browser program. The system also comprises a program module configured to obtain real-time cruise price information from the electronically stored data structure, wherein the obtained real-time cruise price information relates to the set of rate options and a program module for outputting cruise package information in a price summary for display by the remote user's web browser program.

[0019] Another embodiment of the present invention is a system for comparing cruise package pricing options implemented in a web server environment wherein a plurality of remote users utilize web browser programs to electronically communicate with the system via a data communications network. The system comprises a cruise sailing selection software component configured to receive a request for cruise pricing information for a selected sailing from a remote user's web browser program and a pricing options software component configured to search for a set of pricing options that correspond to the selected sailing in an electronic database of cruise information, to send the set of pricing options to the remote user's web browser program, and to receive a set of selected pricing options from the remote user's web browser program. The system also comprises a pricing category software component configured to search for cruise pricing information in the electronic database of cruise information, wherein the cruise pricing information relates to the set of selected pricing options and a display software component configured to process and format the cruise pricing information for display in a pricing matrix by the remote user's web browser program, wherein the pricing matrix is organized at least in part by the pricing categories.

[0020] An additional embodiment of the present invention is a system for comparing cruise package pricing options implemented in conjunction with a web browser program, wherein the web browser program electronically communicates with a remote cruise web server via a data communications network. The system comprises a cruise sailing selection software component configured to send requests for real-time cruise pricing information to the remote cruise web server, wherein the real-time cruise pricing information is organized into pricing categories, a pricing options selection software component configured to send requests to the remote cruise web server for filtering the cruise pricing information based at least upon a set of selected pricing options, and a display software component configured to receive the requested filtered, real-time cruise pricing information from the remote cruise web server and to display the filtered, realtime cruise pricing information using the web browser program in a pricing matrix, wherein the pricing matrix is organized at least in part by the pricing categories.

[0021] Another embodiment of the present invention is a method of presenting cruise pricing information user's web browser program utilizing a cruise web server environment to electronically communicate with a the remote user's web browser program via a data communications network. The method comprises means for receiving a selected cruise sailing from a remote user's web browser program, means for identifying rate options stored in an electronic database that correspond to the selected cruise sailing, and means for sending the rate options to the remote user's web browser program for display as an electronic document. The method also comprises means for receiving a set of selected rate options from the remote user's web browser program and means for identifying cabin pricing categories stored in the electronic database that correspond to the selected cruise sailing and the set of selected rate options. The method further comprises means for obtaining cruise price information from the electronic database that corresponds to the cabin pricing categories and means for preparing cruise price information for display by the remote user's web browser program in price summary.

[0022] An additional embodiment of the present invention is a method of requesting cruise price information using a web browser program to electronically communicate with a remote cruise web server system via a data communications network. The method comprises means for sending a first request for information on a cruise sailing to the remote cruise web server system and means for receiving a set of rate options corresponding to the cruise sailing from the remote cruise web server system, wherein the set of rate options are formatted for display as an electronic document by the web browser program. The method also comprises means for sending a selection of rate options from the set of rate options to the remote cruise web server and means for receiving a price matrix display of cruise price information corresponding to the cruise sailing from the remote cruise web server system, wherein the cruise price information corresponds to the selection of rate options.

[0023] For purposes of summarizing the invention, certain aspects, advantages, and novel features of the invention are described herein. It is to be understood that not necessarily all such advantages may be achieved in accordance with any particular embodiment of the invention. Those skilled in the art will recognize that the invention may be embodied or carried out in a manner that achieves one advantage or group of advantages as taught herein without necessarily achieving other advantages as may be taught or suggested herein.

BRIEF DESCRIPTION OF THE DRAWINGS

[0024] These and other features will now be described with reference to the drawings summarized below. These drawings and the associated description are provided to illustrate embodiments of the invention and not to limit the scope of the invention. Throughout the drawings, reference numbers are re-used to indicate correspondence among referenced elements. In addition, the first digit of each reference number indicates the figure in which the element first appears.

[0025] FIG. 1 illustrates a high-level block diagram of one embodiment of the present invention.

[0026] FIG. 2A illustrates a high-level block diagram of one embodiment of the present invention.

[0027] FIG. 2B illustrates a high-level block diagram of an additional embodiment of the present invention.

[0028] FIG. 3A illustrates a high-level block diagram of one embodiment of the present invention.

[0029] FIG. 3B illustrates a high-level block diagram of an additional embodiment of the present invention.

[0030] FIG. 4 illustrates a high-level block diagram of a price comparison module.

[0031] FIG. 5 illustrates one embodiment of a pricing options display.

[0032] FIG. 6 illustrates one embodiment of a pricing matrix.

[0033] FIG. 7 illustrates an additional embodiment of a pricing matrix.

[0034] FIG. 8 illustrates an additional embodiment of a pricing matrix.

[0035] FIG. 9 illustrates one embodiment of a flow chart of a pricing options selection process.

[0036] FIG. 10 illustrates one embodiment of a flow chart of a price matrix process.

DETAILED DESCRIPTION

[0037] Systems and methods which represent various embodiments and example applications of the invention will now be described with reference to the drawings. Variations to the systems and methods which represent other embodiments will also be described. In one disclosed embodiment, the systems and methods are used to provide pricing information and is described in the context of a cruise selling and booking system. The inventors contemplate that the present invention is not limited by the type of environment in which the pricing information is provided and that other types of environments may be used, such as, for example, a real estate system, an airline travel system, a car rental system, a car sales system, as well as any other type of system that sells and/or provides pricing information about various products and/or services. The figures and descriptions, however, relate to embodiments of the invention wherein the pricing information relates to cruise packages.

[0038] The present invention relates to systems and method for comparing multiple sets of pricing information. One embodiment of the invention includes a system for displaying subsets of pricing information in table format wherein the pricing information may be readily compared with other sets of data.

[0039] One benefit of one embodiment is that users may select among a variety of pricing options permitting users to narrow the range of pricing information which is displayed. In some instances, a particular customer may not qualify for certain pricing options and thus, such options may be excluded from the pricing display.

[0040] Another benefit of one embodiment is that users are presented with a price matrix of relevant pricing data. The users may select pricing options for which the customer may qualify and are presented with corresponding pricing information for the selected pricing options in a discrete price matrix. The price matrix displays two or more sets of pricing data enabling the users to compare the details of the pricing data.

[0041] An additional benefit of one embodiment it that the users may view various types of price matrices depending on the individual customer and/or the amount of data.

[0042] A further benefit of one embodiment is that as the pricing options, prices, and availability change, the changes are reflected in the user's displays. The user is presented with up-to-date, current information.

[0043] An additional benefit of one embodiment is that the customer is able to find and book cruises in a more efficient manner saving the travel agent and/or the customer time. The cruise selling and booking system provides a tool for readily accessing up-to-date, accurate cruise information without spending the large amount of time often required when telephoning the cruise lines one-by-one to collect cruise information and to book a cruise.

[0044] In one embodiment, these features are integrated into a cruise selling and booking system that assists agents and customers with finding cruises that meet the customers' preferences. Furthermore, the cruise selling and booking system facilitates the ability of the customers and agents to compare accurately the various cruise pricing data.

I. Overview

[0045] In one embodiment, the systems and methods may be used in the context of a cruise selling and booking system 110. FIG. 1 illustrates the cruise selling and booking system 110 of one embodiment wherein a plurality of customers, agents, and cruise lines interact with a cruise selling and booking system 110 via communication mediums 120 such as the Internet 125. Cruise lines may interact directly with the cruise selling and booking system 110 and/or via a cruise line interface system 130 that stores information for one or more cruise lines. The cruise selling and booking system 110, in the illustrated embodiment, provides an interactive tool for compiling, reviewing, and processing information obtained from the cruise lines, customers, and agents. The customer is provided with information about various cruises packages and may book a cruise package utilizing components of the cruise selling and booking system 110 through interaction with an agent.

[0046] Using the agent computer 240, as illustrated in FIG. 2A, the agent accesses the components of the cruise selling and booking system 110 to find information about the customer, to provide the customer with information about cruise sailings from the cruise line database 234, and to book cruise packages as desired by the customer. Additionally, the agent may select various pricing options for which the customer qualifies and then view the cruise pricing information that corresponds to the selected pricing options using one or more of the price matrices.

[0047] In one embodiment, a customer may also access the cruise selling and booking system 110 without necessarily interacting with an agent as illustrated in FIG. 2B. For example, a customer may access the cruise selling and booking system 110 via a web based service by utilizing a standard web browser on his own computer to connect to the cruise selling and booking system 110 web page. In one embodiment, should the customer desire the assistance of an agent, the cruise selling and booking system 110 may store the information entered by the customer in the database collection 230. An agent with access to the cruise selling and booking system 110 may subsequently retrieve the information. This feature provides improved customer/agent interactivity by saving the customers from repeating information which was previously stored in the cruise selling and booking system 110 to each agent with whom they interact. As it is recognized that both customers and agents may access the cruise selling booking system, the term “users” will be used herein to refer to customers and/or agents.

[0048] In one embodiment, a system and method of comparing pricing information may commence with a user accessing the cruise selling and booking system 110 to search for cruise packages that meet a customer's preferences. The user may utilize the cruise selling and booking system 110 to select a set of pricing options for which the customer may qualify. The user may then view detailed pricing information that corresponds to the set of pricing options in one or more of the available price matrices.

[0049] Pricing options, also referred to as rate options, are the representative pricing categories that a user may select for the customer. These pricing options may include discounts associated with package deals for air and extended stay vacations as well as other incentive packages that a customer may select prior to booking. Other examples include local resident discounts, senior discounts, child traveling rates, weekend getaway rates, group rates, and so forth. Each cruise line has a variety of pricing options that set the prices for the multiple categories of cabins of the various cruise sailings and cruise ships. Travel agents use the pricing options along with other pricing information to find the best rate for the customers while at the same time maximizing their own commission. Due to the large number of possible pricing options for each of the multiple cabin categories, it is often useful for the agent to limit the pricing information of each sailing to a smaller subset of information based on the customer's profile and preferences. In one embodiment, the number of pricing options that may be selected may be restricted (e.g. to four or five). In another embodiment, the pricing options presented to the user may reflect current availability of the cabins and/or cabin categories such that if a pricing option has expired or has been used up, the pricing option is not presented to a user.

[0050] Price matrices, also referred to as cruise detail displays, display information for the categories of each cruise sailing allowing the user to select individual categories as well as limit the display to selected categories by filtering out excess information. The price matrices display prices for the available cabin categories of the designated sailings and the selected pricing options. The information may include real-time data such that as the prices are changing, the prices presented to the user reflect the changes.

[0051] In one embodiment, the price matrices may be adjusted, by reducing the number of viewed items and/or displaying additional detailed information regarding a specific sailing. Furthermore, in one embodiment, the price matrices include features that give the user access to more detailed information about the categories or the sailings. This information may include, for example, locations of cabins, lounges, and entertainment on any selected ship. In one embodiment, the user may switch between a variety of price matrices such as, for example, a price matrix with the “best price” information, a price matrix with detailed information, a price matrix with airfare information, and so forth.

II. Cruise Selling and Booking System

[0052] An overview of one embodiment of a cruise selling and booking system 110 is shown in FIG. 2A. In the exemplary system, a customer communicates with an agent via telephone and the agent uses a computer (hereinafter “agent computer 240”) to connect to the Internet 125 to communicate with the cruise selling and booking system 110. While the figure illustrates communication between the agent and customer via telephone, it is recognized that the communication between the customer and the agent may take any of a number of forms including in-person conversations, mailed correspondence, e-mail, facsimile, and so forth. Additionally, the customer may use a computer (hereinafter “customer computer 250”) to interact with the agent through online methods which may include email correspondence, live “chat” methods, dedicated software programs designed to facilitate online communication, and the like.

[0053] In one embodiment, the cruise selling and booking system 110 includes a server component 210, a cruise selling and booking component 220, and a database collection 230. In one embodiment, the database collection 230 includes a customer database 232, a cruise line database 234, an activity database 236, an agent database 238. It is recognized that the information stored in the database collection 230 may be discretely stored in multiple independent databases, combined in a single database, or a combination thereof.

[0054] In one embodiment, the pricing options and price matrices may be used as part of a cruise sailing and booking system wherein the user chooses at least two pricing options and views the corresponding detailed pricing information in a set of price matrices. These price matrices represent various pricing schemes of the various cruise lines and their cruise sailings. For example, the user may select specific cruise sailings from the list of available cruise lines. Next, the user is presented with pricing options that correspond to the selected sailing. The user may then select a set of pricing options. The user is then presented with a price matrix that includes information pertaining to the selected pricing options. From the price matrix, the user may view cruise package and pricing information for selected categories in a side-by-side comparison, also known as the compare display.

[0055] In one embodiment, the agents and/or customers interact with computers to access the cruise selling and booking system 110 via communication mediums 120.

A. Communication Mediums

[0056] The communication mediums 120 as shown in FIGS. 2A and 2B include the Internet 125. The Internet 125 is a global network of interconnected computers capable of sending and receiving information between one another. The structure of the Internet 125, which is well known to those of ordinary skill in the art, includes a network backbone comprising communications channels such as copper wire, optical fiber, or satellite based interconnections between numerous computers, hubs, and routers which control, direct, and maintain information passed between computers. Additional networks branch from the above-mentioned backbone, and these branches, in turn, have sub-networks branching from them, and so on. Typically, information is passed through the network in the form of packets which are discrete pieces the information desirably sent through the network. These packets of information are encoded in a form interpretable by the network infrastructure and may support features such as data compression, encryption, and error correction to optimize the speed and efficiency by which the information is transferred. For a more detailed description of the structure and operation of the Internet 125, please refer to “The Internet Complete Reference,” by Harley Hahn and Rick Stout, published by McGraw-Hill, 1994.

[0057] One popular segment of the Internet 125 is the World Wide Web (or Web). The World Wide Web comprises many thousands of computers which utilize the Internet 125 infrastructure to serve and distribute information. Typically, a server system is capable of two-way communication with other computers and can desirably send information to other computers which request the information or content stored on the server system. The information stored on the server system is typically interpreted using a software package known as a browser, which is capable of displaying graphical, textual, audio and/or visual information.

[0058] Some of the server systems, which provide information on the World Wide Web, are often referred to as “websites” and interact with other computers on the World Wide Web. Generally, each website has an associated electronic page or series of electronic pages which the server sends to those computers requesting the information. The requested information generally takes the form of an electronic page (or web page) encoded in one or more specific languages that is interpreted by the requesting computer and the browser which it runs. Several such languages commonly used by web servers include, but are not limited to, Hypertext Markup Language (“HTML”), JAVA, JAVA Script, Extensible Markup Language (“XML”), Active Server Pages (“ASP”), and CGI scripting. The web page provides the requesting computer with a document that organizes the presentation of the information into a display using text, graphical images, audio, and/or video. Furthermore, the computer, on which the online document is viewed, may communicate with the website by sending and receiving information through interface objects such as, for example, fields, buttons, pull down menus, and key entered commands. For a more detailed description on the World Wide Web, please refer to “How to Set Up and Maintain a World Wide Web Site” by Lincoln D. Stein, published by Addison-Wesley Publishing Company, 1995.

[0059] One of ordinary skill in the art will recognize that the communication mediums 120 may be advantageously be comprised of one or more types of networks without detracting from the invention. The communication mediums 120 may include, by way of example, local area networks (“LANs”), wide area networks (“WANs”), public internets, private internets, a private computer network, a secure internet, a private network, a public network, a value-added network, interactive television networks, wireless data transmission networks, two-way cable networks, interactive kiosk networks, digital subscriber lines, cable modem lines, and the like. The disclosed invention is thus suitable for providing connectivity through many different forms of communication mediums 120, however, it will be further discussed in the context of connecting through the Internet 125. In addition, it is recognized that one or more networks may be used to access the cruise selling and booking system 110. For example, a customer may interact with the cruise selling and booking system 110 via the Internet 125, an agent may interact with the cruise selling and booking system 110 via a LAN, and/or the cruise lines may interact with the cruise selling and booking system 110 via a wireless data transmission network. In another embodiment, the customers, agents, and cruise lines may all access the cruise selling and booking system 110 via the Internet 125.

B. User Computer

[0060] The agent computer 240 and/or customer computer 250 (“user computers 240, 250”) shown in FIGS. 2A and 2B are devices that allow the customer or agent to interact with cruise selling and booking system 110 via the communication mediums 120. In one embodiment, the user computer 240, 250 is a conventional personal computer equipped with a modem, Ethernet card, or other component which allows the computer to send and receive information through the communication mediums 120. Preferably, the user computer 240, 250 runs an appropriate operating system such as the Microsoft® Windows® 3.1, Microsoft(t Windows® 98, Microsoft® Windows® 98 Second Edition®, Microsoft® Windows® Millennium Edition®, Microsoft® Windows® NT, Microsoft® Windows® 2000, Microsoft® Windows® CE, PalmOS®, Apple® MacOS®, Linux®, Solaris®, IRIX®, UNIX®, or IBM® OS/2® operating systems. As is conventional, a preferred operating system further includes a TCP/IP stack or other communications protocol which handles all incoming and outgoing message traffic passed over the communication mediums 120.

[0061] In other embodiments, the user computer 240, 250 may, for example, be a computer workstation, a local area network of individual computers, an interactive television, an interactive kiosk, a personal digital assistant, an interactive wireless communications device, cellular phone, or the like which interacts with the communication mediums 120. While in such systems, the operating systems may differ, the various operating systems may continue to provide the appropriate communication protocols needed to establish communication links with the communication mediums 120.

[0062] In one embodiment, the user computer 240, 250 utilizes several operational modules (not shown) including a customer or agent browser module. The browser module is a software program which allows a consumer to access different content providers through the communication mediums 120. In one embodiment, the browser module is the Netscape® Navigator developed by Netscape, Inc. or the Microsoft® Internet Explorer developed by Microsoft Corporation. One of ordinary skill in the art, however, will recognize that numerous other types of access software may also be used to implement an embodiment of the present invention. These other types of access software may, for example, include other types of Internet browsers, custom network browsers, two-way communications software, cable modem software, point-to-point software, and the like.

[0063] While the agent computer 240 and customer computer 250 are referred to as user computers 240, 250, it is recognized that the agent computer 240 and the customer computer 250 may be implemented using different or the same hardware and/or software.

C. Cruise Selling and Booking System

[0064] In one embodiment, the cruise selling and booking system 110 includes a server component 210, a cruise selling and booking component 220, and a database collection 230 as illustrated in FIG. 3A.

[0065] As used herein, the words component and module refer to logic embodied in hardware or firmware or to a collection of software instructions, possibly having entry and exit points, written in a programming language, such as, for example, C++, VISUAL BASIC, JAVA, C, FORTRAN, JAVA Script, and so forth. A software component/module may be compiled and linked into an executable program, or installed in a dynamic link library, or may be written in an interpretive language such as BASIC. It will be appreciated that software components/modules may be callable from other components or from themselves, and/or may be invoked in response to detected events or interrupts. Software instructions may be embedded in firmware, such as an EPROM. It will be further appreciated that hardware components/modules may be comprised of connected logic units, such as gates and flip-flops, and/or may be comprised of programmable units, such as programmable gate arrays or processors. The components described herein are preferably implemented as software components/modules, but may be represented in hardware or firmware.

1. Server Component

[0066] In one embodiment, the cruise selling and booking system 110 includes a server component 210, as shown in FIG. 3A, that interacts with the cruise selling and booking component 220 and with the user computers 240, 250 via the communication mediums 120. The server component 210 may be configured to process messages from the user computer, to send requests to the cruise selling and booking component 220, and to send response messages to the user computer.

[0067] In one embodiment, the server component 210 is implemented as a web server which serves content over the Internet 125 using languages such as, the Hyper Text Markup Language (“HTML”). The web server may accept requests from browsers, such as, for example, the Netscape® Navigator or the Microsoft® Internet Explorer, and return the requested document(s) to the browsers. The web server may also utilize scripting programs, such as, for example, CGI scripts, SSL security, and Active Server Pages (“ASP”) to provide additional functionality. A wide variety of web servers may be used to implement the server component 210, such as, for example, AOLserver, the Apache server, the iServer, Microsoft IIS v5.0 server, Microsoft Site server, Netscape Enterprise server, WebSite Pro server, Xitami server, and so forth. Furthermore, the server component 210 may also be implemented using a variety of other servers, such as, for example, the BlueStone Sapphire server, the Interop server, a Netscape Server, an Oracle server, a SilverStream server, the Sybase Enterprise Server, the WebObjects server, and so forth. In addition, the server component 210 may be implemented using a variety of computer systems, such as, for example, a conventional general purpose computer using one or more microprocessors, such as, for example, a Pentium processor, a Pentium II processor, a Pentium Pro processor, an xx86 processor, an 8051 processor, a MIPS processor, a Power PC processor, or an Alpha processor, running a variety of platforms, such as, for example, Mac OS, OpenLinux, Red Hat Linux, Sun Solaris, SGI IRIX, Novel NetWare, Windows NT Server 4.0, and/or Windows 2000 Server.

2. Cruise Selling and Booking Component

[0068] In one embodiment, the cruise selling and booking system 110 includes a cruise selling and booking component 220, as shown in FIG. 3A, that interacts with the server component 210 and the database collection 230. In other embodiments, it is recognized that the cruise selling and booking component 220 may also interact with external sources, such as, for example, proprietary cruise line systems, banking/financial systems, other travel agencies, external databases, and so forth. In one embodiment, the cruise selling and booking component 220 processes search requests from the server component 210, queries the database collection 230 and/or external sources for requested information, receives the query results from the various sources, processes the results, compiles the results into a set of data, and formats the results for presentation to the user via the server component 210.

[0069] The exemplary cruise selling and booking component 220 of FIG. 3A includes a cruise selling and booking process 310, a customer module 320, a cruise module 330, and a booking module 340. The cruise selling and booking process 310 guides the user through searching for cruise packages and booking a selected package. The exemplary customer module 320 includes a customer add process 322 that adds new customers to the customer database 232, a customer search process 324 that queries the customer database 232, and a customer update process 326 that updates an existing customer's information. The exemplary cruise module 330 includes a cruise information add process 332 that adds information about the cruise lines, the cruise ships, the cruise sailings, and/or the cruise packages to the cruise database, a cruise search process 334 that queries the cruise database, a cruise qualification process 336 that receives a set of cruise preferences and finds cruise sailing and/or cruise price information that matches the set of cruise preferences, and a cruise comparison process 338 that receives identifiers for multiple cruise sailings or packages and returns detailed information about the identified objects in a comparison format. The exemplary booking module 340 includes a cruise booking process 342 that receives cruise reservation/booking information and books the corresponding cruise package, and a cruise payment process 344 that receives cruise payment information and forwards the payment information to the appropriate entity.

[0070] An additional embodiment of a cruise selling and booking component 220 is illustrated in FIG. 3B. In addition to the customer module 320, the cruise module 330, and the booking module 340, the cruise selling and booking component 220 also includes an agent ownership module 350 configured to track and manage agent of record relationships, a customer qualification module 360 configured to match a customer's preferences with a variety of cruise package options, a price comparison module 370 configured to present the user with pricing options and to provide price matrices of detailed pricing information, and a comparison module 380 configured to provide side-by-side comparisons of various cruise package and pricing information.

[0071] It is recognized that in other embodiments, the cruise selling and booking component 220 may include other processes (not shown) that provide information from the database collection 230 as well as other external sources.

[0072] The cruise selling and booking component 220 may be implemented using a variety of software and hardware components. For example, the cruise selling and booking component 220 may include a set of electronic page documents that are written in HTML code, ASP scripts, and so forth. As is well known in the art, standard HTML documents are web documents wherein the structure and layout are defined by a variety of tags and attributes and are capable of being read by standard browsers. Active Server Pages (“ASP”) is a server-based, script language developed by Microsoft Corporation that allows for the dynamic generation of HTML code via server and client program scripts. Rather than maintain separate script programs and electronic page documents, the script programs may be embedded in the active server pages to form a set of “smart” electronic page documents. As is well known in the art, ASP documents do not need to be compiled, they can run on any browser, and may allow the transfer of information from the database collection 230. For a more detailed description of Active Server Pages, please refer to “ASP in a Nutshell: A Desktop Quick Reference,” by A. Keyton Weissinger, published by O'Reilly & Associates, Inc., 1999.

[0073] In addition, the cruise selling and booking component 220 may include additional software modules programmed in variety of languages for processing user requests, performing data lookup, compiling sets of data, formatting data, and so forth.

[0074] In one embodiment, the cruise selling and booking component 220 is implemented on the same component as the server component 210, though it is recognized that in other embodiments, the cruise selling and booking component 220 may be implemented in a separate component. For more information on the types of computers and/or platforms that may be used to implement the cruise selling and booking component 220, please see the section above entitled “Server Component.”

3. Database Collection

[0075] In one embodiment, the cruise selling and booking system 110 includes a database collection 230, as shown in FIGS. 3A and 3B, that stores data about the customers, the cruises lines, the activities, and the agents. The exemplary database collection 230 includes four databases, a customer database 232, a cruise line database 234, an activity database 236, and an agent database 238.

[0076] The customer database 232 includes information about the customers. Such information may include name, address, phone number, cruise history, cabin preference, family information, age, travel destination preference, as well as other travel-related information.

[0077] The cruise line database 234 may include information about various cruise lines, various cruise ships, and various cruise sailings. The information about specific sailings may further include information such as ship name, number, sailing destination, departure dates, number of cabins, cabin categories, dining room capacity, viewable maps of the ship, as well as other detailed cruise line information. In addition, the cruise line database 234 may include information such as cabin availability and pricing data. In one embodiment, the cruise line database 234 data may be entered manually by a travel agent or downloaded/received from the cruise lines and/or other sources.

[0078] In one embodiment, the cruise line database 234 enables information about the various cruise lines to be stored in a single database or database collection. The cruise lines have a myriad of data that is organized differently according to each cruise line. For example, the cruise lines tend to use their own proprietary naming and pricing schemes; they individually select how the data is selected, stored, and configured; and some cruise lines may provide data that other cruise lines do not. For example, many cruise lines use their own system for categorizing cabins and have also use their own pricing schemes.

[0079] In some embodiments, the cruise line database 234 may normalize all of the data from the various cruise lines into a uniform system. In other embodiments, the cruise line database 234 may be configured to accommodate a wide variety of data. For example, the cruise line database 234 may include a table of categories in which each cruise line may have its own unique set of categories ranked from most luxurious to most economical thus maintaining the individuality of each cruise line while at the same time enabling the various cruise line data to be compared. The cruise line database 234 may, for example, provide pricing information for the most luxurious cabins for cruise sailings on Cruise Line A and Cruise Line B even though the cruise lines use different cabin naming nomenclature and different category structures.

[0080] The activity database 236 includes information about the activities in the cruise selling and booking system 110. These activities may include brochures, leads, quotes, reservations, bookings, as well as other ongoing activity information. In one embodiment, the activity database 236 is closely linked with the customer database 232, the cruise line database 234, and the agent database 238.

[0081] The agent database 238 includes information about the agents that use the cruise selling and booking system 110. Agent information may include the agents' logins, passwords, access privileges, company, address, phone numbers, booking history, current commission, and so forth.

[0082] While the database collection 230 depicted in FIGS. 3A and 3B includes four separate databases, it is recognized that in other embodiments, the database collection 230 may include other databases and/or some of the exemplary databases may be combined.

[0083] In one embodiment, the database collection 230 may be implemented with Structured Query Language (“SQL”) code. The structured query language is a language standardized by the International Standards Organization (“ISO”) for defining, updating, and querying a relational database. It is recognized however, that other code may be used to access the database collection 230. For example, in one embodiment, the database collection 230 may interact with various accessory programs to store, retrieve, and process the information of the databases, such as, for example, dynamic link libraries (“DLLs”). DLLs (not shown) may interact with the server component 210, the cruise selling and booking component 220, and the database collection 230 directly, or with the database collection 230 via a database manipulation module, such as, for example, a Microsoft Database Access Object (“DAO”). The execution of the DLL may be called automatically from within the scripts or routines of the web page documents as needed and may not necessarily require the customer or agent explicitly launch a separate program or series of programs.

[0084] In one embodiment, the database collection 230 is implemented using a relational database, such as, for example, those sold by Oracle Corp. or Sybase. It is recognized however that other relational databases may be used and/or other types of databases may be used, such as, for example, object oriented databases, flat file databases, and so forth. Furthermore, the database collection 230 may be implemented as a single database with separate tables or as other data structures that are well know in the art such as linked lists, binary trees, and so forth.

[0085] In one embodiment, the database collection 230 is implemented as a separate component or separate components from the cruise selling and booking component 220 and/or the server component 210, though it is recognized that in other embodiments, the database collection 230 may be implemented on the same component as the cruise selling and booking component 220 and/or the server component 210. For more information on the types of computers and/or platforms that may be used to run the database collection 230, please see the section above entitled “Server Component.”

[0086] As noted above, one embodiment that is implemented using a web server (“web server environment”) provides several advantages. First, the web server environment does not require any dedicated hardware or software to be installed on the customer or agents computer which will utilize the cruise selling and booking system 110. This advantage may apply to both customers and agents in that they do not have the burden of expense normally associated with purchasing or licensing a dedicated system. Second, maintenance and upgrades of the cruise selling and booking system 110 may be centrally administrated and automatically processed with little or no intervention by those using the cruise selling and booking system 110. For example, the cruise line database 234 may be updated without the customer's knowledge. In addition, each computer which connects to the cruise selling and booking system 110 automatically receives and connects with the most appropriate software as determined by the web server of the cruise selling and booking system 110. In addition, the interactive interface of the cruise selling and booking system 110, like many interactive web pages, uses the familiar environment of a web browser running on the computer the customer or agent uses, thus, minimizing the learning time required to operate and become proficient with the cruise selling and booking system 110.

[0087] A detailed description of embodiments of a cruise selling and booking system 110 is disclosed in a concurrently filed application having the title “SYSTEMS AND METHODS OF ON-LINE BOOKING OF CRUISES,” internal reference number TRAVL.002A, which is incorporated herein by reference. A detailed description of embodiments of a compare display is disclosed in a concurrently filed application having the title “SYSTEMS AND METHODS OF COMPARING PRODUCT INFORMATION,” internal reference number TRAVL.017A, which is incorporated herein by reference. A detailed description of one embodiments of managing agent ownership is disclosed in a concurrently filed application having the title “SYSTEMS AND METHODS OF MAINTAINING CLIENT RELATIONSHIPS,” internal reference number TRAVL.019A, which is incorporated herein by reference. A detailed description of embodiments of qualification is disclosed in a concurrently filed application having the title “SYSTEMS AND METHODS OF MATCHING CUSTOMER PREFERENCES WITH AVAILABLE OPTIONS,” internal reference number TRAVL.020A, which is incorporated herein by reference.

III. Price Comparison Module

[0088] In one embodiment, the cruise selling and booking system 110 includes a price comparison module 370 used to present the user with available pricing options and to provide price matrices of real-time, detailed pricing and availability information.

[0089] FIG. 4 illustrates one embodiment of a price comparison module 370 which includes a pricing options selection process 410 and a price matrix process 420. For more information on the price comparison processes, please refer to the section below entitled “Price Comparison Processes.” In one embodiment the price comparison module 370 may be implemented as part of the cruise selling and booking component 220 and may interact with the server component 210 and the database collection 230.

[0090] In one embodiment, the price comparison module 370 may utilize several resources to find available pricing options as well as pricing information. For example, the price comparison module 370 may query the database collection 230 for customer information stored in the customer database 232, such as, for example, number of passenger, age of passengers, home gateway city, past destinations, credit approval, and so forth. The customer information may be used to qualify each customer for various steps in the process of purchasing a cruise. In addition, the price comparison module 370 may also query the database collection 230 for cruise line information stored in the cruise line database 234, such as, detailed information about the cruise lines, the cruise ships, as well as category information and pricing information. The price comparison module 370 may also query outside sources, such as, for example external databases, cruise lines, travel agencies, and so forth. For example, the price comparison module 370 may query a cruise line to determine which pricing options are currently available for the selected sailing. In one embodiment, the price comparison module 370 may query another source to obtain real-time pricing and availability data as well as the database collection 230 for static data and use both sets of data to present the user with rate options and/or price matrices. For example, the price comparison module 370 may query a cruise line or a cruise line interface system 130 to determine whether there are any available cabins for the selected sailing and to request real-time pricing information for the cabins.

[0091] In one embodiment, the database collection 230 may be stored locally and content may be updated to a remote server on a periodic basis. In other embodiments, the information entered by the user may be transferred across a communication medium to a centralized database. The database collection 230 may be accessed by certain function calls enabling the agent to gather information through a standard web interface. The database calls may be standardized to permit web page requests to remotely access cruise provider databases without errors.

[0092] In one embodiment, the price comparison module 370 is implemented to provide the user with a selection of pricing options and a matrix of pricing information. In one embodiment, the price matrix displays various pricing information for the categories of cabins that are available on the selected cruise ship sailing. The price comparison module 370 may be implemented using one or more of a variety of technologies such as, C++, VISUAL BASIC, JAVA, JAVA Script, Active Server Pages (“ASP”), Extensible Markup Language (“XML”), as well as other scripting languages that may be used to dynamically retrieve, generate, process, and/or format the data for a web document.

[0093] As used herein, the word module refers to logic embodied in hardware or firmware, or to a collection of software instructions, possibly having entry and exit points, written in a programming language, such as, for example, C++. A software module may be compiled and linked into an executable program, or installed in a dynamic link library, or may be written in an interpretive language such as BASIC. It will be appreciated that software modules may be callable from other modules or from themselves, and/or may be invoked in response to detected events or interrupts. Software instructions may be embedded in firmware, such as an EPROM. It will be further appreciated that hardware modules may be comprised of connected logic units, such as gates and flip-flops, and/or may be comprised of programmable units, such as programmable gate arrays or processors. The modules described herein are preferably implemented as software modules, but may be represented in hardware or firmware.

IV. Price Comparison Displays

[0094] FIGS. 5, 6, 7, and 8 illustrate embodiments of price comparison displays that includes a cruise detail web page 510 with a “Select A Cruise” section 520 and a “Cruise Detail” section 530. FIG. 5 illustrates a pricing options display. FIG. 6 illustrates a compare display for which two cruise packages have been selected.

A. Pricing Options Display

[0095] One embodiment of a pricing options display 540 is illustrated in FIG. 5 wherein the user has selected to view a set of available pricing options for the Princes Dawn Princess cruise sailing which departs on Sep. 8, 2001. The exemplary display 540 includes a title bar 541 designating the cruise line, the cruise ship, the departure date, as well as a tag (“07SC3”) that corresponds to the call that was assigned to the database search. The exemplary display 540 uses a table format to display the pricing options with heading descriptions at the top of the table such that each row includes information that corresponds to an individual pricing option. The exemplary headings are identified as “Rate Code” 542, “Rate Name” 543, “Start Date” 544, “End Date” 545, and “Status” 546.

[0096] The rate codes 542 identify various pricing options for the cruise sailing and in one embodiment may be presented based upon their availability. For example, once a pricing option has expired or has been exhausted, the pricing option may not appear in the display. The rate code 542 may be determined by the cruise selling and booking system 110, the cruise lines, the travel agents, and/or a combination of the above. The rate names 543 designate the name of the pricing option and may provide additional information about each option such as for example, whether the code may be used in conjunction with air fare or whether it only applies to cruises. The start dates 544 and end dates 545 represent times for which the pricing options are available signifying when the promotion ends and/or how long the specific option has been in existence. The status 546 signifies whether a pricing option has expired. In one embodiment, if the pricing option is available, the status 546 is OPEN, whereas if the pricing option has expired, the status 546 is marked as CLOSED. In one embodiment, the pricing options display 540 filters out pricing options that are of the CLOSED status.

[0097] In one embodiment, the pricing option display 540 may also include an expandable field 547 for displaying additional information including rules that may apply for a specific rate code. This information may be displayed or hidden underneath the rate code by clicking on the right arrow 548, which becomes a down arrow to represent the expanded field. The user may also select the checkbox 549 located to the left of each rate code to include the pricing option in a price matrix. The pricing option display 540 may also include an input field 550 at the top of the display enabling an agent to enter manually a known rate code. Manual entry may be useful in situations where a user is working with a special promotion that may not be part of the system, a new promotion that has not yet been added to the system, and/or common promotions with which the user is familiar.

[0098] For example, rate code BNPTPXUSD represents the best available past passenger rate that does not include air prices. The BNPTPXUSD option was available beginning on Oct. 12, 1998 and ends on Mar. 28, 2001. The expanded field 547 includes information about BNPTPXUSD stating that the passenger must have booked a cruise within the last two years to qualify for this rate code 542. Furthermore, the checkmark in the checkbox 549 indicates that the rate code 542 has been selected as a pricing option for the price matrix.

[0099] It is recognized that in other embodiments, the pricing options display 540 may include different sets of data and/or some of the data may be excluded from the display. For example, in one embodiment, the user may not be presented with the input 550 field. Furthermore, in other embodiments, the pricing options display 540 may limit the number of pricing options that a user may select to a predetermined number, such as, for example, three or four.

B. Price Matrix Display

[0100] One embodiment of a price matrix display 610 is illustrated in FIG. 6 wherein the user has selected the Princes Dawn Princess cruise sailing which departs on Sep. 9, 2001. The exemplary price matrix display 610 includes a price matrix section 620 and a button section 630.

1. Price Matrix Section

[0101] The exemplary price matrix section 620 displays the real-time pricing information for the selected pricing options and, in one embodiment, may include pricing information for pricing options that are always included, such as, for example, a promotional price, best TRAVL price, best price, and so forth. The price matrix displays the pricing information in table format with heading descriptions at the top of the table such that each row includes information that corresponds to an individual pricing category. The exemplary headings are identified as “Cat” 621, “Type” 622, “GG/Promo” 623, “TRAVL Block” 624, “BF” 625, and so forth.

[0102] The “Cat” column 621 represents the category code for the description of the accommodations. The category code may be determined by the cruise selling and booking system 110, the cruise lines, the travel agents, and/or a combination of the above. Furthermore, the category codes may be different for various cruise lines and may vary in presentation. The “Type” column 622 represents the type of category, such as, for example, suite, single room, double room, outside cabin, inside cabin, and so forth. The next columns 623, 624, 625 represent the various pricing or rate options. In one embodiment, each pricing or rate option column 623, 624, 625 may be further segmented into sub-columns to present the costs for double occupancy, single occupancy, shared occupancy, third person of a triple occupancy, fourth person for a quadruple occupancy, as well as other information, such as availability, options, and/or upgrades. The upgrade column may be populated if an upgrade is available either by special promotion or as an opportunity for an upgrade based on group rates.

[0103] In the exemplary price matrix, the BB/Promo price 623 includes the port charges and displays a promotional rate price. The “TRAVL Block” 624 displays prices that the travel agency may offer. In some instances, a travel agency or group may purchase or hold a block of cabins at a discounted price and may pass the discount onto the customers. The “BF” price 625 is the best price which may be retrieved from the system and/or calculated in real time by taking the lowest price of all of the available pricing options or one or more subsets of the available pricing options. Pricing information for other selected pricing options may also be displayed.

[0104] The exemplary cruise ship, the Princess Dawn Princess includes several categories, 12, 6D, 6C, 6B, 6A, 5A, and so forth. In one embodiment, the categories are sorted from most expensive to least expensive, though in other embodiments, other sorting methods may be used. In addition, if pricing information is not available, or if there is no availability for a particular category, the price matrix may display “N/A,” designating not applicable. In other embodiments, the category may be removed from the price matrix, and/or the availability of a particular category may be checked at a later time.

[0105] In one embodiment, the price matrix section 620 includes a column of checkboxes 626 located to the left of each “Cat” column. The checkboxes 626 enable the user to select from the set of categories a subset of categories to view in a “Show Selected” matrix discussed below. Furthermore, the price matrix section 620 includes a column of arrows 627 next to the checkboxes that enable the user to open a window that will display the details regarding the category such as detailed descriptions of the categories and the associated amenities. For example, for category 12, the additional information may state that 12 is a suite on the promenade deck. Such information may be useful as many cruise lines use their own set of categories. The price matrix also includes a column of arrows 628 within each pricing option column that enables the user to display the selected the pricing option and category in the compare display.

2. Button Section

[0106] In one embodiment, the price matrix may also include a button section 630 that enables a user to revise and/or refine the pricing information. For example, the price matrix defaults to providing information for cabins based on a two person per cabin booking. By submitting a different number and selecting the “Modify Pax” button 631, the user may request pricing information for other numbers of persons per cabin.

[0107] The “Show Selected” button 632 works in conjunction with the check boxes located to the left of the price matrix rows. The user may select one or more of the categories for display and then select the “Show Selected” button to limit the price matrix to only the selected categories in a “Show Selected” matrix. The “Show Selected” button then changes to a “Show All” so that the user may return to the set of all categories. In one embodiment, the default view includes all of the categories for the selected cruise sailing, though it is recognized that other defaults may be used.

[0108] The “Best Price” button 633 permits the user to view a Best Price matrix wherein the best prices are displayed in a matrix. Furthermore, the “Air/Sea” button 634 permits the user to view an Air/Sea price matrix detailing price information that includes airfare. If the “Best Price” button is selected, the “Best Price” button then changes to a “Detail” button enabling the user to return to the price matrix. Furthermore, if the “Air/Sea” button 634 is selected, the “Air/Sea” button 634 then changes to the “Detail” button enabling the user to return to the price matrix. For more information on the “Best Price” matrix, please refer to the section below entitled “Best Price” matrix. For more information on the “Air/Sea” price matrix, please refer to the section below entitled “Air/Sea Price Matrix.”

[0109] The “Deck” button 635 displays a pop-up window illustrating the cruise ship's key locations as well as the specific locations of cabins on every level of the ship. To close the window, the user may select the “Close” button. In one embodiment, the “Deck” button is inactive if the cruise ship's information is not available.

[0110] The “Rate Options” button 636 returns to the pricing options display 520 discussed above. These buttons enable the user to switch between a variety of price matrices permitting accurate comparisons of pricing information.

[0111] In one embodiment, the user may select another cruise to view pricing information on a different cruise sailing.

C. Best Price Matrix

[0112] The Best Price matrix 710 displays a subset of the available pricing information wherein only the “best prices” are presented for various categories as illustrated in FIG. 7. Similar to the price matrix display 610, the Best Price matrix 710 includes a “Cat” column 711, and “Upg” column 712, and a “Type” column 713. In addition, the Best Price matrix 710 includes columns representing the best price for various sets of options. For example, in FIG. 7, the best prices for the Promotion rate 714, the full individual tariff (“FIT”) price 715, and the best TRAVL price 716 are displayed. In one embodiment, the FIT price represents the best price for the selected rate options and pricing categories wherein the price comparison module 370 finds the prices for the selected rate options for the categories, determines the best prices, and displays the best price. The Best Price matrix may also include a best price description column 717 which presents the user with information on the pricing option that was used to find the best prices.

[0113] In one embodiment, the best prices are by default based upon double occupancy, though the user may change the number of persons per cabin. Furthermore, in other embodiments, other default values may be used. In one embodiment, the Promotion column 714 may be populated with pricing information if there is a special theme cruise that has been planned or if there is any other promotion offered by the cruise lines. The FIT price 715 represents the best price for the selected rate options and pricing categories. The Best TRVL price 716 represents the best price an agent can offer which may be affected by negotiated deals between agencies and cruise line carriers. In many cases, it is beneficial for the agent to see the multiple pricing options as to afford the customer an upgraded room category at a lesser price while at the same time maximizing commission. The last category 717 identifies the description of the best price.

[0114] In one embodiment, the Best Price matrix 710 may be presented to the user as the default view as it provides the user with a concise summary of the best prices that may be offered to the user. In other embodiments, however, other price matrices may be used as the default. For example, if the travel agency has an agreement with an airline, the Air/Sea price matrix may be used as the default to help encourage airfare sales.

[0115] For a discussion of the buttons used with the Best Price matrix 710 see the section above entitled “Price Matrix Display—Button Section.”

D. Air/Sea Price Matrix

[0116] The “Air/Sea” price matrix 810 displays pricing information that includes airfare from a gateway city as illustrated in FIG. 8. During the cruise selling and booking process 310, the user may select a gateway city 811 from which the customer will depart. In one embodiment, the gateway city 811 represents the starting point for airline transportation rather than the port of departure. The user may then have the option of manually requesting price quotes for airline travel, using the cruise selling and booking system 110 to search for airfare information, or using another system to find airline itineraries and prices that suit the customer's needs.

V. Price Comparison Processes

[0117] In one embodiment, the price comparison module 370 includes a pricing options selection process 410 and a price matrix process 420.

A. Pricing Options Selection Process

[0118] An overview of one embodiment of a pricing options selection process 410 is shown in FIG. 9. Beginning at a start state (block 910), the pricing options selection process 410 transitions to the next state (block 920) and receives a selected sailing. The pricing options selection process 410 then retrieves a set of pricing options that correspond to the selected sailing (block 930). The set of pricing options may be retrieved from an internal source and/or an external source. In addition, the set of pricing options may be based in part on cabin and/or pricing option availability. Next, the pricing options selection process 410 formats the set of pricing options and returns them to the user (block 940). The pricing options selection process 410 then receives a set of selected pricing options, wherein the selected pricing options is a subset of the set of pricing options (block 950) and proceeds to an end state (block 960).

[0119] It is recognized that other embodiments of a pricing options selection process 410 may be implemented. For example, the pricing options may be retrieved for each selected sailing after all sailings have been selected.

B. Price Matrix Process

[0120] An overview of one embodiment of a price matrix process 420 is shown in FIG. 10. Beginning at a start state (block 1010), the price matrix process 420 transitions to the next state (block 1020) and receives a selected sailing and a set of selected pricing options. In one embodiment, the price matrix process 420 may receive the selected sailing and/or the set of selected pricing options from the pricing options selection process 410. Next, the price matrix process 420 retrieves pricing information for the selected sailing (block 1030) and filters information to the pricing information that corresponds to the set of selected pricing options (block 1040). The pricing information may be retrieved from an internal source and/or an external source. In addition, the pricing information may include real-time pricing and availability data. The price matrix process 420 formats the pricing information and sends it to the user (block 1050) proceeding to an end state (block 1060).

[0121] It is recognized that other embodiments of a price matrix process 420 may be implemented. For example, the price matrix process 420 may also filter the pricing information to include only the best prices for a set of categories. The set of categories may be retrieved from the database collection 230 and/or may be received from the user. Furthermore, the price matrix process 420 may also add in airfare information and/or remove airfare information depending on how the pricing information is stored.

VI. Accessing the Pricing Options and the Price Matrices

[0122] In one embodiment the user may access the pricing options and the price matrices throughout the cruise selling and booking process 310. Furthermore, in other embodiments, a user may access directly the pricing options and/or the price matrices using the price comparison module 370.

A. Accessing the Pricing Options

[0123] In one embodiment, user may access the pricing options display after selecting specific cruise sailings from the cruise line carriers. When the user selects a cruise sailing, the price comparison module 370 receives the user's selection and determines whether there are any pricing options available. This may include, for example, querying a cruise line or a cruise line interface system 130 to determine the availability of particular cabins and/or pricing options. In one embodiment, the price comparison module 370 searches for any pricing options, while in other embodiments, the price comparison module 370 may retrieve only those pricing options for which the user is qualified. In other embodiments, the price comparison module 370 excludes pricing options for which the user does not qualify. If there no available pricing options, then the user may be presented with a price matrix. Otherwise, if there are available pricing options, the pricing options display may be presented to the user.

[0124] If there are available pricing options, the user may, in one embodiment, select up to four pricing options for display in a price matrix. These options may include, for example, best possible fare “BF,” resident pricing discount “PGR,” and/or a senior pricing “PGSR1.”

B. Accessing the Price Matrices

[0125] In one embodiment, the user may access the price matrices throughout the cruise selling and booking system 110. For example, the user may select pricing options in the pricing options display and select the continue button to view a price matrix that corresponds to the selected pricing options. In addition, the user may select the previously selected sailing thereby bypassing the pricing options display and directly viewing a price matrix. Furthermore, within the Option Recap screen, the user may select the “Category Sailed” button. This selection will initiate a price matrix in the place of the Option Recap screen and allow the user to include a new category in the specific sailing.

VII. Conclusion

[0126] While certain embodiments of the invention have been described, these embodiments have been presented by way of example only, and are not intended to limit the scope of the present invention. Accordingly, the breadth and scope of the present invention should be defined in accordance with the following claims and their equivalents.

Claims

1. A method of presenting cruise pricing information for display by a plurality of web browser programs, wherein the method utilizes a cruise web server environment to electronically communicate via a data communications network with a plurality of remote users using the web browser programs and the cruise pricing information includes real-time pricing and availability data, the method comprising:

receiving a selected cruise sailing from a remote user's web browser program;
identifying rate options stored in an electronic cruise line database that correspond to the selected cruise sailing;
sending the rate options to the remote user's web browser program;
receiving a set of selected rate options from the remote user's web browser program;
identifying cabin pricing categories stored in the electronic cruise line database that correspond to the selected cruise sailing and the set of selected rate options;
obtaining cruise price information from the electronic cruise line database that corresponds to the cabin pricing categories; and
preparing cruise price information for display in a price summary as part of an electronic document by the remote user's web browser.

2. The method of claim 1, wherein the price summary is formatted as a matrix of cruise price information.

3. A method of filtering cruise pricing information for display to a remote user's web browser program utilizing a cruise web server environment to electronically communicate with a the remote user's web browser program via a data communications network, the method comprising:

receiving a selected cruise sailing from the remote user's web browser program;
identifying rate options stored in an electronic database that correspond to the selected cruise sailing;
sending the rate options to the remote user's web browser program for display as an electronic document;
receiving a set of selected rate options from the remote user's web browser program; and
using the set of selected rate options to retrieve pricing information from the electronic database that corresponds to the selected cruise sailing and to formulate a query that filters the pricing information based at least upon the selected rate options.

4. A method of requesting cruise price information using a web browser program to electronically communicate with a remote cruise web server system via a data communications network, wherein the cruise price information includes real-time pricing and availability data, the method comprising:

sending a first request for information on a cruise sailing to the remote cruise web server system; and
receiving a price matrix display of cruise price information corresponding to the cruise sailing from the remote cruise web server system, wherein the price matrix display is displayed in the web browser program as an electronic document.

5. A method of requesting cruise price information using a web browser program to electronically communicate with a remote cruise web server system via a data communications network, the method comprising:

sending a first request for information on a cruise sailing to the remote cruise web server system;
receiving a set of rate options corresponding to the cruise sailing from the remote cruise web server system;
sending a selection of rate options from the set of rate options; and
receiving a price matrix display of cruise price information corresponding to the cruise sailing from the remote cruise web server system, wherein the cruise price information corresponds to the selection of rate options and the price matrix display is displayed in the web browser program as an electronic document.

6. A method of filtering cruise price information using a web browser program to electronically communicate with a remote cruise web server system via a data communications network, the method comprising:

sending a first request for information on a cruise sailing to the remote cruise web server system;
receiving a set of rate options corresponding to the cruise sailing from the remote cruise web server system, wherein the set of rate options are formatted for display as an electronic document by the web browser program;
selecting a selection of rate options from the set of rate options; and
sending the selection of rate options to the remote cruise web server system.

7. A method of using a computer to enable a remote user to compare cruise package pricing information from a cruise booking web server system, wherein the remote user electronically communicates with the cruise booking web server system using a web browser program via a data communications network and at least a portion of the cruise package pricing information includes real-time pricing and availability data, the method comprising:

receiving a request for cruise price information for at least two cruises from the remote user's web browser program;
preparing the cruise price information for display in an electronic document that includes a price summary matrix; and
sending the price summary matrix to the remote user's web browser program.

8. The method of claim 7, wherein the electronic document is a web page document.

9. In a network comprising a user node having a browser program coupled to the network, the user node providing requests for information on the network, a network node comprising:

a cruise booking node responsive to a request for cruise price information for at least two cruises from the user node wherein the cruise booking node provides the user node with a price summary of the cruise price information.

10. The network node of claim 9, wherein the cruise booking node is configured to use rate options to filter the cruise price information of the price summary.

11. The network node of claim 9, wherein the cruise booking node is configured to use selected categories to filter the cruise price information of the price summary.

12. The method of claim 9, wherein the price summary includes a plurality of selectable price matrices.

13. The network node of claim 9, further comprising a cruise line database configured to store cruise package and pricing information for at least two different cruise lines, wherein the cruise line database is in communication with the cruise booking node.

14. A system for displaying cruise price information implemented in a web server environment wherein a plurality of remote users communicate with the system via a data communications network using web browser programs, the system comprising:

an electronically stored data structure of cruise price information wherein the cruise price information includes information from different cruise lines;
a program module configured to receive requests for cruise information from a remote user's web browser program;
a program module configured to obtain cruise price information from the electronically stored data structure based at least upon a price summary request;
a program module configured to prepare cruise price information for a display as a price summary in an electronic document; and
a program module for outputting the prepared cruise price information to the remote user's web browser program.

15. The system of claim 14, wherein the price summary is in table format.

16. A method for analyzing cruise package pricing category information utilizing a cruise web server environment to electronically communicate via a data communications network with a plurality of remote users using web browser programs, the method comprising:

receiving a set of rate options from a remote user's web browser program;
obtaining cruise package information relating to the set of rate options from an electronic database of cruise pricing information; and
outputting the cruise package information in a pricing table for display by the remote user's web browser program.

17. In a network comprising a user node having a browser program coupled to the network, the user node providing requests for information on the network, a network node comprising:

a cruise booking node responsive to a request from the user node, wherein the cruise booking node queries an electronic database of cruise information for cruise package information that relates to a set of rate options received from said user node and forwards the cruise package information to the user node.

18. The network node of claim 17, wherein the electronic database is a cruise line database configured to store rate options for at least two different cruise lines.

19. A system for analyzing cruise package information implemented in a web server environment wherein a plurality of remote users utilize web browser programs to electronically communicate with the system via a data communications network, the system comprising:

an electronically stored data structure of cruise price information wherein the cruise price information includes information from different cruise lines;
a program module configured to receive a set of rate options from a remote user's web browser program;
a program module configured to obtain real-time cruise price information from the electronically stored data structure, wherein the obtained real-time cruise price information relates to the set of rate options; and
a program module for outputting cruise package information in a price summary for display by the remote user's web browser program.

20. The system of claim 19, wherein the price summary is in table format.

21. A system for comparing cruise package pricing options implemented in a web server environment wherein a plurality of remote users utilize web browser programs to electronically communicate with the system via a data communications network, the system comprising:

a cruise sailing selection software component configured to receive a request for cruise pricing information for a selected sailing from a remote user's web browser program;
a pricing options software component configured to search for a set of pricing options that correspond to the selected sailing in an electronic database of cruise information, to send the set of pricing options to the remote user's web browser program, and to receive a set of selected pricing options from the remote user's web browser program;
a pricing category software component configured to search for cruise pricing information in the electronic database of cruise information, wherein the cruise pricing information relates to the set of selected pricing options; and
a display software component configured to process and format the cruise pricing information for display in a pricing matrix by the remote user's web browser program, wherein the pricing matrix is organized at least in part by the pricing categories.

22. A system for comparing cruise package pricing options implemented in conjunction with a web browser program, wherein the web browser program electronically communicates with a remote cruise web server via a data communications network, the system comprising:

a cruise sailing selection software component configured to send requests for real-time cruise pricing information to the remote cruise web server, wherein the real-time cruise pricing information is organized into pricing categories;
a pricing options selection software component configured to send requests to the remote cruise web server for filtering the cruise pricing information based at least upon a set of selected pricing options; and
a display software component configured to receive the requested filtered, real-time cruise pricing information from the remote cruise web server and to display the filtered, real-time cruise pricing information using the web browser program in a pricing matrix, wherein the pricing matrix is organized at least in part by the pricing categories.

23. The system of claim 22, wherein the pricing options selection software component is further configured to receive a set of pricing options from the remote cruise web server, wherein the set of selected pricing options are selected from the set of pricing options.

24. A method of presenting cruise pricing information user's web browser program utilizing a cruise web server environment to electronically communicate with a the remote user's web browser program via a data communications network, the method comprising:

means for receiving a selected cruise sailing from a remote user's web browser program;
means for identifying rate options stored in an electronic database that correspond to the selected cruise sailing;
means for sending the rate options to the remote user's web browser program for display as an electronic document;
means for receiving a set of selected rate options from the remote user's web browser program;
means for identifying cabin pricing categories stored in the electronic database that correspond to the selected cruise sailing and the set of selected rate options;
means for obtaining cruise price information from the electronic database that corresponds to the cabin pricing categories; and
means for preparing cruise price information for display by the remote user's web browser program in price summary.

25. A method of requesting cruise price information using a web browser program to electronically communicate with a remote cruise web server system via a data communications network, the method comprising:

means for sending a first request for information on a cruise sailing to the remote cruise web server system;
means for receiving a set of rate options corresponding to the cruise sailing from the remote cruise web server system, wherein the set of rate options are formatted for display as an electronic document by the web browser program;
means for sending a selection of rate options from the set of rate options to the remote cruise web server; and
means for receiving a price matrix display of cruise price information corresponding to the cruise sailing from the remote cruise web server system, wherein the cruise price information corresponds to the selection of rate options.
Patent History
Publication number: 20020022978
Type: Application
Filed: Dec 1, 2000
Publication Date: Feb 21, 2002
Inventors: Martin R. Schiff (Coral Springs, FL), Kathleen M. Sussman-Wiles (Miami Beach, FL), Vivian D. Ewart (Davie, FL), Wallace C. Huff (Dresser, WI), Byron J. Berk (Somerville, MA), Maureen J. Elenberger (Concord, MA), Timothy Fessenden (Waltham, MA), Paul Fitton (Hollis, NH), Vance M. Loiselle (Bolton, MA), Michael A. Carpenter (Loxahatchee, FL), Michael T. Sherota (Davie, FL), Elizabeth K. Judy (Delrey, CA), Elena M. Rodriquez (Miami, FL), Holley S. Christen (Syracuse, NY), Mitch Cox (Orlando, FL), Todd Elliott (Orlando, FL), Kevin Helms (Orlando, FL), Adolf Quintana (Orlando, FL), Dot Tolle (Casselberry, FL), Nancy Porter (St. Cloud, FL), Karen J. Reynolds (Orlando, FL), Monica Scanlon (New York, NY), Paul Colangelo (Airmont, NY), Tracey Lee Codd (Charlotte, FL), Joanell U. DeLand (Clay, NY), Timothy M. Moorhead (Syracuse, NY), Anne D. Burkard (Delrey Beach, FL), George DelPino (Coral Springs, FL), Joelle S. Delva (Miami, FL), Sharon Everhart-Brooks (Boca Raton, FL), Bradley Ferguson (Boca Raton, FL), David A. Forman (Deerfield Beach, FL), Samuel L. Hintz (Coral Springs, FL), Irwin D. Klotz (Boca Raton, FL), Courtney W.T. Kurk (Miami Beach, FL), Keith J. Leslie (Plantation, FL), Sandi B. Levy (Deerfield Beach, FL), Fred Locicero (Smithtown, NY), Charlotte A. Luna (Boca Raton, FL), Jeffrey A. Nickerson (Coconut Creek, FL), Maryann Bastnagel (Rockville, MD)
Application Number: 09728939
Classifications
Current U.S. Class: Reservation, Check-in, Or Booking Display For Reserved Space (705/5)
International Classification: G06F017/60;