HK1069455A - System and method for managing reservation requests for one or more inventory items - Google Patents
System and method for managing reservation requests for one or more inventory items Download PDFInfo
- Publication number
- HK1069455A HK1069455A HK05101924.4A HK05101924A HK1069455A HK 1069455 A HK1069455 A HK 1069455A HK 05101924 A HK05101924 A HK 05101924A HK 1069455 A HK1069455 A HK 1069455A
- Authority
- HK
- Hong Kong
- Prior art keywords
- reservation
- inventory
- items
- request
- records
- Prior art date
Links
Description
no marking
no marking
no marking
Technical Field
The present invention relates generally to an online travel information and reservation system and, more particularly, to a system and method for managing inventory item queries and reservation requests for various inventory items.
Background
In the travel industry, traditional travel services and agents have a long history. In summary, conventional travel services provide a way for consumers to learn about travel-related providers to enable the consumers to order or purchase various goods (foods) or services. For example, a traditional travel service may be able to establish a connection between a consumer and a number of travel-related industries (e.g., airlines, hotels, tour guides, cruise companies, etc.). However, with conventional travel services, the consumer needs to visit the physical location of the travel service to accomplish the desired task. The consumer often makes multiple trips, each of which must be completed at the travel service's office hours. Thus, conventional travel service (fulfillment) facilities are deficient in the sense that the number of geographic locations and business hours of stores that users of some conventional travel service facilities may visit are limited. Further, while some conventional travel services provide telephone service, consumers may still experience differences in service quality due to different travel service employees and/or differences in service availability due to limited travel service hours.
The development of computing devices, such as personal computers, mobile phones, personal digital assistants, and some corresponding computer-based businesses, has attempted to reduce the need for traditional travel services. In one particularly popular implementation, some travel services use computing devices to communicate with users. More specifically, the travel service may use the Internet, a large number of computers commonly referred to as the "network (Web)" or the World Wide Web to establish communications. Such travel services are commonly referred to as Web-based travel services.
As applied to web-based travel services, many on-line travel services interact with potential travelers by providing one or more interactive displays (often referred to as websites) to consumers to transact business by allowing users to make purchases, modifications, queries, and the like. By interacting with the website, such as by entering data via a keyboard or by selecting graphical display criteria, the user is able to control the computer and the website to accomplish various travel-related tasks. In addition, the user may perform these tasks at different times of the day and need not physically visit a particular physical travel service location.
The relationship between the Web-based travel service and the travel product provider may be characterized as a proxy format, or a merchant format (merchant configuration). In the agency format, the Web-based travel service acts as an intermediary between the consumer computing devices and the various providers, but the travel service does not have full sales rights for the inventory items being sold (e.g., hotel rooms, airline tickets, packaged travel services (cruise packages), etc.). Rather, each inventory item is partially under the control of the provider in managing the price of the inventory item for the user. For example, in the agency configuration, a travel service in the agency configuration may be able to complete a customer's reservation if a potential traveler desires a flight ticket, but the agency may not be limited to setting the price paid by the customer for the flight ticket. In addition, the agency configured travel service has limited control over how fees are collected from the consumer. Thus, with respect to revenue in the agency configuration, the Web-based travel service is generally limited to drawing a percentage of the transaction amount received from the supplier. Alternatively, the Web-based travel service may charge a fixed service fee for each transaction processed. In addition, the Web-based travel service may receive a flat fee to advertise inventory items for a particular provider.
The proxy form may be deficient in several respects. On the one hand, the Web-based travel service is limited to providing the user with only inventory items available at the time of communication between the provider and the travel service. For example, conventional web-based travel services often advertise inventory items that may not be available when a reservation request is sent to the provider. In addition, even if inventory items are available, the Web-based travel service has limited control over the price of the products/services offered to the consumer. Thus, the Web-based travel service has reduced control over the revenue it can obtain from different consumer transactions in different economic markets. Thus, an agent-style travel service may be a deficient method of providing a web-based travel service.
In contrast, in the merchant configuration, various providers assign inventory (e.g., hotel rooms, airline seats, cruise packages, etc.) to the Web-based travel service such that the Web-based travel service has control over how the inventory is processed. For example, a hotel provider may sell/consign a room in the hotel to the Web-based travel service such that the Web-based travel service has the ability to sell the use of the hotel room to the user. Unlike the agency configuration, the Web-based travel service has more control over the price of the inventory item and how the fee is collected from the consumer. More specifically, with respect to revenue, in the merchant configuration, the Web-based travel service's revenue is generally determined by the difference between the price a user pays the Web-based travel service and the price the service must pay the provider. Thus, the merchant-style Web-based travel service has more control over its revenue stream.
In a typical merchant-style commercial transaction, the Web-based travel service obtains a portion of the inventory item, such as a portion of seats on a particular flight on a series of dates (e.g., 10 seats on flight 492 in 8 months), or a portion of hotel rooms within a range of dates (e.g., the top suite of ABC hotels in the week of 8 months 1-7). The quota of various portions of a catalog item may be referred to as a batch inventory. To manage the bulk inventory, the Web-based travel service classifies the inventory items according to one or more identifying characteristics. For example, distinguishable portions of a hotel room batch inventory item may be processed and stored based on identifying characteristics such as location (e.g., name and address of the hotel), room type (e.g., suite), and date of use (e.g., 7/28/2001). Thus, depending on the number of different types of eligible items, the hotel room inventory items may be sorted by hotel name first, by room type later, and finally by date of existence.
Although conventional feature classification approaches facilitate inventory management in merchant form, defects may occur on batch inventory items that have the same identifiable features but differ in unrecognizable features. With reference to the above example, assume that a hotel is assigned to a Web-based travel service a portion of a room having a set of identifiable characteristics. Consistent with conventional classification methods, the Web-based travel service stores inventory items based on its identifiable characteristics (e.g., 20 twin rooms in XYZ hotel, 5/21/2001). However, if the hotel supplier assigns a second batch inventory (e.g., 30 twin rooms in XYZ hotel at 5/21/2001) with identical identifiable characteristics, but different non-identifiable characteristics (e.g., price, constraints, service fees), the conventional process may have drawbacks in many cases.
With respect to potential user price/provider price deficiencies, because all similar inventory items are grouped together, conventional sorting and processing methods are not effective in managing the different costs/prices of the various inventory items (e.g., $50 for each of the 20 twin rooms and $65 for each of the 30 twin rooms). To account for the difference in supplier prices, some merchant-style travel services average the supplier price/user price among the total number of instances of distribution for a particular inventory item (across …. With respect to the previous example, this would average the price of a travel service considering 50 rooms at $ 59. Thus, the Web-based travel service has a reduced potential for lost revenue by charging some customers a lower price and making up for the difference by charging other customers a higher price. Those skilled in the art will appreciate that this approach may be flawed because it assumes that the travel service will sell the full quota (allowance) of its inventory items, which does not always occur. Furthermore, some negative impact may be created in the consumer as a result of different consumer pricing transactions.
Another drawback associated with processing batch inventory relates to a portion of the batch inventory items having usage limitations. For example, assuming that a provider assigns a first batch of rooms without usage restrictions and then assigns rooms for a second batch inventory (with the same identifying characteristics), the rooms for the first batch inventory must be sold first. Under a traditional merchant style of travel service, the Web-based travel service stores the room data together because the rooms have the same identifying characteristics. However, because conventional web-based travel services typically cannot distinguish to which volume inventory quota an individual one of the inventory items (individual piece of inventory) corresponds, limitations in use are difficult to enforce. As such, conventional travel services have various deficiencies in attempting to process a batch inventory.
Another deficiency associated with the traditional merchant configuration and need not be limited to bulk inventory arises from the efforts of the Web-based travel service to coordinate the various providers. In a typical embodiment, the allocation of inventory items is dependent upon communication between the travel service agent and the provider agent using several modes of communication (e.g., telephone, email, fax, and traditional mail). Often, the inability to establish continuous communications can cause delays throughout different portions of the transaction, such as in notifying the offer of quotas, confirming acceptance of quotas, and negotiating additional inventory or changing terms. For example, assume that a Web-based travel agency attempts to negotiate with a hotel supplier to obtain an allotment of a portion of a room at a particular price. The negotiation may be due to the lack of a standard form of communication between the provider and the travel service (e.g., one agent tends to use a telephone while the other uses regular mail). Further, even if the parties are able to establish communication and an agreement can be reached between the supplier agent and the travel service agent, the agreement may not be properly documented for later use. For example, the travel service's accounting department may be removed from the agent during the accounting process, where it may be cumbersome to provide the provider with the proper authorization (authorization) to accept room quotas at the negotiated price, especially if the accounting is checked after a period of time. Thus, a conventional merchant-style travel agency must establish a step of collaboration (interface) with each potential provider, and must also maintain sufficient records for each type of provider, which is inefficient.
Therefore, there is a need for a system and method for managing inventory items that assists in processing consumer reservation requests for inventory items. More specifically, there is a need for a system and method for managing reservation requests for a plurality of inventory items having different characteristics.
Disclosure of Invention
Systems and methods are provided for managing reservation requests for one or more inventory items. A user subscription request is obtained and processed to identify inventory data that matches the subscription request. And generating a reservation transaction, a reservation item and a reservation catalog record according to the reservation request of the user. If the transaction can be completed, a confirmation is sent to the user and a notification is sent to the provider.
In accordance with the present invention, a method of processing a reservation request for one or more inventory items is provided. A reservation processing application (application) obtains a user request to reserve at least one inventory item. The reservation processing application obtains inventory data corresponding to one or more inventory items and matches the user reservation request. The reservation processing application generates a reservation transaction, one or more reservation items, and one or more reservation inventory records based on the matched inventory data. The reservation transaction record includes data associated with one or more reservation requests. Each reservation items record corresponds to a reservation transaction record and identifies a set of inventory items associated with a particular reservation request. Each reservation inventory record corresponds to a reservation items record and includes data associated with a reservation request for inventory items identified in the reservation items record. The reservation processing application processes the reservation transaction, the reservation items and the reservation inventory records and transmits the processing results of the reservation transaction, the reservation items and the reservation inventory records.
According to another aspect of the present invention, a system for processing reservation requests for one or more inventory items is provided. The present system includes at least one client computer operable to generate a reservation request for at least one inventory item. The system also includes a travel server for storing inventory data corresponding to one or more inventory items. The travel server is operable to obtain reservation requests from the client computers. The travel server generates and processes a reservation transaction, one or more reservation items, and one or more reservation inventory records corresponding to the reservation request and the inventory data.
According to another aspect of the present invention, a computer-readable medium having computer-executable components (components) for processing a reservation request for one or more inventory items is provided. The computer-executable components include a reservation transaction component operable to identify one or more reservation requests for inventory items. The computer-executable components also include one or more reservation items components corresponding to the reservation transaction record operable to identify a reservation request for a inventory item. The computer-executable components further include one or more reservation inventory components associated with the reservation items component operable to define reservation requests for individual inventory items.
According to yet another aspect of the present invention, a method is provided for processing a reservation request from one or more inventory items. The reservation processing application obtains a user request for reservation behavior corresponding to at least one inventory item. The reservation processing application obtains the existing reservation transactions, reservation items, and reservation inventory records corresponding to the inventory items. The reservation transaction record includes data associated with one or more reservation requests. One or more reservation item records correspond to the reservation transaction record and identify a set of inventory items associated with a particular reservation request. One or more reservation inventory records correspond to the reservation items record and include data associated with reservation requests for inventory items identified in the inventory reservation items record. The reservation processing application processes the reservation transaction, reservation items, and reservation inventory records according to a reservation action request. The reservation processing application transmits the results of the processing of the reservation transaction, reservation items, and reservation inventory records.
Drawings
The foregoing aspects and many of the attendant advantages of this invention will become more readily appreciated as the same become better understood by reference to the following detailed description, when taken in conjunction with the accompanying drawings. In the drawings, there is shown in the drawings,
fig. 1 is a block diagram of a representative portion of the internet.
FIG. 2 is a block diagram illustrating a travel management system formed in accordance with the present invention.
Fig. 3 is a block diagram depicting a schematic structure of a client computing device formed in accordance with the present invention.
FIG. 4 is a block diagram depicting a schematic configuration of a travel server formed in accordance with the present invention.
FIG. 5 is a block diagram of a three level of detail (thread detail level) inventory item data relationship formed in accordance with the present invention.
FIG. 6 is a block diagram of the travel management system of FIG. 2 illustrating a client computing device inventory query in accordance with the present invention.
FIG. 7 is a flow chart illustrating a directory request processing routine executed by a directory processing application in accordance with the present invention.
FIG. 8 is a flow diagram illustrating a directory subroutine available to a query performed by a directory processing application in accordance with the present invention.
FIG. 9 is a block diagram illustrating the data relationships used by a directory processing application in accordance with the present invention.
FIG. 10 is a block diagram of the travel management system of FIG. 2 illustrating a request by the travel server for inventory from a supplier made in accordance with the present invention.
FIG. 11 is a block diagram of the travel management system of FIG. 2 illustrating a supplier inventory action request made in accordance with the present invention.
FIG. 12 is a block diagram of the travel management system of FIG. 2 illustrating a supplier inventory action request made in accordance with the present invention.
FIG. 13 is a flow chart illustrating a provider catalog behavior request handler executed by a catalog processing application in accordance with the present invention.
FIG. 14 is a flow diagram illustrating a supplier batch catalog behavior request subroutine performed by the catalog processing application in accordance with the present invention.
FIG. 15 is a flow diagram illustrating a provider catalog query action subroutine performed by the catalog processing application in accordance with the present invention.
FIG. 16 is a block diagram representing data relationships of a directory relationship database used by a directory processing application in accordance with the present invention.
FIG. 17 is a block diagram of three levels of detail of subscription data relationships formed in accordance with the present invention.
FIG. 18 is a block diagram of the travel management system of FIG. 2 illustrating a request for a reservation by a client computing device in accordance with the present invention.
FIG. 19 is a block diagram of the travel management system of FIG. 2 illustrating a request by a client computing device for a reservation from a provider that is not continuously connected to the travel management system in accordance with the present invention.
FIG. 20 is a flow diagram illustrating a reservation processing program executed by a reservation processing application in accordance with the present invention.
FIG. 21 is a flowchart illustrating a process new user reservation request subroutine performed by the reservation processing application in accordance with the present invention.
FIG. 22 is a block diagram illustrating the data relationships used by the reservation processing application to process reservation requests in accordance with the present invention.
FIG. 23 is a flow diagram of a process user subscription cancellation request subroutine performed by the subscription processing application in accordance with the present invention.
FIGS. 24A and 24B are a flow diagram of a process user subscription modification request subroutine performed by the subscription processing application in accordance with the present invention.
FIG. 25 is a block diagram representing data relationships used by a reservation processing application for a reservation relationship database in accordance with the present invention.
Detailed Description
As mentioned above, aspects of the present invention are embodied in a world Wide Web ("WWW") or network ("Web") site that is connectable through the Internet. As is well known to those skilled in the art, the term "Internet" refers to a collection of networks and routers that communicate with each other using the Transmission control protocol/Internet protocol ("TCP/IP"). FIG. 1 shows a representative portion of the Internet 20, in which a plurality of local area networks ("LANs") 24 and a wide area network ("WAN") 26 are interconnected by a router 22. The router 22 is a special purpose computer used to interface one LAN or WAN with another. The communication connections within the LAN may be twisted pair, coaxial cable, or optical fiber, while the communication connections between the networks may use 56Kbps analog telephone lines, 1Mbps digital T-1 lines, 45Mbps digital T-3 lines, or other communication lines known to those skilled in the art.
In addition, computers 28 and other related electronic devices may be remotely connected to either the LAN 24 or the WAN 26 through a modem and temporary telephone or wireless link. It will be appreciated that the internet 20 includes a vast number of such interconnected networks, computers, and routers, with only a representative small portion of the internet 20 being shown in fig. 1.
The internet has recently seen explosive growth because of its value in being able to connect computers located around the world. With the growth of the internet, the WWW has also gained in development. As understood by those skilled in the art, the WWW is a large collection of "hypertext" files that are interconnected or written in hypertext markup language ("HTML") or other link markup language (makepulagess), where the files are electronically stored in "WWW sites" or "Web sites" that are distributed throughout the Internet. Other interactive hypertext environments may include proprietary environments such as those provided by the united states online or other online service providers, and the wireless internet ("wireless Web") provided by various wireless network providers, particularly those in the cellular telephone industry. It is to be understood that the present invention can be applied in any such interactive hypertext environment, however, for ease of discussion, a network is used as an exemplary interactive hypertext environment with respect to the present invention.
A web site is a server/computer connected to the internet that has mass storage capability to store hypertext documents and runs management software to handle requests for stored hypertext documents. Embedded within the hypertext document are hyperlinks, e.g., highlighted portions of text linking the document to another hypertext document stored at a website elsewhere on the internet. Each hyperlink is assigned a Uniform resource locator ("URL") that provides the exact location of the linked document on a server connected to the Internet and describes the document. Thus, a hypertext document is considered to be retrieved from the world Wide Web regardless of the Web server from which the document is retrieved. Those skilled in the art will appreciate that a web server may also include facilities (facilities) for storing and transmitting applications, such as applications written in the Sun Microsystems' JAVA programming language, for execution on remote computers. Similarly, a web server may also include facilities to execute scripts and other applications on the web server itself.
A consumer or other remote entry user may retrieve hypertext documents from the world wide web via a web browser program. Web browsers, such as Netscape's NAVIGATOR or Microsoft's Internet Explorer, are software applications used to provide a graphical user interface for the world Wide Web. Upon a request from a user through a web browser, the web browser uses the URL of the file and the HTTP protocol to locate and retrieve the desired hypertext file from the appropriate web server. HTTP is a higher level protocol than TCP/IP and is specifically designed to meet the requirements of the world wide web. HTTP runs on top of TCP/IP to transfer hypertext files between servers and client computers. The web browser may also retrieve programs from a web server, such as JAVA programs, for execution on the client computer.
The present invention relates generally to systems and methods for managing inventory item query and reservation requests. More specifically, in one embodiment of the present invention, a system and method are provided for managing travel-related inventory item queries and travel-related reservation transactions between inventory item providers and consumers. Those skilled in the art will appreciate that inventory items include any physical item or item of merchandise (inventory of merchandis) that may be delivered from a provider to a consumer, such as tickets, passes, consumer products. The inventory items may also include rights to goods or services provided by the provider or an agent of the provider, such as a right to occupy a hotel room at a particular night, a right to a seat on an airline flight, a right to occupy a particular cabin on a ship. Further, it is understood that a catalog item may be a single item or service and a group of substantially identical items or services (e.g., a portion of a room of a hotel).
Depending on the desired transaction, a merchant-style travel management system may be used to assist the consumer in querying the availability of inventory items and in processing the consumer's reservation requests for inventory items. In addition, the travel management system may be used to facilitate various supplier-based inventory item activity requests, as well as to notify the supplier of consumer reservation information. However, those skilled in the art will appreciate that the disclosed embodiments are used for exemplary purposes and should not be construed as limiting.
FIG. 2 is a block diagram illustrating a travel management system 230 according to the present invention. As illustrated in FIG. 2, the travel management system 230 includes one or more client computing devices 232 and a travel server 236 having an inventory store 238 for storing inventory items assigned to the travel service. In addition, the travel management system 230 includes one or more supplier systems 240 having a supplier inventory store 241. In one embodiment of the present invention, the client computing device 232 communicates with the travel management system 230 via a web browser 234 stored in the memory of the client computing device 232.
As shown in FIG. 2, the various components of the travel management system 230 communicate by transmitting and receiving data over a standard communication network, such as the Internet 20. However, those skilled in the art will appreciate that the client computing devices 232, travel service 236, and provider 240 may also transmit/receive data via a private or semi-private communication network, such as a private travel-based computer network. Further, although only two client computing devices 232 are illustrated in FIG. 2, those skilled in the art will appreciate that any number of client computing devices 232 or providers 240 may be used in the travel management system 230 according to the present invention. Similarly, as illustrated in FIG. 2, the travel management system 230 may be indirectly coupled to the supplier systems via other intermediate suppliers 204A, such as suppliers 240A, 240B, and 240C.
FIG. 3 is a block diagram depicting an exemplary architecture of a client computing device 232 (FIG. 2) for interacting with the travel management system 230 in accordance with the present invention. Those having ordinary skill in the art will appreciate that the client computing device 232 includes many more components than those shown in FIG. 3. However, not all of these widely used conventional components known to those skilled in the art need be shown to disclose an embodiment for practicing the present invention.
As shown in FIG. 3, the client computing device 232 includes a network interface 300 for connecting directly to a LAN or WAN, or for connecting remotely to a LAN or WAN. Those skilled in the art will appreciate that network interface 300 includes the necessary circuitry for such connection and is structured to use a variety of communication protocols, such as the TCP/IP protocol, the internet Inter-ORB protocol ("IIOP"), and the like. The network interface 300 may use the communication protocol of the particular network configuration of the LAN or WAN to which it is connected, as well as a particular type of coupling medium. Client computing device 232 may also be equipped with a modem 304 for connecting to the Internet via a Point-to-Point protocol ("PPP") connection or a serial line Internet protocol ("SLIP") connection, as known to those skilled in the art. Modem 304 may use a telephone line connection, a cable connection, a wireless connection, a digital subscriber line, or other types of communications connections known in the art.
The client computing device 232 also includes a processing unit 302, a display 348, and memory 308. The memory 308 primarily includes random access memory ("RAM"), read only memory ("ROM"), and a permanent mass storage device, such as a disk drive. The memory 308 stores an operating system 310 for controlling the operation of the client computing device 232. In a practical embodiment of the present invention, operating system 310 provides a graphical operating environment, such as Microsoft corporation's WINDOWS graphical operating system, in which active application programs are represented as one or more graphical application WINDOWS with a display that is visible to a user. The memory 308 also includes a web browser 234, such as Netscape's NAVIGATOR or Microsoft's Internet Explorer browser, for accessing the travel management system 230 via the world Wide Web. It is to be appreciated that these components can be stored on computer-readable media and loaded into memory 308 of client computing device 232 using a drive mechanism associated with the computer-readable media, such as a floppy disk, CD-ROM, DVD-ROM, or network interface 300. Memory 308, network interface 300, display 348, and modem 304 are all connected to processor 344 unit via one or more buses. Other peripheral devices may also be connected to the processor unit in a similar manner, as is well known.
FIG. 4 is a block diagram depicting an exemplary architecture of a travel server 236 (FIG. 2) for interacting with the travel management system 230 in accordance with the present invention. Those skilled in the art will appreciate that the travel server 236 includes many more components than those shown in FIG. 4. It is not necessary, however, that all of these widely used and common components be shown in order to disclose an illustrative embodiment for practicing the present invention. As shown in FIG. 4, the travel server 236 is coupled to the Internet 20 via a network interface 400. Those skilled in the art will appreciate that the network interface 400 includes the necessary circuitry to connect the travel server 236 to the Internet 20 and is constructed to use the TCP/IP protocol, or other protocols such as IIOP.
The travel server 236 alsoIncluding a processing unit 402, an optional display 404, input/output ("I/O") terminals 406, and a mass storage 408, all connected by a communication bus, or other communication means. Mass memory 408 typically includes RAM, ROM, and a permanent mass storage device such as a hard disk drive, tape drive, optical drive, floppy disk drive or combinations thereof. The mass memory 408 stores an operating system 410 to control the operation of the travel server 236. It is understood that this component may include a general purpose server operating system known to those of ordinary skill in the art, such as UNIX, LINUXTMOr Microsoft WINDOWS NT (circle R).
The mass memory 408 also stores program code and data for interfacing with one or more client computing devices 232, for interfacing with one or more internet providers 240, for handling various inventory management tasks, and for handling various subscription management tasks. More specifically, mass storage 408 stores client interface application 412 for communicating with one or more client computing devices 232 via one or more web pages. The client interface application 412 includes computer-executable instructions that, when executed by the travel server 236, establish a communication channel with one or more of the client computing devices 232. The operation of client interface application 412 will be described in greater detail below. Mass memory 408 also stores provider interface applications 414 for communicating with one or more providers. The provider interface application 414 includes computer-executable instructions that, when executed by the travel server 236, establish a communication channel with one or more providers 240. The provider interface application 414 is described in greater detail below.
The mass memory 408 also stores a catalog processing application 416 for processing catalogs and a reservation processing application 418 for processing reservations. Both the inventory processing application 416 and the reservation processing application 418 include computer-executable instructions that, when executed by the travel server 236, assist in managing inventory and reservation data. Those skilled in the art will appreciate that these components can be stored on computer-readable media and loaded into the mass memory 408 of the travel server 236 using a drive mechanism associated with the computer-readable media, such as a floppy, CD-ROM, DVD-ROM drive, or the network interface 400.
In accordance with the inventory management aspect of the present invention, the travel server 236 of the travel management system 230 is utilized to manage available inventory item queries and inventory item action requests from the client computers 232 and providers 240. In accordance with this aspect, the travel service 236 obtains rights to various inventory items from one or more suppliers 240. For example, if the inventory item is physical, the travel service's services may physically (physically) gain ownership of the item to be sold. If the inventory item is not an actual item, the travel server's services may only obtain approval from the provider 240 of the travel service's right to sell the item/service.
Regardless of whether the inventory item is tangible (tandible), after obtaining the various inventory items from the various providers 240, the travel server 236 stores data describing the inventory item and its availability to consumers, which is commonly referred to as inventory item data. Using the inventory item data, the travel server 236 can accept client computer queries for available inventory items. In addition, the travel server 236 may also receive provider information regarding various tasks for managing the provider inventory items maintained by the travel server 236.
To assist in inventory item data management, the travel server 236 uses the inventory item data relationships to process the inventory item data in various ways in accordance with the present invention. More specifically, in one embodiment of the present invention, the travel server 236 manages inventory items using data relationships that establish three distinct levels of data description. FIG. 5 is a block diagram of a three level of detail inventory item relationship 500 utilized by the travel server 236 to manage inventory items in accordance with the present invention. The three levels of detail form a hierarchical relationship: each level includes data regarding various aspects of the inventory items managed by the travel server 236.
In general, the first level of detail includes the most extensive feature data associated with the inventory item. The first level of detail may be the same for some inventory items. The second level of detail is related to the first level of detail for the directory item, including more specific details related to the directory item. The second level of detail data is not as extensive as the first level, but may be the same for some inventory items. The third level of detail is related to the first and second levels of detail and provides more specific data related to the inventory item. A third level of detail includes data that is limited to only a single directory entry.
As shown in FIG. 5, the first level of detail used to describe an inventory item is a stock-keeping unit ("SKU") group 502 record. Each SKU group 502 record includes the most extensive descriptive data associated with the inventory item. The SKU group 502 data may be generic to a number of different inventory items. However, not every type of inventory item will have a SKU group 502 record. The second level of detail used to define the inventory items is the SKU504 record. Each SKU504 record corresponds to a SKU group 502 record, defining more specific data related to the inventory item. More specifically, each SKU504 record corresponds to an identifiable product or service that can be sold to a consumer. Thus, the SKU504 record contains a base level of detail. Similar to the SKU group 502, SKU504 data may be associated with more than one inventory item. A third level of detail used to define an inventory item is the SKU inventory 506 record. Each SKU inventory 506 record corresponds to a SKU group 506 and a SKU504 record, defining more specific data related to the inventory item. However, unlike the SKU group 502 and SKU504 records, the SKU inventory 506 data is associated with a single inventory item. More specifically, the SKU inventory 506 record corresponds to a specific instance (specific instance) of the SKU504 record. Those skilled in the art will appreciate that the allocation of detail between the SKU group 502, SKU504 and SKU inventory 506 records may be modified.
In one illustrative example of applying the SKU inventory item information definition to a hotel room inventory item, assume that the inventory item is a portion of a hotel room that can be sold on a particular date. In accordance with the present invention, the travel server 236 stores details regarding instances (instances) of inventory items, i.e., hotel rooms on a particular date, based on the inventory item data relationship 500. More specifically, the travel server 236 could generate a SKU group 502 corresponding to a first level of detail, such as the name of the hotel. The hotel SKU group 502 record may include the most extensive details unique to the inventory item associated with the hotel, such as the overall hotel service fee, hotel-wide usage restrictions, and the like. In addition, the SKU group 502 record information may also include date-based information that enables the travel server 236 to determine the specific charges, taxes, service fees that depend on the date of use.
The travel server 236 could then generate one or more SKU504 records associated with the SKU group 502 record and corresponding to the second level of detail for the inventory item. For example, the travel server 236 could generate SKU504 records for each type of room in the hotel (SKU group 502), such as a two-person room, a luxury room (king size room), and a top suite. The travel server 236 includes all room specific data in each SKU504 record, such as the base price for each room type, the individual surcharge for all top-level suites, the room size, the room usage record, and the like.
Next, the travel server 236 could generate a SKU inventory 506 record associated with the SKU group 502 and SKU504 records and corresponding to a third level of detail related to the inventory item. Each SKU inventory 506 record includes data describing the specific characteristics of the inventory item, i.e., hotel room for sale. This information may include room prices from the provider 240, room prices charged to the consumer, usage restrictions. In addition, the information may also include restrictions from the provider, such as the highest price that can be charged to the consumer, the time that the reservation must be advanced, etc. Referring to the previous example, if a supplier 240 allocated 20 double rooms on day 7/28 2001, the travel server 236 could generate a SKU inventory 506 record associated with both the hotel SKU group 502 and the double room SKU504 and including data specifying the date of existence on day 7/28 2001 and the availability of 20 rooms. In a similar manner, if the supplier 240 assigned to the same room of the travel server 236 at the second night (i.e., day 29, 7/2001), a new SKU inventory record 506 is generated with data specifying that the day 29, 7/2001 existed and that 20 rooms were available. In this example, both SKU inventory records would be linked to the same SKU group 502 record and SKU504 record.
In another illustrative example of applying the SKU inventory item information to a musician's music compilation, assume that the inventory items are albums, tapes, compact discs ("CDs"), and digital video discs ("DVDs") relating to a particular musician sold by the travel server 236 (or any server configured to sell music-related items). To store the inventory item data, the travel server 236 could generate a SKU group 502 record corresponding to a first level of detail, such as a music provider or a particular music brand. The travel server 236 could then generate a number of SKU504 records corresponding to the second level of detail. In this embodiment, the travel server 236 could generate a SKU504 record for each type of product available for sale. For example, the travel server 236 could generate an album SKU record for each different album provided by the provider, a tape SKU record for each different tape provided by the provider, a CD SKU record for each different CD provided by the provider, and a DVD SKU record for each different DVD provided by the provider. Finally, the travel server 236 could generate a SKU inventory 506 record for each particular instance of the SKU504 record. For example, if the provider has allocated two allotments of CDs of the same character (distint) for sale, the travel server 236 could generate two SKU inventory 506 records relating to the CD SKU504 records to correspond to each allotment of the provider. Each of these SKU inventory 506 records may include the number of quotas per batch that are provided to the travel server 236. Those skilled in the art will appreciate that the inventory item data relationship 500 may also be provided for various other inventory types, including, but not limited to, airline services, ship-to-ship services, event tickets, rental items, and the like. Further, those skilled in the art will appreciate that some inventory items may not use all three levels of detail, or that more or different levels of detail may be used in accordance with the present invention.
As previously mentioned, the travel server 236, in accordance with one aspect of the present invention, may be utilized to perform a variety of inventory management tasks. FIGS. 6 and 10-12 are block diagrams of the travel management system 230 of FIG. 2 illustrating various inventory management tasks that may be performed by the travel management system in accordance with the present invention. Referring to FIG. 6, consistent with an aspect of the present invention, the travel management system 230 may be utilized to accept a query from a client computing device 232 for available inventory. In an exemplary embodiment of the present invention, the consumer may browse the website provided by the travel server 236 using the web browser 234 on the client computing device 232. For example, a consumer may be interested in obtaining information about available flights. In this way, the consumer need not make a subscription request, but may simply limit communications to inquiries of availability, price, selection number, and the like.
As shown in FIG. 6, the client computing device 232 issues a user query for inventory items. The user query for inventory is transmitted over a communication network, such as the Internet 20, and received by the travel server 236. The travel server 236 issues a query to the inventory store 238, and the inventory store 238 returns inventory item data based on the inventory item data relationship 500 and the matching query criteria. The travel server 236 transmits the results of the query to the client computing device 232 via a communication channel.
FIG. 7 is a block diagram illustrating a catalog request processing routine 700 that is executed by the travel server 236 to process queries for catalog items as described in FIG. 6 in accordance with the present invention. At block 702, the client interface application 412 of the travel server 236 obtains a user query for available inventory items. In one embodiment of the present invention, the user query for a catalog includes a set of criteria that can be used to identify corresponding catalog item data stored in catalog storage 238. The set of criteria may include a range of available dates if the catalog is available for many days. The set of query criteria may also include various inventory specific identifications (identifiers), such as a selection of hotels, airlines, nautical, and combinations thereof. The set of query criteria may also include a selection of preferences for a particular type of inventory item. For example, the set of criteria may include a selection of a type of seat on the flight (e.g., window, aisle, first class), a hotel room type, a cabin type, smoking preferences, special dining requirements, amenities, proximity to additional amenities, and the like. The set of criteria may further include an identification for a particular product, such as a title of the book, a product code, an order number, and the like. Additionally, the set of criteria may include one or more pre-stored user preferences that may facilitate selection of a matching inventory item from inventory store 238. For example, the user may configure the user computing device 232 to issue inventory item queries for a particular flight at the beginning of each month.
Further, in one embodiment of the present invention, the travel server 236 may provide the client computing device 232 with one or more graphical user interfaces ("GUIs") that allow the consumer to specify selections for inventory item selection criteria by manipulating the graphical objects. For example, the travel server 236 may provide a calendar graphical object that allows the consumer to select a date or range of dates of interest within a one month period.
At block 704, the inventory processing application 416 of the travel server 236 queries the available inventory from the inventory store 238. FIG. 8 is a flow diagram of a query available inventory subroutine 800 executed by the inventory processing application 416 in accordance with the present invention. At block 802, the directory processing application 416 obtains a set of user specified criteria from the client interface application 412. In one embodiment of the invention, the catalog processing application 416 may also process the input criteria to generate additional selection criteria. For example, if the user computing device 232 inputs a selected date or date range, the catalog processing application 416 may also generate an additional range or combination of dates to be searched.
At block 804, the inventory processing application 416 searches for any SKU group 502 records matching the set of criteria. At block 806, the inventory processing application 416 searches for any SKU504 records matching the set of criteria and corresponding to the SKU group 502 records. . At block 808, the inventory processing application 416 searches for any SKU inventory 506 records matching the set of criteria and corresponding to the SKU group 502 records and SKU504 records.
At decision block 810, a test is conducted to determine if there are multiple matching SKU inventory 506 records. According to one embodiment of the invention, there may be multiple matching SKU inventory 506 records for a particular SKU 504. For example, based on previous quotas from provider 240, directory store 238 may have: a first SKU inventory 506 for a hotel room type (e.g., two-person room) having a first price, and a second SKU inventory 506 for the same hotel room type having a second price. Thus, the inventory processing application 416 may be required to determine which SKU inventory 506 item best matches the submitted criteria. If there are multiple SKU inventory 506 records, the inventory processing application 416 qualifies (qualify) the multiple SKU inventory 506 records at block 812. In one embodiment of the present invention, the definition of the SKU inventory 506 record includes a selection of SKU inventory 506 records that can be applied. For example, if the SKU inventory 506 record corresponds to an inventory item having a limitation on consumer usage (e.g., must be sold with a ticket for a particular flight or sold as part of a packaged service (package)), and the requirement criteria does not satisfy the usage limitation, the SKU inventory 506 record will not be selected by the inventory processing application 416. Similarly, if the matching SKU inventory 506 records include a provider limit on usage (e.g., an inventory item from the first quota must be sold before an inventory item from the second quota), the inventory processing application 416 will not select the SKU inventory 506 record corresponding to the second quota of inventory items. However, the definition of the SKU inventory 506 records may also include the selection of other SKU inventory 506 records that are not restricted, rather than having to select a single matching SKU inventory 506 record.
After block 812 is complete, or if there are no more matching SKU inventory 506 records at decision 812, then at decision 814 a test is made to determine if there are any more matching SKU group 502 records. If there are additional SKU group 502 records, at block 816 the inventory processing application 416 retrieves the next matching SKU group 502 and the routine 800 returns to block 806. Block 806 and 816 may be repeated until all matching SKU group 502 records identified at block 804 have been processed. Further, while the retrieval and qualification process steps appear to be a separate process, one skilled in the art will appreciate that all SKU group 502, SKU504, and SKU inventory 506 records may be retrieved and qualified in a single process.
If there are no other matching SKU inventory 506 records, the inventory processing application 416 processes and returns the SKU information data identified in block 804 and 812 at block 818. In one embodiment of the present invention, the inventory processing application 416 may be processed to generate a total price for each selected inventory item corresponding to the SKU information. In another embodiment of the present invention, the processing may include determining whether an inventory item corresponding to the SKU information is available. In addition, the inventory processing application 416 may use one or more processing methods to generate an order list of inventory items based on the matching SKU information sorted by price or other factors for the consumer. For example, if the request criteria include a preference criteria (e.g., for an airline corresponding to the user's frequent flight plan), the inventory processing application 416 may select to display the SKU inventory 506 record matching the characteristic as the first item displayed for use. One example of a process and system for establishing an order list based on consumer price is in U.S. patent application No. 09/825,451 entitled "OPTIMIZED System and method FOR converting BEST efforts", filed on 4.4.2001, which is incorporated herein by reference. However, those skilled in the art will appreciate that alternative or other matching directory data processing methods may be used with the present invention. In addition, the inventory processing application 416 may also generate different graphical or textual screen displays for display on the client computing device 232 in accordance with the present invention. For example, the travel server 236 may populate (post) a calendar GUI with date ranges for the available inventory items. At block 820, the routine 800 returns to the process 700.
Returning to FIG. 7, at block 706, the client interface application 412 obtains the results from the inventory processing application 416 and sends the processed inventory data results (e.g., SKU information) to the client computer 232. At block 708, the routine 700 ends.
FIG. 9 is a block diagram illustrating the data relationships utilized by the inventory processing application 416 of the travel server 236 to process available inventory queries issued by the client computing device 232. In one embodiment of the invention, the directory processing application 416 may act as a processing engine 900 to obtain and process various data blocks. As shown in FIG. 9, the processing engine 900 obtains a data block stored according to the catalog item data relationship 500 and relating to a user query 902. Processing engine 900 obtains one or more blocks of inventory item data 500 based on a set of criteria and processing methods associated with user query 902, such as programs 700 and 800 described above and shown in fig. 7 and 8. In addition to user query 902 and inventory item data 500, processing engine 900 can obtain data blocks 904 relating to one or more external adjustments that are not directly related to a particular inventory item data 500. For example, adjustment data block 904 may include data relating to user-specific discounts, media-specific discounts (e.g., using the Internet to process requests), non-catalog item-related service fees, tax rates, advanced (advanced) purchase discounts, user historical price adjustments, length of hold price adjustments (length of pricing), special price codes, and the like. Thereafter, using the user query data 902, the inventory item data 500, and the adjustment data 904 data blocks, the processing engine 900 processes the inventory item data to generate a set of processing results 906, as explained above with respect to block 818 (FIG. 8). The processing results may then be sent by the directory processing application 416 to the client interface application 412 for transmission to the client computing device 232. Those skilled in the art will appreciate that the data blocks of fig. 9 are for exemplary purposes and that modifications may be made within the scope of the invention.
Referring to another inventory management task, FIG. 10 is a block diagram of the travel management system 230 of FIG. 2 illustrating a request for a new inventory initiated by the travel server 236 in accordance with the present invention. In this embodiment, the travel server 236 generates a request for inventory to the supplier 240 via a communication network, such as the Internet 20. The supplier 240 processes the travel server 236 request by querying the supplier inventory store 241. The results of the supplier inventory query are sent back to the supplier 240 and then transmitted to the travel server 236 via the communication network 20. The travel server 236 then modifies the corresponding inventory item based on the response received from the supplier 240. In one practical embodiment of the present invention, the user associated with both the travel server 236 and the provider may initiate an action (action) via a network-based control. Further, the travel service 236 computing system need not be integrated directly with the provider 240 computing system, such as by accessing the provider database 41 (241. Instead, the interaction between the two parties may only require the exchange of data information.
FIG. 11 is a block diagram of the travel management system 230 of FIG. 2 illustrating a supplier initiated inventory modification request. Similar to the block diagram of FIG. 10, the present embodiment relates to the modification of the inventory data stored by the travel server 236 in the inventory store 238. As shown in FIG. 11, a supplier 240 initiates a catalog modification request over a communications network, such as the Internet 20. In one embodiment of the present invention, the supplier agent may generate the inventory modification request via a web interface provided by the supplier 240 computing system or the travel server 236. The travel server 236 receives the inventory modification request. In one embodiment, the travel server 236 does not require acceptance of the inventory modification request sent by the provider. However, assuming at least a portion of the revision request is acceptable to the travel server 236, the travel server 236 processes the inventory modification request to modify the inventory store 238 based on the information contained in the inventory modification request. The travel server 236 then sends a catalog modification confirmation to the supplier 240 via the communication network 20. Those skilled in the art will appreciate that in some embodiments, the travel server 236 may be required to accept all modification requests.
FIG. 12 is a block diagram of the travel management system 230 of FIG. 2 illustrating a supplier request for inventory status. As shown in FIG. 12, a provider 240 initiates a directory state query over a communication network, such as the Internet 20. The travel server 236 receives the inventory status query and queries the inventory store 238. Catalog storage 238 returns catalog item data that matches the provider query. As will be described in greater detail below, the travel server 236 has the option of filtering a portion of the inventory item data received from the inventory store 238. The travel server 236 may then transmit the inventory item data to the supplier 240 via the communication network 20.
FIG. 13 is a flow diagram illustrating a provider inventory request processing routine 1300 that may be used by the travel server 236 to facilitate various provider 240 activity requests, such as the provider inventory activities illustrated in FIGS. 10, 11, and 12. At block 1302, the provider interface application 414 of the travel server 236 obtains the provider's request for inventory action. At block 1304, the catalog processing application 416 processes the provider's request for catalog behavior. In one embodiment of the invention, the catalog processing application 416 may execute one or more subroutines that relate to different requests for catalog behavior by the provider.
For example, FIG. 14 is a flow diagram illustrative of a sub-routine 1400 implemented by the inventory processing application 416 of the travel server 236 in processing a supplier batch inventory action request in accordance with the present invention. At block 1402, the catalog processing application 416 obtains a provider batch catalog activity request from the provider interface application 414. In one embodiment of the invention, the provider batch inventory action request includes transmitting data representing a quota for one or more inventory items to be sold by the inventory management system. The provider batch inventory action request may also include information sent by the provider to modify existing quota of batch inventory. In addition, the provider batch catalog behavior request may also include a new quota for catalog items from a new or existing provider 240.
At block 1404, the inventory processing application 416 identifies matching batch inventory action request SKU group 502, SKU504, and SKU inventory 506 records. In one embodiment of the present invention, the batch inventory request may refer directly to the preexisting instances of the SKU group 502, SKU504, and SKU inventory. Alternatively, the action request may request that a new SKU inventory 506 record be generated. At decision block 1406, a test is conducted to determine whether there are SKU group, SKU, and SKU inventory records matching the batch inventory action request. If not, at block 1408, the inventory processing application 416 generates a corresponding SKU group, SKU, and/or SKU inventory record. For example, if the provider 240 issues a batch inventory action containing a new allotment of hotel rooms having a different price than the previous allotment, the inventory management system 36 would generate a new SKU inventory 506 record corresponding to the new allotment. However, if a SKU group or SKU record already exists, the inventory processing application 416 will not generate a new SKU group or SKU record.
If there is a matching SKU inventory 506 record at block 1406, or once the SKU inventory 506 record is generated, the inventory processing application 416 updates the matching SKU inventory record with the batch inventory action request. In one embodiment of the present invention, this may include migrating (populating) a new SKU inventory record using the number of inventory items assigned by the provider 240. Alternatively, the updating of the information may include adjusting the inventory item quota described in the SKU inventory record based on an increase or decrease in the batch inventory action request. Additionally, the updating of the information may include adjusting other inventory item characteristics, such as price, usage restrictions, etc. of the inventory item. At block 1412, the catalog processing application 416 returns an acknowledgement of the batch catalog activity request, which is returned to the provider 240. At block 1414, subroutine 1400 returns to routine 1300.
In another example, FIG. 15 is a flow diagram of a process provider inventory query action subroutine 1500 employed by the inventory processing application 416 of the travel server 236 as an alternative subroutine for block 1304 (FIG. 13). At block 1502, the catalog processing application 416 obtains a provider catalog activity request from the provider interface application 414. The provider catalog behavior request includes a set of criteria. At block 1504, the inventory processing application 416 identifies SKU group, SKU, and SKU inventory records matching the provider inventory query request. At step 1506, the inventory processing application 416 filters out SKU group, SKU and SKU inventory records matching the provider inventory query request. In one embodiment of the present invention, some of the data contained in the SKU group, SKU, and SKU inventory records may not be released to the provider. For example, while the supplier 240 may know the price determined (issued) when the inventory was dispensed, the travel service 236 would not want the supplier to know at what price to sell to the consumer. Thus, the catalog processing application 416 may filter out this portion of the data before sending it to the provider. At block 1508, the inventory processing application 416 returns the SKU inventory records filtered out to match the provider inventory query request. In a practical embodiment of the present invention, the transmitted data may include usage data (utilization data) that contains not only a specific number of available inventory items in the SKU inventory 506 record, but also some type of history, which may enable the provider 240 to monitor the progress of the inventory being used. As will be appreciated by those skilled in the art, this allows the provider 240 to monitor the number of inventory items sold by the travel server in real time. The real-time data may then be used as a preparation, as necessary materials, and/or to allow the provider to adjust the price of unsold inventory based on the sales activity of a particular inventory item (as shown in process 1400 of FIG. 14).
Returning to FIG. 13, once the catalog processing application 416 has executed the various provider catalog behavior subroutines (e.g., FIGS. 14 and 15) in block 1304, the results of the request processing are sent to the provider 240 in block 1306. In an exemplary embodiment of the invention, this result may include a confirmation that the action was completed. The results may also include data that modifies the behavior of the catalog so that the provider can modify its records accordingly. At block 1308, routine 1300 terminates.
To accomplish the data management and execute the above-described routines, the travel server 236 may store the inventory item data in the data store 238 according to a relational database data storage format. FIG. 16 is a block diagram illustrating a relational database data relationship 1600 for storing catalog data in accordance with the present invention. In one embodiment of the invention, the data relationship 1600 may be customized to include one or more data tables or data fields (fields) corresponding to unique aspects of a particular inventory item, such as the type of bed associated with a hotel room inventory item. However, those skilled in the art will appreciate that other forms of data storage or other relational database data relationships may be used in accordance with the present invention.
As shown in FIG. 16, the data relationship 1600 defines a SKU group table 1602 operable to include inventory item data related to the SKU group 502 record (FIG. 5). In a practical embodiment of the present invention, the SKU group table 1602 may include SKU group data 1604 such as a SKU group ID, vendor identification, item address, tax area identification, SKU group contact information, and the like. Additionally, one or more fields in SKU group data 1604 may point to one or more additional data tables, based on the associated database, to further define SKU group data 1604, as shown at 1606.
The data relationship 1600 also defines a SKU table 1608 operable to include inventory item data related to the SKU504 record (FIG. 5). In a practical embodiment of the present invention, the SKU table 1608 may include SKU data 1610 such as a SKU group ID field, unit type information, cancellation penalty information, service charge information, special personnel information, and reservation information, and the like. Similar to the SKU group table 1602, in the SKU data 1610 one or more fields may point to one or more additional data tables to further define the SKU data 1610, as indicated at 1612.
With continued reference to FIG. 16, the data relationship 1600 further defines a SKU inventory table 1614 operable to include inventory item data related to the SKU inventory 506 record (FIG. 5). In one practical embodiment of the present invention, the SKU inventory table 1614 may include SKU inventory data 1616, such as a SKU ID field, a quality field, provider price information, consumer price information, inventory usage information, usage restriction information, collateral information, and the like. Additionally, one or more fields in the SKU inventory data 1616 may point to one or more additional data tables to further define the SKU inventory data 1616, as shown at 1618.
In addition to managing inventory, the travel server 236 of the travel management system 230 may be utilized to manage reservation requests from one or more of the client computing devices 232. Those skilled in the art will appreciate that the reservation request may include an offer (offer) to reserve the right to a service, such as the right to stay in a hotel room on a night. However, the subscription request may also include an offer (offer) to purchase or transfer rights to the actual item (e.g., an offer to purchase a book). In addition, the hotel server 236 may be used to send corresponding information to the client computing device 232 and the provider 240. To assist in the reservation request processing, the travel server 236 uses the reservation data relationship to store and manage the data needed to process the reservation request.
FIG. 17 is a block diagram of a reservation data relationship 1700 utilized by the reservation processing application 418 of the travel server 236 to manage reservation requests in accordance with the present invention. As shown in FIG. 17, the reservation request received by the client computing device 232 (which should be the travel server 236. The first level of detail used to describe the reservation request is a reservation transaction 1702 record. Each reservation transaction 1702 record may be associated with one or more reservation requests and may be used to track multiple reservation requests from a user or group of users grouped together.
The second level of detail used to define the reservation request is the reservation items 1704 records. Each reservation items 1704 record corresponds to a reservation transaction 1702 record and defines one or more inventory items associated with a particular reservation request and having common characteristics (e.g., common vendor, common reservation number, etc.). For example, assume that through a reservation request, a user requests to stay in a hotel for three days, purchase an airline ticket (airfare), and rent a car for two days. The travel server 236 could generate reservation items 1704 records for hotel reservations, airline reservations, and rental car reservations. Although only one reservation items 1704 record is shown in FIG. 17, those skilled in the art will appreciate that any number of reservation items 1704 may be directed to a reservation transaction 1702 record.
The third level of detail used to define the subscription request is one or more subscription inventory 1706 records. Each reservation 1706 record corresponds to a reservation items 1704 record and is associated with a particular instance of a catalog item associated with the reservation request. Referring to the previous example, the travel server 236 could generate three reservation inventory 1706 records associated with the hotel reservation items 1704 records for each night of stay; two directory entry records associated with the ticket reservation entry records, corresponding to the back and forth flights; and two reservation inventory records associated with the rental car inventory item record corresponding to two days of rental car reservations. In one embodiment of the present invention, each reservation inventory 1706 record is associated with a SKU inventory 506 (FIG. 5) and includes reservation data related to a particular instance of an inventory item. However, in some examples, the reservation inventory 1706 record may be generated for additional inventory items (e.g., an over-reservation quota) that are outside the scope of the SKU inventory 506 record.
With continued reference to FIG. 17, the reservation data relationship also includes one or more price components 1708, the price components 1708 containing consumer prices related to various aspects of the reservation request. Additionally, in one embodiment of the present invention, a price component 1708 may be associated with the reservation transaction 1702, reservation items 1704, and reservation inventory 1706 records. For example, a price component 1708 can be associated with a reservation inventory 1706 record and can include data related to a consumer price for an instance of a reservation inventory item. Another price component 1708 can be associated with the reservation items 1704 records and can include price data related to the reservation item level, such as price adjustments for packaged reservations. In addition, a price component 1708 can be associated with the reservation transaction component 1702 and can include data related to the level of the reservation transaction, such as price adjustments for employee discounts, network-based reservation requests, and the like. As described below, the different price component 1708 data can be combined together to generate a total consumer price for the reservation request.
Those skilled in the art will appreciate that the reservation data relationship 1700 may be used for a plurality of inventory item reservation requests, including, but not limited to, hotel reservations, airline reservations, cruise reservations, ticketing reservations, rental asset reservations, physical sales or rentals, and the like. Further, those skilled in the art will appreciate that the processing for a particular subscription request may not use all three levels of detail in the subscription data relationship 1700.
As previously described, in accordance with one aspect of the present invention, the travel server 236 may be utilized to perform a variety of reservation request processing tasks. FIGS. 18 and 19 are block diagrams of the travel management system 230 of FIG. 2 illustrating various embodiments relating to reservation request processing in accordance with the present invention. Referring to FIG. 18, in accordance with an aspect of the present invention, the travel management system 230 may be utilized to obtain and process client computing device 232 reservation requests. As shown in fig. 18, the client computing device 232 issues a user subscription request. The user reservation request is transmitted over a communication network, such as the Internet 20, and is received by the travel server 236. The travel server 236 issues a query to the inventory store, which returns inventory item data that is stored according to the inventory item data relationship 500 and that matches the query criteria. In addition, the travel server 236 generates reservation data based on the reservation data relationship 1700. The travel server 236 processes the user reservation request, the inventory data, and the reservation data. If the reservation process is successful, the travel server 236 sends a confirmation to the client computing device 232 via the Internet 20 and a notification to one or more of the providers 240 of the reserved inventory items.
Referring to FIG. 19, the travel management system 230 may be utilized to process a client computing device 232 reservation request for a provider 240 that is not continuously connected to the travel management system 230. Similar to fig. 18, the client computing device 232 issues a user subscription request. The user reservation request is transmitted via a communication network, such as the Internet 20, and is received by the travel server 236. The travel server 236 issues a query to the inventory store 238, and the inventory store 238 returns inventory item data that is stored according to the inventory item data relationship 500 and that matches the query criteria. In addition, the travel server 236 generates reservation data based on the reservation data relationship 1700. The travel server 236 processes the user reservation request, the inventory data, and the reservation data. If the reservation process is successful, the travel server 236 sends a provider notification, such as via fax, to the provider 240. The provider 240 receives the notification and confirms the reservation with the travel server 236. The travel server 236 then transmits an acknowledgement to the client computing device 232.
FIG. 20 is a flow diagram illustrative of a inventory request processing routine 2000 executed by the travel server 236 in accordance with the present invention. At block 2002, the client interface application 412 of the travel server 236 obtains the user reservation action request. In one embodiment of the invention, the user subscription behavior request may include a request for a new subscription, a request to cancel an existing subscription, and a request to modify an existing subscription. However, those skilled in the art will appreciate that the action request may include additional actions related to the subscription. At block 2004, the reservation processing application 418 of the travel server 236 processes the reservation action request. Thus, the reservation processing application 418 may execute different processing subroutines depending on the user reservation action request.
In a first illustrative example, FIG. 21 is a flow diagram of a process new reservation request subroutine 2100 executed by the reservation processing application 418 to process a new consumer reservation request in accordance with the present invention. In one embodiment of the present invention, similar to a user query for available inventory (block 702 of FIG. 7), the user reservation request obtained by the client interface application 412 and communicated to the reservation processing application 418 includes a set of criteria for identifying inventory data stored in the inventory store 238 that matches a set of user specified criteria. If the catalog exists on multiple dates, the set of criteria may include the date or date range used. The set of criteria may also include different directory specific identifiers (identifiers), such as a selection of hotels, airlines, nautical, and combinations thereof. The set of criteria may also include preferences for particular types of inventory items. For example, the set of criteria may include a selection of a type of seat on the flight (e.g., window, aisle, first class), a particular seat on the flight, a hotel room type, a particular room in the hotel, a cabin type, a particular cabin on the cruise ship, smoking preferences, special dining requirements, amenities, proximity to amenities, and the like. Further, the set of specific criteria may include an identification for a specific product, such as a title of the book, a product code, an order number, and the like. Additionally, the set of criteria may include one or more pre-stored user preferences that may facilitate selection of a matching inventory item from inventory store 238. For example, the travel server 236 may store the set of criteria relating to the user's requirements for inventory, and the same set of criteria may be reused if the user later requires a reservation.
At block 2102, the reservation processing application 418 obtains a set of user specified criteria from the client interface application 412. The reservation processing application 418 queries the SKU group 502, SKU504, and SKU inventory 506 records matching the set of criteria and subtracts the quantity of reservation requests from the SKU inventory 506 allotment. For example, if the reservation request includes a request to stay in a hotel for two nights, the reservation processing application 418 selects a matching SKU inventory 560 record for each night and decrements each SKU inventory record by one in the room quota. In an exemplary embodiment of the invention, the reservation processing application 418 may use a process such as the sub-process 800 (FIG. 8) that queries the available inventory. Alternatively, the reservation processing application 418 may obtain previously obtained inventory data through the inventory processing application 416 in accordance with the present invention.
In one embodiment of the present invention, the travel server 236 may process multiple reservation requests simultaneously. Thus, to avoid reserving the same instance of a inventory item, the reservation processing application 418 sets inventory item information obtained from the inventory store 238 to a locked state. In one embodiment of the present invention, the reservation processing application 418 adds a record to the lock table containing the SKU inventory 506 inventory item information previously retrieved from the SKU inventory records 506. Referring to the previous example, the reservation processing application 418 places the SKU inventory 506 record data corresponding to each night of the hotel room in the locked table. Thus, although the inventory items described in the locked form have not been reserved, they are at least temporarily taken from the available inventory. Those skilled in the art will appreciate that other inventory item reservation data management approaches/indicators may be used with the present invention.
At block 2104, the reservation processing application 418 generates instances of a reservation transaction 1702 record, one or more reservation items 1704 records, and one or more reservation inventory 1706 records. Similar to the inventory item records, the reservation transaction 1702, reservation items 1704, and reservation inventory 1706 are also locked. At block 2106, the reservation processing application 2106 completes the financial transaction. In one embodiment of the present invention, the reservation processing application 418 obtains the price component 1708 (FIG. 17) associated with the reservation transaction 1702, reservation items 1704, and reservation inventory 1706 records and attempts to complete a financial transaction. Completion of the financial transaction may include obtaining credit card information and generating a charge. Completion of the financial transaction may also include obtaining checking account information and generating a charge. Those skilled in the art will appreciate that other methods of financial transactions may be used with the present invention, including but not limited to: prepaid accounts, third party transaction providers, and the like.
At decision block 2108, a test is conducted to determine whether the financial transaction was successfully completed. If the transaction is not successful or the financial transaction cannot be verified within a defined time, at block 2110, the reservation transaction 1702, reservation items 1704, and reservation inventory 1706 records are deleted. At block 2112, the reservation processing application 418 retrieves the SKU inventory 506 record information stored in the locked table. More specifically, the reservation processing application 418 re-adds the inventory item data stored in the lock table to the corresponding SKU inventory 506 record to allow the inventory item to be restored. Subsequently, the reservation processing application 418 deletes the corresponding inventory item in the locked form. At block 2114, the sub-routine 2100 returns to block 2004 of the routine 2000 with a result indicating a transaction failure.
Returning to decision block 2108, if the financial transaction is successful, at block 2116, the reservation transaction 1702, reservation items 1704, and reservation inventory 1706 are updated to indicate that the transaction was successful. At block 2118, the inventory item information stored in the locked table is deleted. In addition, the SKU inventory 506 usage information may be updated to indicate a successful reservation of an inventory item. At block 2114, the sub-routine 2100 returns to block 2004 of the routine 2000 with a result indicating that the transaction was successful.
FIG. 22 is a block diagram illustrating the data relationships utilized by the reservation processing application 418 of the travel server 236 to process new reservation requests issued by the client computing device 232. In one embodiment of the invention, the reservation processing application 418 may act as a processing engine 2200 to obtain and process different blocks of data. As shown in FIG. 22, the processing engine 2200 obtains data blocks relating to a user reservation request 2202 and data blocks relating to catalog data 2204 associated with a catalog item matching the user reservation request.
As depicted at block 2104, the processing engine 2200 generates a reservation transaction 1702 record, one or more reservation items 1704 records, and one or more reservation inventory 1706 records corresponding to the user reservation request 2202 and the inventory data 2204. Further, as shown in FIG. 22, the processing engine can also generate, or otherwise obtain, one or more reservation traveler data blocks 2206 (depending on the number of travelers and the requirements for traveler information) operable to define one or more customer-specified preferences. Thus, the processing engine 2200 generates and then uses data associated with the reservation transaction 1702 record, the one or more reservation items 1704 records, and the one or more reservation inventory 1706 records to process the reservation request.
Using the user reservation request data 2002, inventory item data 2004, reservation data 1700, and reservation traveler 2004 data blocks, the processing engine 2200 then processes the reservation request and generates different results, which may be sent by the reservation processing application 418 to the client computing device 232 and/or the corresponding provider 240. Those skilled in the art will appreciate that the data chart of FIG. 22 is for illustrative purposes and that other alternatives may be used within the scope of the present invention.
In another illustrative example, FIG. 23 is a flow diagram of a process reservation cancellation request subroutine 2300 implemented by the reservation processing application 418 to cancel an existing consumer reservation request in accordance with the present invention. At block 2302, the reservation processing application 418 obtains all reservation transaction 1702, reservation items 1704 and reservation inventory 1706 records ("reservation records") corresponding to the reservation modification request. In one embodiment, the user reservation action request obtained by the client interface application 412 and communicated to the reservation processing application 418 includes: data corresponding to the cancellation request identifying the reservation transaction 1702, reservation items 1704, and reservation inventory 1706 records. For example, the user subscription action request may include data identifying a subscription number, a confirmation number, a user name associated with the subscription, and/or other identification criteria. Further, in one embodiment of the invention, the user subscription behavior request may request that only a portion of the previous subscriptions be cancelled. To verify that partial reservation cancellation is possible, the reservation items 1704 and/or reservation inventory 1706 may contain cancellation information as part of the record data.
At block 2304, the reservation processing application 418 places the inventory item information related to the cancel request in the inventory item information lock table. Similar to that described with respect to block 2102 (FIG. 21), the locked form provides a mechanism by which inventory item data that is neither part of the available inventory nor part of the confirmed reservation may be managed. At block 2306, the reservation processing application 418 locks the reservation records. In addition, the reservation processing application 418 updates the reservation records as if the processing of the cancel request was successful.
At block 2308, the reservation processing application attempts to complete the financial transaction. In one embodiment of the invention, the reservation processing application 418 attempts to return the price paid by the consumer minus the cancellation penalty to the user. For example, the reservation processing application 418 may attempt to credit a financial institution credit account used by the user at the time of the purchase. In one embodiment, if cancellation is not possible, such as due to a claim for cancellation policy, the reservation processing application 418 may return an error message when attempting to cancel the records of the reservation transaction 1702, reservation items 1704, and reservation inventory 1706. Alternatively, the reservation processing application 418 may return an error message when it attempts to complete the financial transaction.
At decision block 2310, a test is conducted to determine whether the financial transaction was successful. If the financial transaction is successful, at block 2312, the reservation processing application 418 unlocks the reservation records. At block 2314, the reservation processing application 418 updates all SKU item 506 records corresponding to the inventory item records in the locked table. For example, if the reservation cancellation request relates to a night at a hotel, the reservation processing application 418 would add an available field in the SKU inventory 506 record corresponding to the particular hotel room inventory item. In addition, the reservation processing application 418 updates the corresponding SKU inventory 506 usage information. Finally, the reservation processing application 418 deletes all inventory item information in the lock table corresponding to the cancelled inventory items. At block 2316, the sub-routine 2300 returns to block 2004 of routine 2000.
Returning to decision block 2310, if the financial transaction is not successful, or if the cancellation request cannot be processed, at block 2318, the reservation processing application 418 returns reservation records to reflect the status of the reservation records prior to the unsuccessful cancellation request. In addition, the reservation processing application 418 unlocks the reservation records. At block 2320, the reservation processing application 418 deletes the inventory item information in the lock table corresponding to the inventory item involved in the cancellation request. At block 2316, the sub-routine 2300 returns to block 2004 of routine 2000.
In another illustrative example, FIGS. 24A and 24B are a flow diagram of a process reservation modification request subroutine executed by the reservation processing application 418 to modify an existing customer reservation request in accordance with the present invention. Referring to FIG. 24A, at block 2402, the reservation processing application 418 obtains the SKU group 502, SKU504, and SKU inventory 506 inventory item information corresponding to the new reservation portion of the modification request and locks the inventory information. In one embodiment of the invention, the reservation processing application 418 places the inventory item information in a locked form. Similar to the discussion of block 2102 (FIG. 21), the reservation processing application 418 obtains a set of user specified criteria from the client interface application 412 and identifies corresponding SKU inventory 506 information.
At block 2404, the reservation processing application 418 obtains inventory item information corresponding to the reservation record from the cancel portion of the modification request. The reservation processing application 418 places the inventory item information in a locked form. Thus, the locked table includes directory entry information relating to the new directory entry that was booked (block 2402) and the directory entry that was returned to directory store 238 (block 2404).
At block 2406, the reservation processing application 418 locks the reservation records. In addition, the reservation processing application 418 updates the reservation records as if the processing of the cancel request was successful. In one embodiment of the invention, updates to the reservation transaction 1702, reservation items 1704, and reservation inventory 1706 records may depend on whether the modification involves a single or multiple providers 240. If the transaction involves multiple providers 240, the reservation processing application 418 marks the old reservation items 1704 and reservation inventory 1706 records corresponding to the cancellation portion of the modification request and updates the reservation transaction 1702, reservation items 1704 to a successful cancellation. In addition, the reservation processing application 418 generates a new reservation items 1704 and reservation inventory 1706 record corresponding to the new reservation portion of the modification request recorded for the original reservation transaction 1702. If the transaction involves a single provider 240, the reservation processing application 418 associates the original reservation transaction 1702, reservation items 1704 and reservation inventory 1706 records of the cancelled portion of the modification request with the reservation transaction 1702, reservation items 1704 and reservation inventory 1706 records of the new portion of the modification request. Thus, the provider 240 will still maintain a single record, or associated record, with all of the subscription information.
At block 2408, the reservation processing application 418 attempts to complete the financial transaction. In one embodiment of the invention, the reservation processing application 418 processes the financial transaction as a net transaction between the amount returned from the return of the inventory (minus the cancellation/modification penalty) and the amount charged for the new reservation. Alternatively, the financial transaction may be processed independently according to the claim and the debt, respectively.
At decision block 2410, a test is conducted to determine whether the financial transaction was successful. Referring now to FIG. 24B, if the financial transaction is successful, at block 2412, the reservation processing application 418 unlocks the reservation records. At block 2414, the reservation processing application 418 updates the SKU item 506 record. Similar to block 2118 (FIG. 21), the SKU inventory 506 utilization information may be updated to indicate the success of the inventory item reservation. Finally, the reservation processing application 418 deletes the inventory item information in the locked form corresponding to the new reservation portion of the modification request. The reservation processing application 418 deletes the inventory item information associated with the cancelled portion of the modification request and merges it into inventory store 238. As discussed above with respect to block 2316 (FIG. 23), the inventory information associated with the cancelled portion is incorporated into the inventory store 238 and awaits sale by the travel server 236. At block 2416, subroutine 2400 returns to block 2004 of routine 2000.
Returning to decision block 2410, if the financial transaction is not successful, at block 2418, the reservation processing application 418 returns a reservation record associated with the new reservation portion of the modification request. The return of reservation records has been discussed previously with respect to block 2318 (FIG. 23). At block 2420, the reservation processing application 418 deletes the inventory item information in the lock table corresponding to the cancelled portion of the modification request. In addition, the SKU inventory 506 usage information may be updated to show successful reservation of an inventory item. At block 2416, subroutine 2400 returns to block 2004 of routine 2000.
Returning to FIG. 20, at block 2006, the reservation processing application 418 generates confirmation information for the client computing device 232 and a notification of the corresponding provider 240. In one embodiment, as shown in FIG. 18, the client interface application 266 obtains the confirmation information from the reservation processing application 418 and sends the confirmation information to the user via the communication network 20. Alternatively, if the client computing device 232 is no longer linked to the travel management system 230, the client interface application 266 may use other communication means such as facsimile, email, and the like. In addition, the provider interface application 268 obtains notifications from the reservation processing application 418 and sends the notifications to the corresponding provider or providers 240. In one embodiment of the invention, the notification includes data required by the provider 240 to update one or more of the user subscription records. For example, the notification may include a user name, credit information, room preferences, travel service confirmation number, provider confirmation number, and other details that may assist the provider in processing/confirming the reservation. The notification information may also include a different price code that the provider 240 uses to identify reconciliation accounts (reconcile accounts) from the travel server.
In addition, the provider interface application 414 can also include a communications component that can be employed to send notifications according to a provider-specified format/communications medium. For example, the provider interface application 414 may receive a standard encoded notification file, such as an XML file, from the subscription processing application 418. In conjunction with the communications component, the provider interface application 414 can convert the standard notification file into a file specifically formatted for the provider 240. For example, the notification may be formatted for facsimile transmission as specified by a particular provider 240. Alternatively, the notification may be formatted to use the provider's own electronic interface. Once the acknowledgement and/or notification has been sent, subroutine 2000 terminates at block 2008.
Referring to FIG. 19, in another embodiment of the present invention, the reservation processing application 418 may interact with one or more providers 240 that are not directly connected to the travel management system 230. According to the present embodiment, the provider interface application 268 generates a notification to the provider 240 that it is transmitting via any of a variety of communication media, such as telephone, facsimile, email, short message service, and the like. Unlike the previous embodiment (FIG. 18), the reservation processing application 272 waits to receive an acknowledgement from the provider before allowing the client interface application 266 to send acknowledgement information to the client computing device 232. As will be appreciated by those skilled in the art, the embodiment illustrated in FIG. 19 allows the travel management system to interact with one or more providers 240 that may have limited reservation and computing resources.
In one embodiment of the present invention, the travel server 236 may store the reservation data in the data store 238 or other storage location, depending on the relational database data storage format. FIG. 25 is a block diagram illustrating a relational data pipe data relationship 2500 for storing subscription data in accordance with the present invention. In a practical embodiment of the present invention, the data relationship 2500 may be customized to include one or more data tables or data fields (e.g., data fields to specify preferences for rental cars) corresponding to unique aspects of a particular reservation transaction. However, those skilled in the art will appreciate that other data storage formats or other relational database data relationships may be used in accordance with the present invention.
As shown in FIG. 25, the data relationship 2500 defines a reservation transaction table 2502 operable to define data related to the reservation transaction record 1702 (FIG. 17). In one embodiment of the invention, the reservation transaction table 2502 may include reservation transaction data 2504, such as a reservation ID field, route information, point of sale field, traveler user ID field, summary financial information, date of generation field, and the like. Further, consistent with a relational database, one or more fields in the reservation transaction table 2502 may point to one or more additional data tables to further define the reservation transaction data 2504, as shown at 2506.
The data relationship 2500 also defines a reservation traveler table 2508 operable to define information related to the user or group of users requesting the reservation. In a practical embodiment of the present invention, the reservation traveler table 2508 can include reservation traveler data 2510, such as a reservation ID field, name information, address information, telephone information, email information, and other user identification information.
The data relationship 2500 further defines a reservation items table 2512 operable to include reservation data corresponding to a reservation items record 1704 (FIG. 17). In a practical embodiment of the present invention, the reservation items table 2512 can include reservation items data 2514, such as a reservation ID field, confirmation information, cancellation information, consumer price information, provider notification information, change and cancellation penalty information, traveler preferences and special requirements information, and the like. Similar to the reservation transaction table 2502, one or more fields in the reservation items data 2514 can point to one or more additional tables to further define reservation items, as shown in 2516.
With continued reference to FIG. 25, the data relationship 2500 defines a reservation inventory table 2518 operable to include reservation data related to records (FIG. 17) of the reservation inventory 1706. In one embodiment of the invention, the reservation inventory table 2518 can include reservation inventory data 2520, such as a reservation item ID field, provider price information, consumer price information, inventory identification information, and the like. Additionally, one or more fields of the reservation items data 2518 can point to one or more additional data tables to further define the reservation items data 2520, as shown at 2522.
In one embodiment of the invention, the data relationship 2500 may also include a common table of financial information 2524 that includes all consumer price and provider price information for all reservations. For example, the common table of financial information 2524 includes consumer price and provider price information from the reservation transaction 1702 records, the reservation items 1704 records, and the reservation inventory 1706 records. Those skilled in the art will appreciate that the common table of financial information 2524 assists in generating price and cost information for all reservations. However, according to some embodiments of the invention, the general table of financial information 2524 may be omitted.
While exemplary embodiments of the invention have been shown and described, it will be understood that various changes may be made therein without departing from the spirit and scope of the invention.
Claims (63)
1. A method of processing a reservation request for one or more inventory items, the method comprising:
obtaining a user's reservation request for at least one inventory item;
obtaining catalog data corresponding to one or more catalog items and matching user reservation requests;
generating reservation transactions, reservation items, and reservation inventory records corresponding to the matched inventory data, wherein the reservation transaction records include data associated with one or more reservation requests; wherein the one or more reservation items records correspond to the reservation transaction records and identify a set of inventory items associated with a particular reservation request, and wherein the one or more reservation inventory records correspond to the reservation items records and include data associated with the reservation request for the inventory items identified in the inventory reservation items records;
processing reservation transactions, reservation items and reservation inventory records; and is
The processing results for the reservation transaction, the reservation items and the reservation inventory records are transmitted.
2. The method of claim 1, wherein the user reservation request includes a set of criteria identifying matching inventory items.
3. The method of claim 2, wherein the set of criteria includes a date or a range of dates for the subscription request.
4. The method of claim 2, wherein the set of criteria comprises a selection of hotel rooms or hotel room types.
5. The method of claim 2, wherein the set of criteria includes a selection of flights or airplanes.
6. The method of claim 2, wherein the set of criteria comprises a selection of a car rental agency or type of car rental.
7. The method of claim 2, wherein the set of criteria includes a selection of a type of vessel or hold.
8. The method of claim 1, wherein the inventory data corresponding to one or more inventory items is represented by at least one SKU and SKU inventory record, and wherein obtaining the inventory data comprises obtaining at least one SKU and SKU inventory record matching the reservation request.
9. The method of claim 8, wherein obtaining inventory data comprises obtaining a plurality of SKU and SKU inventory records that match the reservation request.
10. The method of claim 8, wherein the inventory data corresponding to one or more inventory items is further represented by a SKU group record.
11. The method of claim 1, wherein processing the reservation transaction, the reservation items, and the reservation inventory records comprises calculating consumer prices for the reservation transaction, the reservation items, and the reservation inventory records.
12. The method of claim 1, wherein processing the reservation transaction, the reservation items, and the reservation inventory records includes calculating provider prices for the reservation transaction, the reservation items, and the reservation inventory records.
13. The method of claim 1, wherein processing the reservation transaction, the reservation items, and the reservation inventory records includes confirming completion of a financial transaction corresponding to the reservation request.
14. The method of claim 1, wherein processing the reservation transaction, the reservation items, and the reservation inventory records comprises:
placing the directory data matched with the user reservation request in a locked state;
confirming completion of a financial transaction corresponding to the reservation request;
updating the reservation transaction, the reservation items, and the reservation inventory records using the validation data;
the inventory data is updated to reflect the completed reservation request.
15. The method of claim 14, wherein placing the catalog data that matches the user subscription request in a locked state comprises placing the catalog data into a locked form.
16. The method of claim 15, wherein updating the directory data comprises deleting the directory data from the locked table.
17. The method as recited in claim 14, further comprising deleting the reservation transaction, the reservation items and the reservation inventory records and adding the matching inventory data to the corresponding SKU inventory record if the transfer of the monetary amount cannot be confirmed.
18. The method of claim 1, wherein sending the processing result comprises sending a notification to a provider associated with processing the subscription request.
19. The method of claim 19, wherein the notification includes a confirmation number.
20. The method of claim 18, wherein the notification includes usage information.
21. The method of claim 18, wherein the notification includes a price code associated with a price of the provider for the catalog item.
22. The method of claim 18, wherein sending the results of the subscription request comprises sending confirmation information to a user associated with processing the subscription request.
23. The method of claim 24, further comprising obtaining confirmation of the sent notification by the provider prior to sending the confirmation information to the user.
24. The method of claim 1, wherein the inventory items are travel-based goods and services, and wherein the reservation request is a travel-based reservation request.
25. A computer-readable medium having computer-executable instructions for performing the method of any of claims 1-24.
26. A computer system having a processor, a memory, and an operating environment, the computer system operable to perform the method of any of claims 1-24.
27. A system for processing a reservation for one or more inventory items, the system comprising,
at least one client computer operable to generate a reservation request for at least one inventory item; and
a travel server for storing inventory data corresponding to one or more inventory items, the travel server operable to obtain reservation requests from client computers;
wherein the travel server generates and processes at least one reservation transaction record, one or more reservation items records, and one or more reservation inventory records corresponding to the new reservation request and inventory data.
28. The system of claim 27, wherein the inventory data corresponding to the one or more inventory items is represented by at least one SKU and SKU inventory record.
29. The system as recited in claim 27, wherein the travel server processes the reservation transaction, reservation items and reservation inventory records by confirming that the financial transaction is completed.
30. The system as recited in claim 29, further comprising at least one provider corresponding to one or more inventory items, wherein the travel server is operable to send a notification to the provider associated with processing the reservation request for the processed reservation transaction, the reservation items, and the reservation inventory records.
31. The system of claim 30, wherein the notification includes one or more price codes operable to define a provider price authorization code for the processed reservation transaction, the reservation items, and the reservation inventory records.
32. The system as recited in claim 30, wherein the travel server is further operable to send a confirmation to the user associated with processing the reservation request regarding the processed reservation request.
33. The system as recited in claim 30, wherein the travel server includes a communication component operable to obtain notifications in a standard format for the provider and to generate and transmit notifications in a provider specified format.
34. The system of claim 27, wherein the reservation transaction, reservation item, and reservation inventory records include a price component, and wherein the travel server is operable to calculate the price based on a sum of the price components of the reservation transaction, reservation item, and reservation inventory records.
35. The system of claim 27, wherein the reservation transaction, reservation items, and reservation inventory records include a cost component, and wherein the travel server is operable to calculate the cost based on a sum of the cost components of the reservation transaction, reservation items, and reservation inventory records.
36. The system defined in claim 27 wherein the inventory items correspond to travel-based goods and services and wherein the reservation request is a travel-based reservation request.
37. The system as recited in claim 27, wherein the travel server is further operable to obtain a reservation cancellation request from the client computer and process the existing reservation transactions, reservation items, and reservation inventory records based on the reservation cancellation request.
38. The system of claim 37, wherein processing of existing reservation transactions, reservation items, and reservation inventory records includes updating inventory data corresponding to cancelled reservation requests.
39. The system as recited in claim 27, wherein the travel server is further operable to obtain a reservation modification request from the client computer and process the existing reservation transactions, reservation items, and reservation inventory records based on the reservation modification request.
40. The system as recited in claim 39, wherein the travel server is further operable to generate additional reservation items records based on the reservation modification request.
41. The system as recited in claim 39, wherein the travel server is further operable to generate additional reservation inventory records based on the reservation modification request.
42. A computer-readable medium having computer-executable components for processing reservations for one or more inventory items, comprising,
a reservation transaction component operable to identify one or more reservation requests for inventory items;
one or more reservation items components corresponding to the reservation transaction record and operable to identify a reservation request for the inventory item; and
one or more reservation inventory components associated with the reservation items component and operable to define reservation requests for respective inventory items.
43. The computer-readable media of claim 42, further comprising a price component associated with the reservation transaction component, the one or more reservation items component, and the one or more reservation inventory component, the price component operable to define a price adjustment associated with each component.
44. The computer-readable medium of claim 42, further comprising a reservation traveler component operative to define one or more user preferences associated with reservation requests.
45. The computer-readable medium of claim 42, wherein the inventory items correspond to travel-based goods and services, and wherein the reservation request is a travel-based reservation request.
46. The computer-readable medium of claim 45, wherein at least one reservation inventory component corresponds to a hotel room.
47. The computer-readable medium of claim 45, wherein at least one reservation directory component corresponds to an airplane seat.
48. The computer-readable medium of claim 45, wherein at least one reservation directory component corresponds to a room or hold type on a ship.
49. The computer-readable medium of claim 45 wherein at least one reservation directory component corresponds to a car rental type.
50. A method for processing a reservation request for one or more inventory items, the method comprising:
obtaining pre-existing reservation transactions, reservation items, and reservation inventory records corresponding to the inventory items, wherein the reservation transaction records include data associated with one or more reservation requests, wherein the one or more reservation item records correspond to the reservation transaction records and identify a set of inventory items associated with a particular reservation request, and wherein the one or more reservation inventory records correspond to the reservation item records and include data associated with reservation requests for inventory items identified in the inventory reservation item records;
processing the reservation transaction, the reservation item and the reservation catalog record according to the reservation action request; and is
Transmitting the processing result of the reservation transaction, the reservation item and the reservation catalog record.
51. The method of claim 50, wherein the reservation action request is a reservation cancellation request, and wherein the reservation transaction, the reservation items, and the reservation inventory records are processed in accordance with the reservation action request, the method comprising,
inventory item information corresponding to the reservation transaction, the reservation items, and the reservation inventory records is locked.
52. The method of claim 51, further comprising updating inventory item usage information based on the cancellation request.
53. The method of claim 51 wherein locking the inventory item information comprises placing the inventory item information in a lock table.
54. The method of claim 53, wherein updating the inventory item store comprises deleting inventory item information in the locked table.
55. The method of claim 51, further comprising returning the reservation transaction, the reservation items, and the reservation inventory records if the financial transaction cannot be confirmed.
56. The method of claim 50, wherein the reservation action request is a reservation modification request, and wherein the reservation transaction, the reservation items, and the reservation inventory records are processed in accordance with the reservation action request, the method comprising:
generating a new reservation transaction, reservation item or reservation inventory record based on the new reservation portion of the modification request;
locking inventory item information corresponding to the new reservation transaction, reservation item, or reservation inventory record;
locking inventory item information corresponding to the existing reservation transactions, reservation items, and reservation inventory records;
updating existing reservation transactions, reservation items and reservation inventory records;
confirming completion of the financial transaction corresponding to the cancellation request; and is
If the financial transaction is confirmed, the inventory item store is updated with the locked inventory item information.
57. The method of claim 56, further comprising updating inventory item usage information based on the modification request.
58. The method of claim 56 wherein locking the inventory item information comprises placing the inventory item information in a lock table.
59. The method of claim 58 wherein updating the inventory item store comprises deleting inventory item information in the locked table.
60. The method of claim 56, further comprising returning existing reservation transactions, reservation items, and reservation inventory records if the financial transaction cannot be confirmed.
61. The method of claim 60 further comprising updating inventory item usage information based on the modification request.
62. A computer-readable medium having computer-executable instructions for performing the method of any of claims 50-61.
63. A computer system having a processor, a memory, and an operating environment, the computer system operable to perform the method recited in any of claims 50-61.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US09/932,263 | 2001-08-17 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| HK1069455A true HK1069455A (en) | 2005-05-20 |
Family
ID=
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7783506B2 (en) | System and method for managing reservation requests for one or more inventory items | |
| US7707075B2 (en) | System and method for managing inventory | |
| US7356481B2 (en) | Delivery management method and device, and delivery information service method | |
| AU2002327439A1 (en) | System and method for managing reservation requests for one or more inventory items | |
| US7236976B2 (en) | System and method for scheduling events and associated products and services | |
| CN105574751B (en) | Method and apparatus for subscription-based shipping | |
| AU2002356028A1 (en) | System and method for managing inventory | |
| US20020065736A1 (en) | Electronic procurement system | |
| US7590563B1 (en) | Method and apparatus for subscription-based shipping user interface | |
| US20140052478A1 (en) | Method and System for Marketing Vehicles for Sale or Lease to Replace Totaled Vehicles | |
| WO2001071546A2 (en) | Using lead-times and usage rates to determine inventory reorder points and levels | |
| US20070233528A1 (en) | System for and method of providing travel-related services | |
| US7386484B1 (en) | Buying method for retail establishments | |
| JP3828517B2 (en) | Electronic commerce management server and electronic commerce management method | |
| HK1069455A (en) | System and method for managing reservation requests for one or more inventory items | |
| HK1077379A (en) | System and method for managing inventory | |
| JP2004341834A (en) | General affairs support device, general affairs support method, general affairs support program, and general affairs support program recording medium |