Abstract:
In one embodiment, a system, that may be executed as a method, is provided for managing the booking of event tickets inside a single system, regardless of the source of the tickets and how the system of each ticket provider actually works.

Description:
BACKGROUND OF THE INVENTION 
     Buying and selling event tickets has become a major industry in its own right. Increasing numbers of companies buy tickets for use by executives, customers, and employees. Many event tickets may be purchased through ticket vendors, but it can be very time-consuming to contact each vendor individually, set up a comparison table, and review and compare all the potentially available event tickets. 
     What is clearly needed is a system and method for managing the booking of event tickets inside a single system, regardless of the source of the tickets and how the system of each ticket provider actually works. 
     SUMMARY 
     In one embodiment, a system, that may be executed as a method, is provided for managing the booking of event tickets inside a single system, regardless of the source of the tickets and how the system of each ticket provider actually works. 
    
    
     
       BRIEF DESCRIPTION OF FIGURES 
         FIG. 1  shows an exemplary event categorization, sorted by ticket provider, in accordance with one embodiment; 
         FIG. 2  shows an exemplary set of “normalized” event categories, in accordance with one embodiment; 
         FIG. 3  shows an exemplary process flow of acquiring IDs of a vendor&#39;s data structure, in accordance with one embodiment; 
         FIG. 4  illustrates an overview of a system, in accordance with one embodiment; and 
         FIG. 5  illustrates an exemplary process flow according to the present embodiment of a user booking an event ticket. 
     
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     In the following detailed description of embodiments of the invention, reference is made to the accompanying drawings in which like references indicate similar elements, and in which is shown by way of illustration specific embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention, and it is to be understood that other embodiments may be utilized and that logical, mechanical, electrical, functional, and other changes may be made without departing from the scope of the present invention. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present invention is defined only by the appended claims. 
       FIG. 1  shows an exemplary event categorization  100 , sorted by ticket provider, in this case starting at a root or home page  101  of Provider  1 . From the root  101  of Provider  1 , the user seeking tickets can navigate by event type in layer  102   a - n . He can then, within a specific event type, such as games, search further-refined categories  103   a - n . Within a selected sub-category, in this example baseball, the user can select a preferred type or category  104   a - n  of baseball game, such as major league, and then, in section  105   aa - nn , he can narrow down through data layers to select a preferred league (American or National), a preferred division (Western) within the league, and hence a preferred team (Los Angeles Dodgers) within the division. Although some vendors may organize their selection tree a little differently, by and large, most vendors present their offerings in a manner similar to that shown in  FIG. 1 . 
       FIG. 2  shows an exemplary set of “normalized” event categories  200  as proposed by the present invention. Again, the user would start at the home page or root  201 . He can then look at various different event categories  202   a - n , such as concerts, theater, sports, or games. Also shown is a tabular view  202  where each provider and each category is assigned a unique ID. Further, in table  202 , for the normalized event categories of tree  200 , an ID for each category group (i.e.,  210   a - n ,  211   a - n ,  212   a - n ,  213   a - n , etc.) may be given as a unified ID (not shown in  FIG. 2 ). This unified ID would represent a set of various vendors&#39; IDs for same event (for example, in table section  213   a - n , vendor IDs  3311  and  6331  could be represented as  52331  (LAD 31 ) for the group, not shown in  FIG. 2 ). As the user narrows down to a particular event through the tree layers  202   a - n ,  203   a - n , and  204   a - n  to games  205   a - n , the equivalent table section  213   a - n  shows, for example, two providers P 1  and P 2 , each offering Los Angeles Dodgers tickets under various different names. Thus a user looking for “LA Dodgers” would find provider P 1  category  3311  and the provider P 2  category  6331  in table  213   a - n.    
       FIG. 3  shows an exemplary process flow  300  of acquiring IDs of a vendor&#39;s data structure. In process  302  the system according to the present embodiment parses the local structure, i.e. the “normalized” event categories in the system and their respective IDs, drawing on data from local database  301 . In process  303 , the system identifies vendors (or providers) P 1  through Pn. In process  304 , the system sets up a loop, starting with i=1 through i=n, where i=1 indexes vendor P 1 , and n indexes vendor Pn. In process  305 , the system parses vendor Pi (P 1  . . . n). Then the system increments i by 1 in process  306  until eventually it reaches n in process  307 . In process  307 , the process branches. If n is not reached (no), the process loops back to process  305 . If n is reached (yes), the process moves to process  308 , where the system matches a category or an ID, respectively, according to the existing tree, between a vendor and the local tree whose data resides in database  301 . In some cases, the system may not be able to resolve the matching. Those cases are recorded in database  301 . Then in process  309 , the system prompts an agent (i.e., a user) to manually edit data in database  301  in order to correct unclear data or to resolve situations where the system detects a conflict in the data that was previously stored during process  308  in database  301 . Then in process  310  the process of parsing and matching ends. 
       FIG. 4  shows an overview of such a system  400  according to the present embodiment. A services and event system  402  is running on a least one machine  404 , which has a software instance  405 , some aspects of which have been described in detail, but which may have additional variations. Also shown is database  301  and a connection to the Internet  401 , through which the system  402  may connect to various providers. It is clear that in some cases connections to providers may be made via any of various different types of network connections, such as a private network, a virtual private network, or any other network types currently well known in the art. 
       FIG. 5  shows an exemplary process flow  500  according to the present embodiment of a user booking an event ticket. In process  501 , the user logs into the system. In process  502 , the user parses through the local structure, drawing on data stored in database  301 . In process  503 , the user finds an event, and in process  504  the system looks up the event to match its event ID against event IDs in the database  301 . Then in process  505 , the system receives data about the vendor, using either data already stored in local data in database  301  or data collected from the vendor over the Internet  401 . In process  506  the user and the vendor conduct a transaction to complete the booking, and in process  507  the process ends. 
     The processes described above can be stored in a memory of a computer system as a set of instructions to be executed. In addition, the instructions to perform the processes described above could alternatively be stored on other forms of machine-readable media, including magnetic and optical disks. For example, the processes described could be stored on machine-readable media, such as magnetic disks or optical disks, which are accessible via a disk drive (or computer-readable medium drive). Further, the instructions can be downloaded into a computing device over a data network in a form of compiled and linked version. 
     Alternatively, the logic to perform the processes as discussed above could be implemented in additional computer and/or machine-readable media, such as discrete hardware components such as large-scale integrated circuits (LSIs) and application specific integrated circuits (ASICs); firmware such as electrically erasable programmable read-only memory (EEPROMs); and electrical, optical, acoustical and other forms of propagated signals (e.g., carrier waves, infrared signals, digital signals); etc.