Patent Publication Number: US-11049047-B2

Title: Multiattribute travel booking platform

Description:
TECHNICAL FIELD 
     The present disclosure relates to data processing and, more particularly, to facilitating travel reservations. 
     BACKGROUND 
     Travel consumers enjoy of a plurality of options. The travel market is replete with numerous sources providing travel-related information and advice on everything from destinations to hotels, related points of interest, and pricing data for a vast array of goods and services. While consumers can derive much utility from this choice environment enabled by online travel agencies (OTAs) and travel websites, a choice task of the travel consumer is often encumbered by information abundance and by legacy technology platforms that almost invariably complicate the consumer choice problem. 
     For the average consumer, these choice-related challenges can take many forms, which include a large number of viable itinerary options to sort through, evaluate, and ultimately choose from; disparate and non-homogenous information sources, all of which possess varying degrees of quality, usefulness, and reliability; and the need to consider complex value trade-offs among key choice attributes and objectives (e.g., price vs. suitability of a selected flight for the consumer), together with he existence of often conflicting objectives (e.g., a desire for luxury, constrained by willingness-to-pay). 
     To overcome the choice-related challenges, average consumers typically utilize a vast array of short-cuts and heuristics, all of which enable the consumer to sift through and evaluate numerous choice options, in ways that lead, ultimately, to choices that satisfy the consumer. However, existing OTA technology platforms do not always confront these challenges to consumer satisfaction. In other words, delivering travel booking capabilities to the consumer needs to be redesigned to improve the consumer experience during travel reservations. 
     SUMMARY 
     This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter. 
     According to one example embodiment of the disclosure, a system for facilitating travel reservations is provided. The system includes a processor, a parser in communication with the processor, and a scheduler in communication with the processor. The processor may be operable to receive a travel related query and ascertain an attribute set relevant to the travel related query. The processor may rank at least one attribute based on user preferences and assign weights to the at least one attribute based on the ranking to create at least one weighted attribute. 
     Furthermore, the processor may be operable to present at least one travel itinerary selected from feasible travel itineraries based on scoring. The parser may be operable to parse the travel related query to derive attribute values related to the attribute set and initiate the at least one attribute of the attribute set with the derived attribute values. The scheduler may be operable to search for the feasible travel itineraries based on the least one attribute and the user preferences and score the feasible travel itineraries based on the at least one weighted attribute for each of the feasible travel itineraries. 
     According to one example embodiment of the disclosure, a method for facilitating travel reservations is provided. The method may commence with receiving a travel related query. Upon receiving the travel related query, an attribute set relevant to the travel related query may be ascertained. The method may continue with parsing the travel related query to derive attribute values related to the attribute set. Upon the parsing, at least one attribute of the attribute set may be initiated with the derived attribute values. The method may further include ranking the at least one attribute based on user preferences. Furthermore, weights may be assigned to the at least one attribute based on the ranking to create at least one weighted attribute. The method may continue with searching for feasible travel itineraries based on the at least one attribute and the user preferences. The feasible travel itineraries may be scored based on the at least one weighted attribute for each of the feasible travel itineraries. At least one travel itinerary selected from the feasible travel itineraries based on the scoring may be presented. 
     Other example embodiments of the disclosure and aspects will become apparent from the following description taken in conjunction with the following drawings. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       Embodiments are illustrated by way of example and not limitation in the figures of the accompanying drawings, in which like references indicate similar elements. 
         FIG. 1  illustrates an environment within which systems and methods for facilitating travel reservations can be implemented. 
         FIG. 2  is a block diagram showing various modules of the system for facilitating travel reservations. 
         FIG. 3  is a process flow diagram showing a method for facilitating travel reservations. 
         FIG. 4  illustrates dependency of utility of a travel itinerary on a number of stops. 
         FIG. 5  is a graphical representation of travel itineraries found by a scheduler. 
         FIG. 6  shows results of a search performed by a scheduler. 
         FIG. 7  illustrates a representation of numeric results of a search performed by a scheduler. 
         FIG. 8  shows a diagrammatic representation of a computing device for a machine in the exemplary electronic form of a computer system, within which a set of instructions for causing the machine to perform any one or more of the methodologies discussed herein can be executed. 
     
    
    
     DETAILED DESCRIPTION 
     The following detailed description includes references to the accompanying drawings, which form a part of the detailed description. The drawings show illustrations in accordance with exemplary embodiments. These exemplary embodiments, which are also referred to herein as “examples,” are described in enough detail to enable those skilled in the art to practice the present subject matter. The embodiments can be combined, other embodiments can be utilized, or structural, logical, and electrical changes can be made without departing from the scope of what is claimed. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope is defined by the appended claims and their equivalents. 
     The disclosure relates to a multiattribute travel booking platform that can enable individual consumers to identify itinerary options that match preferences of the consumers while reducing search efforts. Additionally, the platform can simplify a choice task for a consumer and increase the quality of purchase decisions made via the platform. More specifically, upon receiving a travel related query from the consumer, the platform may analyze the travel related query to determine multiple attributes relating to itinerary options of the consumer. The attributes may have differing levels of importance for the consumer. Therefore, the platform may prioritize and rank the attributes based on consumer preferences. Based on the ranking, each of the attributes may be assigned a weight depending on an importance of this attribute for the consumer. The platform may perform a search for feasible travel itineraries. The weighted attributes may be used to score each of the feasible travel itineraries. The travel itineraries having the highest scores may be presented to the consumer in response to the travel related query. 
     While determining multiple attributes relevant to the travel related query, the platform may create a linkage between (i) natural language instantiation of itinerary-relevant attributes via parsing the travel related query; and (ii) consumer-specified preference information concerning relevant travel goods and services (e.g., airlines and hotels), which, for example, can be ascertained from a consumer account associated with the platform. The multiattribute travel booking platform can be based on the following principles. 
     Firstly, the platform is both intention- and preference-driven. The platform is developed at the very foundations of travel planning actions and travel-related consumption. The platform can therefore be capable of “understanding” travel-related requests in terms of the determinate goals and objectives of consumers, as well as include the ability to properly handle the logistics of travel. To the extent that it is possible for the platform to either “know” or infer the travel-related preferences of the consumer, the preferences may factor into how travel requests are ultimately serviced within the platform. 
     Secondly, a man-machine interface of the platform can enable specifying travel-related goals and objectives. For this purpose, the platform may use parsing of natural language of the travel related queries. Accordingly, the platform can enable the consumer to articulate/specify strategic intent via natural language queries, with the built-in intelligence to understand a robust travel lexicon. 
     Thirdly, the platform can be capable of supporting the complex logistics and scheduling of multi-passenger/multi-leg/multi-city itineraries. Existing OTA technologies are incapable of efficiently handling complex itinerary requests, involving multiple, perhaps geographically-distributed, travelers. In contrast, the platform may incorporate complex scheduling capabilities, enabling groups of travelers (e.g., business colleagues or families) to effectively plan and book travel. 
     Fourthly, the platform can possess true end-to-end integration, including fulfillment. A characteristic feature of many travel applications and web sites is the ability to move from search/research to booking/purchase within the application. The platform may have en suite capabilities that never require the consumer to exit the travel application environment prior to making a purchase decision, thereby providing the consumer with an immersive “all-in-one” experience from making a travel related query to purchasing tickets for travel. 
     Furthermore, interactivity and control can be built into the platform, and the consumer may be able to personalize aspects of the interactivity. The consumer can be able to define aspects of how the consumer interacts with and consumes travel content. The platform may therefore be capable of receiving requests of the consumer (in fact, capable of “listening” to the consumer), with the goal of finding satisfying solutions to articulated/stated goals and objectives, consistent with underlying preferences and consumer willingness-to-pay. Moreover, the platform may enable the consumer to amend/revise plans during searching for a requisite purchase decision. 
     Moreover, the platform may possess both stage and state awareness. More specifically, the platform may be operable to determine where the consumer is in the path-to-purchase. With this awareness, the platform may come to determining of information requirements and needs of the consumer. 
     Additionally, the platform may possess a purpose-built choice architecture that may provide the consumer with decision aiding capabilities. The goal is to provide the consumer with the most efficient route to a requisite or satisfying purchase decision. 
     Furthermore, the platform may incorporate journey management capabilities to enable the consumer to change elements of a travel itinerary. It is often the case that changes must be made to one or more aspects of a purchased travel itinerary—driven, for example, by endogenous reasons (e.g., the change of travel plans of the consumer) or by exogenous factors (e.g., extreme weather). 
     Additionally, the platform may be consumer-centric in both the design of the platform and how the platform acts in the marketplace, thereby maximizing the efficiency of the travel-buying experience. The goal of the platform is to deliver maximal personal utility to the travel consumer; the platform is therefore “utility-centric,” as opposed to profit-centric. 
     Many of the core design elements and principles of the platform outlined above relate directly to how feasible travel requests can be identified and presented for consideration to the consumer. In this regard, the platform may tend to explore the manner in which choice is manifested within the platform. The more travel itinerary options that are presented to the consumer, the greater the chance that the consumer finds a travel itinerary that aligns with preferences of the consumer. Therefore, there is a tension between abundance of choice and choice burden for the consumer. At the same time, the presence of a plurality of options places a greater cognitive burden on the consumer, and this can lead to compromised decision quality and possibly sub-optimal outcomes. The platform may provide the balance between “richness of options” and “choice overload,” along with considering conflicting objectives and values (e.g., a desire for luxury constrained by willingness-to-pay). 
     Thus, the platform has a choice architecture that pertains to how the choice task is structured, and how choice options are described or presented to the consumer. The choice architecture can be characterized by the following categories: 
     Logical/Rational Basis. 
     The knowledge, information, and preferences that factor into the travel itinerary selection process can be structured and evaluated in a transparent and rationally consistent manner. The logical basis may formally include multiple attributes in order to allow for proper trade-off analysis. 
     Speed and Efficiency. 
     The choice architecture can provide results and itinerary solutions within time-frames that are compatible with the OTA decision context (i.e., on the order of a few seconds). Information and analysis can be presented to the consumer in an efficient manner, minimizing search costs and conveying essential information in ways that enable rapid identification of minimal choice sets, from which final purchase decisions can be made. 
     Awareness of Cognitive Biases and Heuristics. 
     Consumers are known to invoke a number of heuristics and biases in evaluating travel options. For example, consumers can often perform an initial screening of options on the basis of some subset of total product attributes (e.g., cost), and then make alternative-based comparisons on the basis of the remaining attributes after the initial screening. Within the travel space, it is also not uncommon to see consumers use attribute information (e.g., seat choice) to predict their en route or ex post satisfaction. The choice task for the average travel consumer can be, in fact, replete with cognitive biases. As consumers are often inclined to accept and use information in the form in which they receive it, the choice architecture of the platform may present information to the consumer in ways that minimize the adverse effects of cognitive biases that can adversely impact decision quality and consumer satisfaction. 
     Visualization Capabilities. 
     It is important for consumers to be able to visualize the results of their travel queries in ways that ultimately maximize decisional efficiency. At a minimum, the visualization schemes may, when presenting two or more travel itinerary options, convey rank information as well as information concerning the cause of the rank. The platform is able to convey information about “performance” (namely, suitability of the travel itinerary based on customer preferences) vs. price by conveying maximal information to the consumer in an efficient and easy-to-understand manner. The interactive refinement and/or modification of travel search attributes is also a part of the decision aiding capabilities of the platform. 
       FIG. 1  illustrates an environment  100  within which the systems and methods for facilitating travel reservations can be implemented, in accordance with some embodiments. A travel related query  120  associated with a user  130  may be received, for example, via a user interface displayed on a user device  140 . The travel related query  120  may include free text data. The free text data may be obtained as a natural language input by the user  130 , by speech-to-text conversion of an oral exchange with the user  130 , or otherwise. In some embodiments, the user  130  may be asked, in oral or written form, one or more motivating questions to receive relevant travel related query  120 . 
     The travel related query  120  may be transmitted to the system  200  for facilitating travel reservations via a network  110 . The network  110  may include the Internet or any other network capable of communicating data between devices. Suitable networks may include or interface with any one or more of, for instance, a local intranet, a Personal Area Network (PAN), a Local Area Network (LAN), a Wide Area Network (WAN), a Metropolitan Area Network (MAN), a virtual private network, a storage area network, a frame relay connection, an Advanced Intelligent Network connection, a synchronous optical network connection, a digital T1, T3, E1 or E3 line, Digital Data Service connection, Digital Subscriber Line connection, an Ethernet connection, an Integrated Services Digital Network line, a dial-up port such as a V.90, V.34 or V.34bis analog modem connection, a cable modem, an Asynchronous Transfer Mode connection, or an Fiber Distributed Data Interface or Copper Distributed Data Interface connection. Furthermore, communications may also include links to any of a variety of wireless networks, including Wireless Application Protocol, General Packet Radio Service, Global System for Mobile Communication, Code Division Multiple Access or Time Division Multiple Access, cellular phone networks, Global Positioning System (GPS), cellular digital packet data, Research in Motion, Limited duplex paging network, Bluetooth radio, or an IEEE 802.11-based radio frequency network. The network  110  can further include or interface with any one or more of an RS-232 serial connection, an IEEE-1394 (Firewire) connection, a Fiber Channel connection, an IrDA (infrared) port, a SCSI (Small Computer Systems Interface) connection, a Universal Serial Bus (USB) connection or other wired or wireless, digital or analog interface or connection, mesh or Digi® networking. The network  110  may be a network of data processing nodes that are interconnected for the purpose of data communication. The network  110  may include any suitable number and type of devices (e.g., routers and switches) for forwarding commands, content, and/or web object requests from each client to the online community application and responses back to the clients. 
     The user device  140 , in some example embodiments, may include a Graphical User Interface (GUI) for displaying the user interface associated with the system  200 . In a typical GUI, instead of offering only text menus or requiring typed commands, the system  200  may present graphical icons, visual indicators, or special graphical elements called widgets that may be utilized to allow the user  130  to interact with the system  200 . The user device  140  may be configured to utilize icons used in conjunction with text, labels, or text navigation to fully represent the information and actions available to the user  130 . 
     The user device  140  may include a mobile telephone, a personal computer (PC), a lap top, a smart phone, a tablet PC, and so forth. The system  200  may be a server-based distributed application; thus it may include a central component residing on a server and one or more client applications residing on one or more user devices and communicating with the central component via the network  110 . The user  130  may communicate with the system  200  via a client application available through the user device  140 . 
     Travel itineraries available from the optional database  150  may be analyzed with reference to preferences of the user  130  and travel itineraries  160  suiting the preferences of the user  130  may be determined. Travel itineraries  160  may be presented to the user  130  by displaying travel itineraries  160  via the user interface on a screen of the user device  140 . 
       FIG. 2  is a block diagram showing various modules of the system  200  for facilitating travel reservations, in accordance with certain embodiments. The system  200  may comprise a processor  210 , a parser  220 , a scheduler  230 , and an optional database  240 . The processor  210  may include a programmable processor, such as a microcontroller, central processing unit (CPU), and so forth. In other embodiments, the processor  210  may include an application-specific integrated circuit (ASIC) or programmable logic array, such as a field programmable gate array, designed to implement the functions performed by the system  200 . 
     The processor  210  may receive a travel related query. The travel related query may be provided by a user. Moreover, the travel related query may be provided using a natural language, a typed text, a selection of preexisting options, and so forth. The processor  210  may ascertain an attribute set relevant to the travel related query. 
     The parser  220 , being in communication with the processor  210 , may be operable to parse the travel related query to derive attribute values related to the attribute set. The parser  220  may be further operable to initiate the at least one attribute of the attribute set with the derived attribute values. 
     Thereafter, the processor  210  may rank at least one attribute based on user preferences. The user preferences may be determined based on the travel related query. Additionally, the user preferences may be determined based on preexisting selections (for example, selections made by the user in a user profile associated with the system  200 ). The preexisting selections may be received from the user using a man-machine interface. Based on the ranking, the processor  210  may assign weights to the at least one attribute to create at least one weighted attribute. 
     The scheduler  230  may be operable to search for the feasible travel itineraries based on the least one attribute and the user preferences. The scheduler  230  may score the feasible travel itineraries based on the at least one weighted attribute for each of the feasible travel itineraries. 
     Upon scoring the feasible travel itineraries, the processor  210  may present at least one travel itinerary selected from the feasible travel itineraries based on the scoring. Additionally, the at least one travel itinerary and corresponding scores may be visualized to the user. 
     The optional database  240  may be configured to store at least data related to the travel related query, the user preferences, and so forth. 
     Thus, the system  200  may be operable to customize, for each individual traveler, how travel itinerary options are identified and presented for purchase consideration. Furthermore, the choices, namely the travel itineraries, may be presented to the user in ways that minimize search cost and maximize path-to-purchase efficiency. 
       FIG. 3  is a process flow diagram showing a method  300  for facilitating travel reservations within the environment described with reference to  FIG. 1 . The method  300  may commence with receiving a travel related query at operation  310 . In an example embodiment, the travel related query may be provided via at least one of the following: a natural language, a typed text, a selection of preexisting options, and so forth. In a further example embodiment, the travel related query may be associated with a group of users. 
     The method  300  may continue with ascertaining an attribute set relevant to the travel related query at operation  320 . At operation  330 , the method may include parsing the travel related query to derive attribute values related to the attribute set. 
     Upon the parsing, at least one attribute of the attribute set may be initiated with the derived attribute values at operation  340 . In an example embodiment, the at least one attribute with one possible value is a necessarily satisfied condition. 
     At operation  350 , the at least one attribute may be ranked based on user preferences. In an example embodiment, the user preferences may be determined based on the travel related query. In another example embodiment, the user preferences may be determined based on preexisting selections. 
     The method  300  may optionally comprise providing a man-machine interface to receive the preexisting selections from a user. More specifically, the method  300  may include a front-end instantiation of user preferences, where the user preferences are obtained by parsing the semantic intent underlying the travel related query. The method  300  may further include a back-end specification of the user preferences by reading user-specified rank-order preference information (i.e., the preexisting selections) from a database (for example, the preference information related to airlines, hotels, etc.). 
     The method  300  may continue with operation  360 , at which weights may be assigned to the at least one attribute based on the ranking. Thus, at least one weighted attribute may be created. 
     At operation  370 , the method  300  may include searching for feasible travel itineraries based on the least one attribute and the user preferences. Upon the search, the feasible travel itineraries may be scored at operation  380 . The scoring may be based on the at least one weighted attribute for each of the feasible travel itineraries. In example embodiments, the method  300  may optionally include adjusting the scoring based on forecasted weather conditions at a time of travel. 
     Upon scoring, the method  300  may continue with operation  390 , at which at least one travel itinerary selected from the feasible travel itineraries based on the scoring may be presented. In example embodiments, the presenting of the at least one travel itinerary may be performed within a predetermined time after the receiving of the travel related query. The method  300  may further optionally include visualizing the at least one travel itinerary and corresponding scores. 
     The method  300  may be directed to determining how the utility, or value, the consumer derives from a given travel itinerary is characterized and evaluated. This utility may be derived from the defining elements of each travel itinerary (e.g., flight characteristics, such as class of service, etc.). Thus, the method  300  may be used for prioritizing and ranking itinerary options. 
     The operations of the method  300  and elements of the system  200  are further described in detail below. 
     Specification of Relevant Attribute Sets 
     The system for facilitating travel reservations may support a travel lexicon to accommodate and fulfill a wide range of possible travel related query. Therefore, within the system, the travel related queries can be expressed via natural language (typed or spoken). The system may be operable to support basic travel queries, Q, which take the form of
 
 Q={q   s   ,q   d   ,q   t }, where
 
     q s ≡starting point (airport, city, etc.); q d ≡final destination; q t ≡duration of trip. 
     Each travel query, Q, can be contextualized or made more specific via attributes that are instantiated via the travel related query in natural language. Accordingly, the system may be operable to identify and specify attribute sets that are relevant to the travel related query (which, in fact, relates to goals and objectives expressed by the user in the travel related query). It is possible to reason about whether the goals and objectives are met in terms of attribute values. In the context of a travel itinerary, attribute values may include the desire for an aisle seat, a non-stop flight, and the like. Therefore, the system can be used to find a means by which it is possible to reason whether the travel itinerary is capable of providing specified attribute values. 
     Therefore, the processor of the system is operable to define relevant attribute sets (RAS) that are linked/tied to context-defining attribute values specified in the given travel query, Q. The attribute sets may pertain, specifically, to flights (F), hotels (H), and origin (O) and destination (D), and may be defined as follows:
 
RAS( Q,F )={ fϵF |isRelevant_Flights( f,Q )=true};
 
RAS( Q,H )={ hϵH |isRelevant_Hotels( h,Q )=true};
 
RAS( Q,O )={ oϵO |isRelevant_ O &amp; D ( o,Q )=true}.
 
     In the characterization above, isRelevant_Flights is a logical predicate that asserts that attribute f is relevant for travel related attribute values specifiable in the travel related query, Q. Similar interpretations hold for the predicates isRelevant_Hotels and isRelevant_O&amp;D. 
     Thus, the relevant attribute sets may be specified for flights, hotels, and origin and destination (O&amp;D), respectively. For example, the RAS for Flights, RAS(Q, F), covers five attributes that may be supported within the travel lexicon of the parser of the system. These attributes, and their possible values, are shown in table 1 below. 
     
       
         
           
               
               
               
             
               
                 TABLE 1 
               
               
                   
               
               
                 RAS- 
                   
                   
               
               
                 Flights 
                 Attribute Name 
                 Values 
               
               
                   
               
             
            
               
                 F 1   
                 Carrier 
                 Air Canada, American Airlines, et al. 
               
               
                 F 2   
                 Number of Stops 
                 {0, 1, 2} 
               
               
                 F 3   
                 Class of Service 
                 Economy, Economy-Refundable, Business- 
               
               
                   
                   
                 Restricted, Business-Unrestricted 
               
               
                 F 4   
                 Equipment 
                 Airbus, Boeing, Embraer, et al. 
               
               
                 F 5   
                 Desired 
                 Local Time, relative to consumer&#39;s origin;  
               
               
                   
                 Departure/Arrival 
                 time at Desired Destination 
               
               
                   
                 Time 
               
               
                   
               
            
           
         
       
     
     The RAS for hotels, RAS(Q, H), are shown in table 2 below and may include five attributes that are typically encountered in hotel searches. 
     
       
         
           
               
               
               
             
               
                 TABLE 2 
               
               
                   
               
               
                 RAS-Hotels 
                 Attribute Name 
                 Values 
               
               
                   
               
             
            
               
                 h 1   
                 Hotel Chain 
                 Hilton, Marriott, et al. 
               
               
                 h 2   
                 Star Rating 
                 {0, 1, 2, 3, 4, 5, 6, 7} 
               
               
                 h 3   
                 Smoking Preference 
                 Y/N 
               
               
                 h 4   
                 Bed Type 
                 Twin, King, etc. 
               
               
                 h 5   
                 Hotel Name 
                 Local Time (relative to User&#39;s  
               
               
                   
                   
                 IP address) 
               
               
                   
               
            
           
         
       
     
     Finally, the RAS for O&amp;D, RAS(Q, H), is shown in table 3 below and may enable the consumer to specify a country, city, city code, or airport code in a given travel request. 
                                     TABLE 3                       RAS-                   O&amp;D   Attribute Name   Values                          o 1     Country   Argentina, United States, United                    Kingdom, et al.           o 2     City   London, Toronto, Washington, et al.           o 3     City Code   WAS, et al.           o 4     Air Port Code   AUS, BOI, SEA, et al.                        
Parser-Enabled Instantiation of Attributes
 
     As mentioned above, the capabilities of the system can be utilized to contextualize and add specificity to travel related requests, thereby enabling the consumer to explicitly specify sought after or desired attribute values. The RASs defined above make it possible to operationalize the “front-end” and “back-end” integration discussed above. In this regard, it may be explored what this front-end portion means for any set of the attributes contained in each RAS to be activated or instantiated within the context of a given travel related query, Q. 
     Generally speaking, the fulfillment of a travel related query may require the instantiation of one or more attributes. These instantiated attributes enable adding context or specificity to the travel related query. For this purpose, the Cartesian product, Z, of three relevant attribute sets may be defined:
 
 Z=F×H×O,  
 
which, given the specifications for F, H, and O, above, gives rise to the following ordered n-tuple:
 
 z =( f 1, f 2, f 3, f 4, f 5, h 1, h 2, h 3, h 4, h 5, o 1, o 2, o 3, o 4).  (1)
 
     If vector notation is used and if F=[f 1 , f 2 , f 3 , f 4 , f 5 ], H=[h 1 , h 2 , h 3 , h 4 , h 5 ], and O=[o 1 , o 2 , o 3 , o 4 ], then Equation (1) can be expressed succinctly as follows:
 
 Z =[ F,H,O ].  (2)
 
     In the context of a given travel related query, Q, Equations (1) and (2) can be used for representing those attributes that are instantiated within the travel related query. Some of the travel attributes may be instantiated on a continuing basis, in that the attributes may represent characteristic features of any feasible travel itinerary (e.g., every travel itinerary containing flights can be characterized by one or more air carriers, and so forth). 
     For the purpose of this disclosure, it can be assumed that instantiability is binary-valued. The space of all possible instantiations of the attributes is of order 2 n =2 14 , and is defined as the cross product of the binary-valued state space associated with each individual attribute. 
     This scheme describes which travel attributes matter to the consumer. In general, the more attributes that are ascertained, the more specific the travel related query is. Therefore, the travel related query may be assumed to be closed with respect to a given RAS and a given query, Q, if all the attributes contained within the set of attributes are instantiated. Conversely, the travel related query may be assumed to be open if only a partial (possibly empty) subset of travel attributes is ascertained. 
     Further, let Z(Q) denote a query-driven set of ascertained attributes, and ‘*’ denote those attributes that are non-ascertained. Therefore, a query-driven set of the ascertained attributes may be represented as follows:
 
 Z ( Q )=( f   1   ,f   2   ,*,*,f   5   ;h   1   ,*,*,h   4   ,*;*,*,*,o   4 ).  (3)
 
     In Equation (3), query Q ascertains three of our travel related attributes: f 1 , f 2 , and f 5  (i.e., the natural language request specifies user preferences pertaining to ‘Carrier,’ ‘Number of Stops,’ ‘Class of Service,’ and ‘Desired Departure Time’). The query Q also ascertains hotel-related attributes pertaining to ‘Hotel Chains’ and ‘Bed Type,’ together with the origin and destination attribute pertaining to ‘Airport Codes.’ Therefore, for the travel related attributes, Equation (3) is open with respect to attributes 3 and 4; for the hotel attributes, Z(Q) is open with respect to attributes 2 and 3; and for the origin and destination attributes, the travel related query is open with respect to attributes 1, 2, and 3. 
     Multiattribute Formulation—Preliminaries 
     The system further utilizes the RASs specified above to associate a determinate value with each travel itinerary as a function of the ascertained attributes that are associated with a given travel related query. In this way, each feasible itinerary may be characterized in terms of a single, aggregate (dimensionless) value, which may be used to prioritize and rank itinerary attributes. 
     The key elements for performing prioritizing and ranking may include: a finite number of travel itineraries,  ; a finite number of attributes, I; a weight, w i , for each attribute iϵI; a value score for each attribute and itinerary, ν i (a), for itinerary aϵ  and attribute iϵI; and total value, V, of itinerary aϵ  defined as the weighted sum
 
Σ i   w   i ν i ( a ).
 
     Alternatively, using the vector notation introduced earlier, the total value of an itinerary choice set is succinctly expressed as
 
 V ( F,H,O )=Σ w ν(⋅),
 
     where w denotes vector tradeoff weights for F, H, O. For ease of analysis and exposition, it is convenient to also assume that
 
∇ iϵI,w   i ≥0 and Σ i   w   i =1
 
∇aϵ  and iϵI, ν i (a)ϵ[0,1] for each iϵ , there are a′, a″ϵ   
 
ν i ( a ′)=1 and ν i ( a ″)=0;
         itinerary a′ is at least as preferred as itinerary a″ if wν(a′)≥wν(a″).       

     The next step is to integrate front-end attribute ascertaining and back-end-specified consumer preferences. This may require some mathematical preliminaries described below. 
     Mathematical Preliminaries 
     As discussed earlier, it is necessary to take into consideration the relationship between a “front-end” of the system (where parser-enabled attribute instantiations occur) and a “back-end” of the system (where consumers provide profile information that contains preference information). For this purpose, permutations on lexicographically ordered finite sets can be used, where each permutation contains information pertaining to the rank-order preferences of the consumer (for example, for airlines, hotels, and the like). 
     The back-end-specified rank-order preference information can be utilized to impute numerical values which serve as the primary means by which numeric specifications for the value functions may be determined: ν i (a). 
     The concept of a permutation can enable explicitly referencing/indexing rank-order preference data obtained via “user profiles” on the back-end of the system. For this purpose, let S denote a finite set consisting of n elements:
 
 S={x   1   ,x   2   , . . . ,x   n }.
 
For ease of exposition and analysis, the restriction can be imposed that the elements of S are lexicographically ordered such that
 
 x   1   ≤x   2   ≤ . . . ≤x   n .
 
The kind of permutation, n, is a bijection, i.e., a one-to-one and onto function from S onto itself:
 
π: S→S.  
 
     Example 1 
     Let S={x 1 , x 2 , x 3 , x 4 , x 5 }, with the following illustrative graph of π: π(x 1 )=x 2 , π(x 2 )=x 3 , π(x 3 )=x 1 , π(x 4 )=x 5 , and π(x 5 )=x 4 . This permutation can be expressed in matrix form as 
     
       
         
           
             
               
                 
                   π 
                   = 
                   
                     ( 
                     
                       
                         
                           
                             x 
                             1 
                           
                         
                         
                           
                             x 
                             2 
                           
                         
                         
                           
                             x 
                             3 
                           
                         
                         
                           
                             x 
                             4 
                           
                         
                         
                           
                             x 
                             5 
                           
                         
                       
                       
                         
                           
                             x 
                             2 
                           
                         
                         
                           
                             x 
                             3 
                           
                         
                         
                           
                             x 
                             1 
                           
                         
                         
                           
                             x 
                             5 
                           
                         
                         
                           
                             x 
                             4 
                           
                         
                       
                     
                     ) 
                   
                 
               
               
                 
                   ( 
                   4 
                   ) 
                 
               
             
           
         
       
     
     If the lexical order described above is treated as fixed, the permutation can be expressed in its simpler Cartesian form:
 
π=[ x   2   ,x   3   ,x   1   ,x   5   ,x   4 ].  (5)
 
     Example 2 
     As a travel-specific example, there are the following 5 airlines, listed in alphabetical order in table 4: 
                                 TABLE 4                       Lexical Element   Airline                          x1   American           x2   Jet Blue           x3   Southwest           x4   United           x5   Virgin America                        
The consumer may provide the following rank-order preference information for this set of airlines:
         Virgin America&gt;Southwest&gt;United&gt;American&gt;Jet Blue.
 
This preference ordering can be representable by:
 
π=[5,3,4,1,2].  (6)
       

     This example can be generalized to an arbitrary n:
 
π=[ i   1   ,i   2   , . . . ,i   n ],  (7)
 
where πϵS n  and π(x 1 )=x i     1   , π(x 2 )=x i     2   , . . . , π(x n )=x i     m   .
 
Imputation of Marginal Value Functions Via Rank-Ordered Preferences
 
     Equation (7) can be utilized to encode preference information concerning air carriers, hotels, and the like. As described below, each permutation vector is used to impute numerical weights of relative importance or value for these vector elements. For the purposes of this disclosure, two numerical approaches can be utilized, namely rank sum and rank reciprocal. 
     Rank Sum (RS). 
     N attributes or lexicographically ordered elements are ranked, and each attribute is weighted according to the formula, 
                       w   i     =       N   -     r   i     +   1         ∑   j     ⁢     (     N   -     r   j     +   1     )           ,           (   8   )               
where r i  is the rank position of the attribute or element.
 
     Rank Reciprocal (RR). 
     Weights are derived from the normalized reciprocals of 
                     w   i     =         1   /     r   i           ∑   j     ⁢     (     1   /     r   j       )         .             (   9   )               
a rank of the attribute or element:
 
     Example 3 
     Applying Equations (7), (8), and (9) to the airline of Example 2 yields the numerical values shown in table 5 below. 
                                         TABLE 5                       Airline   Rank   RS Weight   RR Weight                          American   4   0.133   0.109           Jet Blue   5   0.067   0.088           Southwest   2   0.267   0.219           United   3   0.200   0.146           Virgin   1   0.333   0.438           America                        
Indexing the Multiattribute Value Model
 
     Within the context of a given travel related query, only the attributes that are instantiated are taken into consideration. Therefore, the instantiated attributes need to be indexed. To this end, a travel related query, Q, gives rise to a vector Z(Q) of instantiated attributes. For example, the travel related query, Q, generates the following attribute instantiations:
 
( f   1   ,f   2   ,*,*,f   5   ;h   1   ,*,*,h   4   ,*;*,*,*,o   4 ),
 
in which case
 
 Z ( Q )=( f   1   ,f   2   ,f   5   ;h   1   ,h   4   ,o   4 ).  (10)
 
     From Equation (10), three index sets can be extracted, which enable indexing multiattribute aggregation model:
 
 I   F ={1,2,5}
 
 I   H ={1,4}
 
 I   O ={4}.
 
     In more general terms, the index sets illustrated above can be defined as follows:
 
 I   F   ={i|iϵF  and  f   i   ϵZ ( Q )=true};  (11)
 
 I   H   ={j|jϵH  and  h   j   ϵZ ( Q )=true};  (12)
 
 I   O   ={k|kϵO  and  o   k   ϵZ ( Q )=true};  (13)
 
     Having properly indexed the instantiated attributes that the travel related query, Q, gives rise to, the multiattribute aggregation model described earlier can be specified in the specialized form that its application here requires: 
     
       
         
           
             
               
                 
                   
                     
                       V 
                       Q 
                     
                     ⁡ 
                     
                       ( 
                       
                         F 
                         , 
                         H 
                         , 
                         O 
                       
                       ) 
                     
                   
                   = 
                   
                     
                       
                         ∑ 
                         
                           i 
                           ∈ 
                           
                             I 
                             F 
                           
                         
                       
                       ⁢ 
                       
                         
                           w 
                           i 
                         
                         ⁢ 
                         
                           
                             e 
                             
                               f 
                               i 
                             
                           
                           ⁡ 
                           
                             ( 
                             · 
                             ) 
                           
                         
                       
                     
                     + 
                     
                       
                         ∑ 
                         
                           j 
                           ∈ 
                           
                             I 
                             H 
                           
                         
                       
                       ⁢ 
                       
                         
                           w 
                           j 
                         
                         ⁢ 
                         
                           
                             v 
                             
                               h 
                               j 
                             
                           
                           ⁡ 
                           
                             ( 
                             · 
                             ) 
                           
                         
                       
                     
                     + 
                     
                       
                         ∑ 
                         
                           k 
                           ∈ 
                           
                             I 
                             O 
                           
                         
                       
                       ⁢ 
                       
                         
                           w 
                           k 
                         
                         ⁢ 
                         
                           
                             
                               v 
                               
                                 o 
                                 k 
                               
                             
                             ⁡ 
                             
                               ( 
                               · 
                               ) 
                             
                           
                           . 
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   14 
                   ) 
                 
               
             
           
         
       
     
     The linear additive nature of Equation (14) enables using the portions of the aggregation model that are required by the travel related query, Q. For example, the travel related query that only requests a flight itinerary will utilize only the first of the three summations shown in Equation (14). 
     The numerical specification of Equation (14) is essentially a two-step process and includes a specification of the relevant single attribute value functions ν fi (⋅), ν hj (⋅), and ν ok (⋅), and a specification of the (scaling) weights w i , w j , and w k . Each of these elements can be considered in turn. 
     Specification of Single-Attribute Value Functions—Flights 
     In specifying the single-attribute value functions, ν fi (⋅) associated with flights, there is reason to presume the existence of a set,  , of feasible itinerary solutions (FISs), comprised of elements a 1 , a 2 , . . . , a m . In the case of a travel related query, each travel itinerary a i ϵ  is evaluated on attributes F 1 , . . . , F m  and a marginal value function, ν i (f ij ), on the performance f ij  of the travel itinerary a i  under attribute Fj. Each of these five travel related attributes is considered below. 
     Carrier (F 1 ). 
     This attribute captures the preferences of the consumer related to an airline carrier. In the context of travel related queries, this attribute exists on a continuous basis, in the sense that every itinerary that involves air travel is characterized by a determinate carrier value. 
     In formally characterizing this attribute, it is distinguished between two types of travel related requests: those where the consumer expresses an explicit, named preference for one or more airlines (e.g., “Please show me all of the United flights from IAD to SFO for Friday”; “Can I see what Virgin or American flights I can take next Monday to London?”, etc.) and those where no such preference is expressed. From a consumer choice perspective, the request for a specific carrier (or set of carriers) acts as a filter: if the scheduler is able to return one or more feasible solutions that satisfy the travel related query, then those travel itinerary options are presented to the consumer for consideration, and the multiattribute value model is invoked only if other travel related attributes in RAS(Q, F) have been instantiated. 
     In all other instances involving travel related queries, each feasible itinerary solution a i ϵ  must be evaluated on attribute F 1 . To this end, the marginal value function ν 1 (f i1 ) needs to be characterized and evaluated on the performance f i1  of itinerary a i ϵ  under this attribute. Equation (14) serves as the basis for a numeric scheme that enables the single-attributed scoring of each feasible itinerary solution yielded by the Scheduler, as measured by the Carrier attribute. 
     Since the number of carriers is finite, it can be assumed that F 1  is characterized by a finite domain D F1 . Numeric characterization of the marginal value function can proceed along several possible lines. It is possible to envision systematic attempts at the elicitation of consumer preferences regarding air carriers. Alternatively, it is also possible to envision schemes whereby these carrier preferences are learned over time in a systematic manner. The approach adopted herein exploits the existence of stated preference information provided on the back-end of the system. This information takes the form of rank-order preference data concerning air carriers, and this data is used, in conjunction with the RS and RR equations described earlier, to arrive at a numeric characterization for ν 1 (f i1 ). 
     Furthermore, the existence of a set, C, consisting of a lexically-ordered set of air carriers is presumed:
 
 C={C 1, C 2, . . . , Cn}.  
 
Given this set, the existence of a permutation vector, n c , is presumed, and the vector encodes rank-order preference information for the air carriers contained in C:
 
Π c =[π c   1 , . . . ,π c   n ].
 
     Equation (8) can now be re-written as follows: 
                       w   i   c     =       n   -     π   c   i     +   1         ∑   j     ⁢     (     n   -     π   c   j     +   1     )           ,           ⁢     i   =   1     ,   …   ⁢           ,   n           (   15   )               
which provides a rank-order-derived importance weight, w c   i , for carrier i.
 
     Further, each travel itinerary  ={a1, . . . , a2} is scored on attribute F 1 . It is assumed that each travel related itinerary a i ϵ  is characterized by a determinate carrier value x ij   k =x ij   1 =c i ϵC, where i indexes travel itineraries (i.e., i=1, . . . , m), j indexes carriers (i.e., j=1, . . . , n), and k indexes the instantiated (ascertained) attributes. Given this domain characterization, the marginal value function can be characterized as follows: 
                 v   1     ⁡     (     x   ij     )       =     {               w     π   c   j     c     ,             if   ⁢           ⁢     a   i       ∈       A   ⁢           ⁢   and   ⁢           ⁢     x   ij       ≠   ϕ                 0   ,         otherwise         ,             
where w c   π     c     j  is the rank-order-derived weight, obtained via Equation (15), associated with carrier π c   j , j=1, . . . , n.
 
     Number of Stops (F 2 ). 
     When instantiated, this attribute captures the consumer preferences for the number of leg segments contained within a given Origin and Destination city pair. Generally speaking, most travelers prefer less stops to more, but often this convenience comes at a cost (i.e., it increases the cost associated with an itinerary). For the purposes of this disclosure, this attribute is modeled as a constructed attribute, defined in terms of three attribute levels shown in table 6: 
     
       
         
           
               
               
               
             
               
                   
                 TABLE 6 
               
               
                   
                   
               
               
                   
                 Attribute level 
                 State 
               
               
                   
                   
               
             
            
               
                   
                 0 
                 If Non-Stop 
               
               
                   
                 1 
                 If 1-Stop 
               
               
                   
                 2 
                 If 2-Stop 
               
               
                   
                   
               
            
           
         
       
     
     The baseline parameterization for the single-attribute value function, ν 2 (⋅), is given as follows:
 
ν 2 (0)=1
 
ν 2 (1)=0.7
 
ν 2 (2)=0.
 
       FIG. 4  shows dependency of utility of the travel itinerary (namely, matching of the travel itinerary with the consumer preferences) on a number of stops of the travel itinerary. 
     Class of Service (F 3 ). 
     This attribute captures the consumer preferences for the specific classes of service offered by most airlines. When this variable is instantiated, the user is expressing a preference for a particular class of service. In looking, then, to measure the contribution to overall value that the instantiation of this attribute has on the overall value of a given itinerary, it is necessary to capture the conditional nature of this marginal value proposition. For this purpose, an “Ask/Get” matrix can be used, which, for the purposes of this disclosure, is defined as shown in table 7: 
     
       
         
           
               
               
               
               
               
             
               
                 TABLE 7 
               
               
                   
               
               
                   
                   
                 Econ.- 
                 Bus.- 
                 Bus.- 
               
               
                   
                 Economy 
                 Refundable 
                 Restricted 
                 Unrestricted 
               
               
                   
               
             
            
               
                   
               
            
           
           
               
               
               
               
               
            
               
                 “Economy” 
                 0.9 
                 0.6 
                 0.1 
                 0 
               
               
                 “Econ.- 
                 0.6 
                 0.9 
                 0.2 
                 0 
               
               
                 Refundable” 
                   
                   
                   
                   
               
               
                 “Bus.-Restricted” 
                 0 
                 0.4 
                 0.9 
                 0.6 
               
               
                 “Bus.- 
                 0.1 
                 0.5 
                 0.7 
                 0.9 
               
               
                 Unrestricted” 
                   
                   
                   
                   
               
               
                   
               
            
           
         
       
     
     In Table 7, the column entries contained in quotes (“Economy,” “Econ.-Refundable,” “Bus.-Restricted,” “Bus.-Unrestricted”) denote the actual consumer-provided travel related query, whereas the row entries denote the class of service associated with a given itinerary, a i ϵ . If, for example, the consumer asks for a “Business-Restricted” ticket, but the feasible itinerary choice is an Economy-Refundable ticket, then that itinerary is assigned a weight of 0.4. 
     Equipment (F 4 ). 
     This attribute becomes instantiated when the consumer expresses an explicit equipment-related preference. The consumer may, for example, request a wide-body plane (e.g., an A380, A340, etc.). Within the parser, such travel related query can be invoked at various levels of aggregation, e.g., body type, model type, and so forth. For ease of analysis, ν 4 (⋅) is characterized an indicator variable, where a travel related query, Q, containing a specific equipment-related request gives rise to one or more travel itinerary options that either succeed or fail to satisfy the equipment request. Accordingly, the weight function is formally specified as follows: 
                 v   1     ⁡     (     x   i     )       =     {             1   ,               if   ⁢           ⁢   for   ⁢           ⁢   itinerary   ⁢           ⁢     a   i       ∈   A     ,     DesiredEquipment   =   true                 0   ,         otherwise         ,             
where DesiredEquipment is a logical predicate that returns a truth-value obtained via look-up tables (may be stored in the database) that define the relevant set of equivalence classes. For the purposes of this disclosure, for the wide/narrow body distinctions, the basic taxonomy supported within the parser is shown in table 8 below.
 
     
       
         
           
               
               
               
             
               
                 TABLE 8 
               
               
                   
               
               
                 Wide Body Jet 
                 Narrow Body Jet 
                 Narrow Body Continued 
               
               
                   
               
             
            
               
                 Airbus: 380, A330,  
                 Airbus: A319,  
                 Embraer: E170/5, E190/5, 
               
               
                 A340, A350 
                 A320, A321 
                 EMB120, ERJ145 family 
               
               
                 Boeing: B787, B777,  
                 Boeing: B737,  
                 Bombardier: CRJ, Dash-8 
               
               
                 B767, B747, MD-11 
                 B757, MD83/90 
               
               
                   
               
            
           
         
       
     
     For example, if the consumer requests, within a given query, a wide-body plane, and a travel itinerary contains any of the jets listed in the first column of table 8 above, then the weight function is assigned a value of 1; otherwise it is assigned a zero. 
     Desired Departure/Arrival Time (F 5 ). 
     Time factors into the travel plans and desires of most consumers. For example, typical requests may include the following: “I need to be in Los Angeles first thing Monday morning for a meeting”; “For my trip to New York, I&#39;d like to arrive in New York in time to have dinner with Jonathan,” and the like. The system has the ability to include attributes that allow capturing and representing these kinds of time-related preferences. Accordingly, two attributes that capture/represent preferences pertaining to desired departure and arrival times, respectively, can be used. 
     In the first of these two instances, preferences pertaining to a desired departure time (DDT) of consumer need to be captured. When instantiated, the DDT can be expressed precisely as a time of day (12- or 24-hour format), or as a time-period (e.g., “morning,” “afternoon,” “evening,” or other possible sub-categories within these general categorizations). In practical terms, the marginal value function, ν 5 (xj), focuses on the relative duration of period between the departure time associated with the outbound flight (OF) associated with itinerary a i ϵ , and the stated DDT. 
     The preference levels associated with x i  can be specified in any number of ways. For the purposes of this disclosure, the following four attribute levels are specified in table 9: 
     
       
         
           
               
               
             
               
                 TABLE 9 
               
               
                   
               
               
                 Attribute Level 
                 State 
               
               
                   
               
             
            
               
                 0 
                 if N/A; 
               
               
                 1 
                 if the OF i  for a i  ∈      is within 1 hour of the DDT; 
               
               
                 2 
                 if, for a i  ∈     , 1-hr &lt; |DDT - OF i | &lt; 2-hrs; 
               
               
                 3 
                 if, for a i  ∈     , |DDT - OF i  | &gt; 2-hrs. 
               
               
                   
               
            
           
         
       
     
     This value function can be parameterized as follows:
 
ν 5 (0)=0
 
ν 5 (1)=0.9
 
ν 5 (2)=0.7
 
ν 5 (3)=0.4.
 
     Furthermore, travel related queries that specify a desired arrival time (DAT) may be considered. In defining this attribute, as before, a constructed scale that measures the duration of period between the DAT of the consumer and the arrival time of a destination leg/flight (DF) of the travel itinerary is shown in table 10: 
     
       
         
           
               
               
             
               
                 TABLE 10 
               
               
                   
               
               
                 Attribute Level 
                 State 
               
               
                   
               
             
            
               
                 0 
                 If N/A; 
               
               
                 1 
                 if the DF i  for a i  ∈      is within 1 hour of the DAT; 
               
               
                 2 
                 if, for a i  ∈     , 1-hr &lt; |DAT - DF i | &lt; 2-hrs; 
               
               
                 3 
                 if, for a i  ∈     , |DAT - DF i | &gt; 2-hrs. 
               
               
                   
               
            
           
         
       
     
     This value function can be parameterized as follows:
 
ν 5 (0)=0
 
ν 5 (1)=0.9
 
ν 5 (2)=0.7
 
ν 5 (3)=0.4.
 
Specification of Single-Attribute Value Functions—Hotels
 
     The other attributes may include Hotel Chain, Star Rating, Smoking Preference, Bed Type, and the like. 
     For the Hotel Chain attribute (h 1 ), the indicator variable may be stated as follows: 
     
       
         
           
             
               v 
               
                 h 
                 1 
               
             
             = 
             
               { 
               
                 
                   
                     
                       
                         0 
                         , 
                       
                     
                     
                       
                         
                           if 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           x 
                         
                         = 
                         N 
                       
                     
                   
                   
                     
                       
                         1 
                         , 
                       
                     
                     
                       
                         
                           if 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           x 
                         
                         = 
                         Y 
                       
                     
                   
                 
                 . 
               
             
           
         
       
     
     For the Star Rating attribute (h 2 ), the indicator variable may be stated as follows:
 
{0,1,2,3,4,5,6,7}.
 
     For the Smoking Preference attribute (h 3 ), the indicator variable may be stated as follows: 
     
       
         
           
             
               v 
               
                 h 
                 3 
               
             
             = 
             
               { 
               
                 
                   
                     
                       
                         0 
                         , 
                       
                     
                     
                       
                         
                           if 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           x 
                         
                         = 
                         N 
                       
                     
                   
                   
                     
                       
                         1 
                         , 
                       
                     
                     
                       
                         
                           if 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           x 
                         
                         = 
                         Y 
                       
                     
                   
                 
                 . 
               
             
           
         
       
     
     For the Bed Type attribute (h 4 ), the Ask/Get Matrix may be used as discussed above. 
     The Hotel Name attribute (h 5 ) may be instantiated when the consumer mentions a hotel by name. If the hotel is available, the attribute has utility; if the hotel is unavailable, then the attribute has little or no utility. 
     Other Single-Attribute Value Functions relating to Origin and Destination may include country (o 1 ), city (o 2 ), city code (o 3 ), airport code (o 4 ), and so forth. 
     Numerical Case Study. Case: Flights-Only Itineraries 
     In an example embodiment, a travel related query, Q, is passed through the analytic framework of the system specified above. The travel related query may read as follows: “Roy and Jonathan want to travel non-stop from Toronto to Seattle on March 21st; we want business class seats, if possible; if possible, it would be nice to get there early enough in the evening to have dinner at Daniel&#39;s Broiler in Bellevue; as always, we prefer a wide-body plane.” 
     The travel related query instantiates the following flight attributes: F 1  (since a flight itinerary is desired), F 2  (since a non-stop flight is desired), F 3  (since business class seats are desired), F 4  (since a wide-body plane is preferred), and F 5  (since a desired arrival time—“Supper”=“Evening”—is specified). Therefore, this travel related query is closed under F, and, via Equation (7), gives rise to the following index set:
 
 I   F ={1,2,3,4,5}.
 
     At least one of the travelers (for example, Roy) may preliminarily create, on the back-end of the system, a user profile that contains personal rank-order preferences of the traveler for air carriers. Therefore, airline preferences of this traveler may be captured. Furthermore, the traveler may also preliminarily provide the rank-order preference information regarding the travel related attributes. Given this set of rankings, it may be determined that, when evaluating travel itinerary selection, the traveler assigns highest importance to obtaining a desired cabin class, followed by trip duration. Using these rank-order preferences, Equation (15) can be used to impute the RS weights shown below in table 11: 
     
       
         
           
               
               
               
               
             
               
                   
                 TABLE 11 
               
               
                   
                   
               
               
                   
                 RAS-Flights 
                 Rank 
                 Rank Sum Weight 
               
               
                   
                   
               
             
            
               
                   
                 F 1   
                 4 
                 0.133 
               
               
                   
                 F 2   
                 2 
                 0.267 
               
               
                   
                 F 3   
                 1 
                 0.333 
               
               
                   
                 F 4   
                 5 
                 0.067 
               
               
                   
                 F 5   
                 3 
                 0.200 
               
               
                   
                   
               
            
           
         
       
     
     The scheduler may factor the preferences of the traveler into the search performed by the scheduler.  FIG. 5 . shows a representation  500  of travel itineraries found by the scheduler. In particular, the scheduler may perform the search in feasible travel itineraries  502 . As a result of the search, travel itineraries  504  (shown as travel itineraries 1-7) may be found. Each of the travel itineraries  504  may have a weight  506 . 
     The scheduler may return a result to the traveler. The result of the search is shown on  FIG. 6 .  FIG. 6  shows a travel itinerary  602  and a travel itinerary  604 . Each of the travel itinerary  602  and the travel itinerary  604  may have attribute values f 1 , f 2 , f 3 , f 4 , f 5 . 
     Look-up tables stored in a database may be used to determine that the wide-body plane request is not satisfied in either of the travel itinerary  602  and the travel itinerary  604 , and that the instantiated DAT is satisfied in the travel itinerary  602 , but not in the travel itinerary  604 . 
       FIG. 7  shows an implementation  700  of the relevant portion of Equation (14), which yields the set of numeric results graphically illustrated below. As shown on  FIG. 7 , travel itinerary 1 (corresponds to travel itinerary  602  shown on  FIG. 6 ) is ranked higher than travel itinerary 2 (corresponds to travel itinerary  604  shown on  FIG. 6 ), primarily due to the fact that travel itinerary 1 scores better on the DAT attribute  702  (attribute f 5 ). Given rank-order importance (3 rd ) of this attribute in overall ranking of flight attributes of the traveler, together with the fact that travel itinerary 2 is a 1-stop flight, these numeric results square with a decision of the desirability of travel itinerary 1 over travel itinerary 2. 
       FIG. 8  shows a diagrammatic representation of a computing device for a machine in the exemplary electronic form of a computer system  800 , within which a set of instructions for causing the machine to perform any one or more of the methodologies discussed herein can be executed. In various exemplary embodiments, the machine operates as a standalone device or can be connected (e.g., networked) to other machines. In a networked deployment, the machine can operate in the capacity of a server or a client machine in a server-client network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. The machine can be a PC, a tablet PC, a set-top box, a cellular telephone, a digital camera, a portable music player (e.g., a portable hard drive audio device, such as an Moving Picture Experts Group Audio Layer 3 player), a web appliance, a network router, a switch, a bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine. Further, while only a single machine is illustrated, the term “machine” shall also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein. 
     The example computer system  800  includes a processor or multiple processors  802 , a hard disk drive  804 , a main memory  806 , and a static memory  808 , which communicate with each other via a bus  810 . The computer system  800  may also include a network interface device  812 . The hard disk drive  804  may include a computer-readable medium  820 , which stores one or more sets of instructions  822  embodying or utilized by any one or more of the methodologies or functions described herein. The instructions  822  can also reside, completely or at least partially, within the main memory  806  and/or within the processors  802  during execution thereof by the computer system  800 . The main memory  806  and the processors  802  also constitute machine-readable media. 
     While the computer-readable medium  820  is shown in an exemplary embodiment to be a single medium, the term “computer-readable medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions. The term “computer-readable medium” shall also be taken to include any medium that is capable of storing, encoding, or carrying a set of instructions for execution by the machine and that causes the machine to perform any one or more of the methodologies of the present application, or that is capable of storing, encoding, or carrying data structures utilized by or associated with such a set of instructions. The term “computer-readable medium” shall accordingly be taken to include, but not be limited to, solid-state memories, optical and magnetic media. Such media can also include, without limitation, hard disks, floppy disks, NAND or NOR flash memory, digital video disks, Random Access Memory (RAM), Read-Only Memory (ROM), and the like. 
     The exemplary embodiments described herein can be implemented in an operating environment comprising computer-executable instructions (e.g., software) installed on a computer, in hardware, or in a combination of software and hardware. The computer-executable instructions can be written in a computer programming language or can be embodied in firmware logic. If written in a programming language conforming to a recognized standard, such instructions can be executed on a variety of hardware platforms and for interfaces to a variety of operating systems. 
     In some embodiments, the computer system  800  may be implemented as a cloud-based computing environment, such as a virtual machine operating within a computing cloud. In other embodiments, the computer system  800  may itself include a cloud-based computing environment, where the functionalities of the computer system  800  are executed in a distributed fashion. Thus, the computer system  800 , when configured as a computing cloud, may include pluralities of computing devices in various forms, as will be described in greater detail below. 
     In general, a cloud-based computing environment is a resource that typically combines the computational power of a large grouping of processors (such as within web servers) and/or that combines the storage capacity of a large grouping of computer memories or storage devices. Systems that provide cloud-based resources may be utilized exclusively by their owners, or such systems may be accessible to outside users who deploy applications within the computing infrastructure to obtain the benefit of large computational or storage resources. 
     The cloud may be formed, for example, by a network of web servers that comprise a plurality of computing devices, such as a client device, with each server (or at least a plurality thereof) providing processor and/or storage resources. These servers may manage workloads provided by multiple users (e.g., cloud resource consumers or other users). Typically, each user places workload demands upon the cloud that vary in real-time, sometimes dramatically. The nature and extent of these variations typically depends on the type of business associated with the user. 
     It is noteworthy that any hardware platform suitable for performing the processing described herein is suitable for use with the technology. The terms “computer-readable storage medium” and “computer-readable storage media” as used herein refer to any medium or media that participate in providing instructions to a CPU for execution. Such media can take many forms, including, but not limited to, non-volatile media, volatile media and transmission media. Non-volatile media include, for example, optical or magnetic disks, such as a fixed disk. Volatile media include dynamic memory, such as system RAM. Transmission media include coaxial cables, copper wire, and fiber optics, among others, including the wires that comprise one embodiment of a bus. Transmission media can also take the form of acoustic or light waves, such as those generated during radio frequency (RF) and infrared (IR) data communications. Common forms of computer-readable media include, for example, a floppy disk, a flexible disk, a hard disk, magnetic tape, any other magnetic medium, a CD-ROM disk, digital video disk, any other optical medium, any other physical medium with patterns of marks or holes, a RAM, a Programmable Read-Only Memory, an Erasable Programmable Read-Only Memory (EPROM), an Electrically Erasable Programmable Read-Only Memory, a FlashEPROM, any other memory chip or data exchange adapter, a carrier wave, or any other medium from which a computer can read. 
     Various forms of computer-readable media may be involved in carrying one or more sequences of one or more instructions to a CPU for execution. A bus carries the data to system RAM, from which a CPU retrieves and executes the instructions. The instructions received by system RAM can optionally be stored on a fixed disk either before or after execution by a CPU. 
     Computer program code for carrying out operations for aspects of the present technology may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The program code may execute entirely on the user&#39;s computer, partly on the user&#39;s computer, as a stand-alone software package, partly on the user&#39;s computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user&#39;s computer through any type of network, including a LAN or a WAN, or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider). 
     The corresponding structures, materials, acts, and equivalents of all means or steps plus function elements in the claims below are intended to include any structure, material, or act for performing the function in combination with other claimed elements as specifically claimed. The description of the present technology has been presented for purposes of illustration and description, but is not intended to be exhaustive or limited to the disclosure. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the disclosure. Exemplary embodiments were chosen and described in order to best explain the principles of the present technology and its practical application, and to enable others of ordinary skill in the art to understand the disclosure for various embodiments with various modifications as are suited to the particular use contemplated. 
     Aspects of the present technology are described above with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the disclosure. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. 
     These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks. 
     Thus, computer-implemented methods and systems for facilitating travel reservations are described. Although embodiments have been described with reference to specific exemplary embodiments, it will be evident that various modifications and changes can be made to these exemplary embodiments without departing from the broader spirit and scope of the present application. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense.