TRADE SHOW DATA ACQUISITION SYSTEM

Abstract: A system and method for managing information at a trade show, exposition, convention, or other gathering of people, includes a data processing unit (110, 112) for acquiring registration information from persons attending the gathering and for producing an identification badge (350) for each person which has a machine-readable identification number (300) encoded thereon which is unique to each person. The exhibitors at the gathering are each provided with a battery-powered portable data capture unit (200) which is used to read the identification numbers (300) on the badges (350) of each attendee so that a record is maintained of each attendee who visits the exhibits of each exhibitor. The portable data capture unit (200) receives attendee responsive information in accordance with criteria selected by each exhibitor. Digital representations of the attendee identification numbers and the responsive information are stored in the portable data capture units (200). The data in each data capture unit (200) is periodically transferred to a data processing unit (110, 112), either directly or through an intermediary portable host unit (916). The data processing unit (110, 112) provides a summary of the attendance information for each exhibitor and a summary of the responsive information received from each attendee. The exhibitors are provided with the information without having to maintain a separate written record of the visits and responses of the attendees at the exhibits. The system further includes a message handling unit (104) responsive to the identification numbers (300) on the badges (350) to transfer messages to attendees.

Description: TPADE SHOW DATA ACQUISITION SYSTEM Field of the Invention The present invention is related to the field of remote data acquisition, and, more particularly, to the 5 field of acquiring data regarding attendees at trade shows, expositions, conventions and other assemblies and gatherings of people. Background of the Invention In many lines of business, it is commonplace for the Ttt many companies competing for a share of the market to participate in trade shows, expositions, conventions and other large assemblies or gatherings of people at which the companies display their products and services, distribute promotional material and otherwise attempt to 5 garner new business from the attendees at such gatherings. The gatherings, can be retail oriented in which case the exhibitors are attempting to influence the consumer to buy their products, either directly or through a distributor. Other gatherings, particularly trade 2(J shows, are oriented towards the distributors or retailers of products at which the manufacturers are attempting to influence the distributors or retailers to begin handling new products in addition to or as a substitute for the products of other manufacturers. Exhibitors at large 25 gatherings, e.g., conventions, display products which are oriented towards the attendees of the gathering. For example, exhibitors at a medical convention typically comprise manufacturers and distributors of medical equipment and supplies, providers of services to doctors, 30 and the like. The primary intent of each exhibitor at the trade shows and other gatherings is to get as much information as possible to the attendees and to attempt to establish long-term relationships with the attendees who express 35 interest in the exhibitor's products and services. The exhibitors typically provide promotional material to the attendees with address and telephone information so that the attendees can obtain additional material. The exhibitors may run out of the promotional material at the gathering or may have further material to provide to hot prospects. Thus, the exhibitors must obtain the names and addresses of the attendees who have visited their exhibits so that they may follow through with the new contacts. Typically, an exhibitor attempts to provide a means for following through with the contacts made at the gatherings by obtaining the names and addresses of the attendees expressing interest in its products and services, and, where the exhibitor provides a variety of products and services, an indication of the expressed interest. For example, some exhibitors provide self- addressed postcards for the attendees to fill out and mail, others provide simple questionnaires to be filled out and inserted in a box, others ask questions and fill put information concerning the attendees, and others rely on cryptic notations written on the back of business cards. These methods are inefficient and oftentimes ineffective for many reasons. For example, the attendees may not be inclined to fill out the postcards or questionnaires; attendees may not be inclined to.wait at an exhibitor's booth long enough for the exhibitor to obtain information from a significant number of attendees; or an attendee may not have a supply of business cards to give to every exhibitor. Obtaining the information from the attendees is only the beginning of an exhibitor's problems. The information provided by these conventional methods has to be transferred to a mailing list or a telephone list at some time, thus introducing an opportunity for errors in transcribing the attendees' identification data and interests. The attendees at the gatherings typically have different levels of interests with respect to the products and services of the different exhibitors. For example, oπe attendee may only be interested in additional literature, whereas another attendee may be interested in purchasing a product or service. Other attendees may want to enter into extended discussions with the exhibitor regarding the products or services. Typically, it is difficult for an exhibitor to maintain a separate record of the attendees with each of the varying levels of interest in each of the products and services offered by the- exhibitor. In any case, conventional methods of trying to follow through on the contacts made at a gathering such as a trade show are haphazard at best, time consuming and inefficient. Thus, a need exists for a means for automating the process of obtaining information from attendees at trade shows so that the exhibitors can make further contact with the attendees who have expressed interest in their products. One such means is described in U.S. Patent No. 4,233,661, to Bolton, et al. , wherein each attendee at a gathering is provided with a badge which is embossed in a manner similar to a credit card. T e attendee then presents his or her badge to an exhibitor who imprints the attendee's name and address on an inquiry card. Thus, the exhibitor is provided only with a written record of the attendee's visit to the exhibit. In order to obtain a computerized list of the attendees, the exhibitor must arrange to have the information transferred from the inquiry cards to computer storage. This is most likely a manual process requiring extensive labor and inherently introducing errors in transcription into the computer. Furthermore, in the event that the attendee is only interested in one or a few of the exhibitor's products or services, the exhibitor or the attendee must manually enter the particular interest of the attendee on the inquiry card. Later, an employee of the exhibitor must manually determine which promotional material to send to the attendee and also determine whether the attendee should be called directly for an immediate sale. Trade shows and other gatherings are typically organized to promote a variety of loosely interrelated products. For example, a typical house and garden show can include items such as appliances, dishes, furniture and garden equipment. Exhibits at a medical convention can range from relatively inexpensive items such as books, disposable items, such as syringes and gloves, and the like, to very expensive items such as the latest electronic monitoring equipment. Each attendee generally has an interest in only a small portion of the products and services exhibited. It is not unusual for a gathering to be so large that it is not feasible for an attendee to explore every aisle to determine whether a particular product or service in which an attendee has an interest is being exhibited, particularly when the gathering organizers do hot position related products in the same area. Thus, a need exists for a means by which an attendee can determine which exhibitors are promoting the products and services in which he or she is interested and by which the attendee also can determine how best to visit the appropriate exhibitors so that the least amount of time is required to visit the exhibits. Commercial trade shows, expositions, conventions and the like, are typically attended by buyers for retail outlets and distributors. Other conventions are attended by doctors, lawyers, businessmen, and the like. These persons generally cannot completely isolate themselves from their normal business routine and thus have a need to be easily contacted while at the gatherings so that business transactions or other events requiring their attention do not have to wait until the next time thac they return to their hotel rooms or call their offices. Although many convention centers and other meeting places have public address systems and the like, when there are thousands of attendees, it is not practical to page attendees for every message that needs to be conveyed. Typically, the gathering organizers limit the paged messages to emergencies and otherwise limit the message 5 services to notices posted on a bulletin board at some fixed location at the gathering. Thus, there is little opportunity for a person to be readily informed of transactions and events requiring his or her attention, and a need exists for a means for routing messages to 1.0.' attendees without disrupting the gathering with constant public address announcements and without requiring the attendees to periodically examine a bulletin board. Summary of the Invention The present invention is a system for managing 15 information at a plurality of exhibits at a gathering of people. The system includes a data processing system for receiving identification information regarding a plurality of attendees at the gathering. The system further includes a portable identification means for each of the 20 attendees. In preferred embodiments, the portable identification means is a badge. The system further includes a first means for encoding a unique identifier for each attendee on the respective portable identification means of each attendee. In preferred 25 embodiments, this first means ..is a bar code which is advantageously printed on the badge in alternating dark and light stripes. The system further includes a second means associated with each of a plurality of exhibitors at the gathering 30 for decoding the unique identifier on the portable identification means, and for storing a digital representation of each of the identifiers in a digital data storage means associated with the second means. Preferably, the second means is a transportable 35 identification reading mechanism that is provided to each of the plurality of exhibitors. The transportable identification reading mechanism includes means for sensing the identification code on each of the portable identification badges to determine the unique identification code encoded thereon. The transportable identification reading mechanism further includes means for converting the sensed encoded identification code to a digital representation of the identification code and digital data storage means for storing the digital representation. The transportable identification reading mechanism further includes a data entry means so that an operator of the reading mechanism can input at least one code representative of responsive information received from each of the attendees. Preferably, the data processing system of the present invention receives identification information from each exhibitor. The identification information preferably includes a first list of products and services offered by each exhibitor and a second list of categories of attendees for whom the products and services are intended. T e identification information received from each of the attendees preferably includes a third list of the products and services offered by the plurality of exhibitors in which the attendee has expressed an interest, and at least one category in which ■ the attendee is classified in accordance with categories listed by the exhibitors on the second list of the exhibitors. The data processing system compares the third list of products in which the attendee has expressed an interest with the first list of products and services offered by the plurality of exhibitors and produces an output list of exhibitors having the products and services in which the attendee has expressed an interest. Preferably, the output list has the exhibitors listed in an order so that the attendee can visit the exhibits of the exhibitors listed on the output list in that order so that the attendee travels a minimal amount of distance in visiting the exhibitors. In preferred embodiments of the present invention, the data processing system is connectable to each of the transportable identification reading mechanisms associated with each of the exhibitors via a digital data link. The transportable identification reading mechanism associated with each of the exhibitors is provided with data transmission means to transmit digital data via the digital data link so that a digital representation of the identifications of the attendees who have visited the exhibit of each of the exhibitors is thereby transmitted to the data processing system. In exemplary embodiments, the digital data link is a portable data retrieval and storage unit that is transportable to each of the plurality of transportable identification reading mechanisms to receive the data stored in each of the reading mechanisms. The portable data retrieval and storage unit is further connectable to the data processing system to transfer the received data to the data processing system. Preferably, the data processing system includes means for providing each of the exhibitors with a summary of the identifications of the attendees who have visited the exhibit of each of the exhibitors. Also preferably, the data processing system includes means for providing a set of mailing labels having the names and addresses of the attendees who have visited the exhibit of each exhibitor. The system of the present invention further preferably includes a means for displaying messages. The message displaying means is responsive to the unique identifiers on each of the portable identification badges to display a message intended for the attendee associated with the unique identifier. The present invention also includes a method for managing attendance information at the plurality of exhibits at a trade show, exposition, convention or other gathering of a plurality of attendees and exhibitors. The ethod comprises the steps of providing each attendee with identification means, such as a badge, that is encoded with a unique identification number that is readable by an electronic means. Preferably, the unique identification is encoded using bar codes. For example, the bar codes can be optically readable alternating light and dark stripes. The method of the present invention further includes providing each exhibitor with an electronic means, such as a transportable identification reading mechanism, for reading the encoded identification on the identification means and for storing a digital representation of the unique identification. The method of the present invention further includes the step of periodically transferring a digital representation of the identifications from the transportable identification reading mechanism to a data processing system so that the data can be manipulated by the data processing system to provide a summary of the attendance at the exhibits of each of the exhibitors. Preferably, the method of the present invention further includes a step of entering information into the transportable identification reading mechanism that is representative of the products and services for which the attendee has expressed an interest. Also preferably, the method includes a step of entering information representative of the level of interest of each attendee and the products and services of the exhibitor. As set forth above, +he present invention is a method and apparatus for acquiring, maintaining and utilizing information regarding attendees and exhibitors at trade shows and other large gatherings. The apparatus of the invention includes a data processing system. The method includes the compilation of information regarding the locations of the exhibitors within one or more exhibition areas and information regarding the products and services provided by the exhibitors so that the products and services can be categorized in one or more categories. Preferably, the method further includes obtaining a brief list of biographical information, such as name, address, telephone number, type and place of employment, and category of employment from each attendee at the gathering so that each attendee can be readily identified. For example, at a trade show, the exhibitors typically want to know whether an attendee is an individual, retailer, distributor, manufacturer, etc. At a medical convention, the exhibitors want to know whether the attendee is a doctor, administrator, purchasing agent, etc. Thus, the exhibitor can determine what the potential purchasing power of the attendee is and thus how much effort to expend in following through with the contract. The information obtained from the attendee preferably includes a list of the products and services which each attendee is interested in reviewing at the gathering. Each attendee is provided with a unique identification number and an identification means, such as a badge, on which the unique identification number is encoded in a permanent manner. Preferably, the encoding is optically readable bar coding. Also preferably, each attendee is provided with a list of each of the exhibitors at the gathering who is promoting products and services listed by the attendee, and, more preferably is provided with an itinerary that provides a suggested order in which the exhibits can be visited to save the attendee time and motion while visiting the gathering. The apparatus of the present invention further includes a unique portable data capture unit which includes electronics to sense and decode the encoded identification number on the identification badges of the attendees. The portable data capture unit also includes means for storing a digital representation of the decoded identification number. The method of the present invention further includes providing each exhibitor with at least one portable data capture unit. The identification badge of each attendee who visits an exhibitor is read by the exhibitor's portable data capture unit and the digital representation of the attendee's identification number is stored in a data storage memory within the portable data capture unit. The identification number is preferably stored along with an indication of the products and services in which the attendee has expressed an interest and an indication of the level of interest of the attendee in the products and services (e.g., a level 1 attendee may want more literature; a level 2 attendee may be interested in purchasing the product or service; a level 3 attendee may be interested in becoming a distributor for the product; a level 4 attendee may want an immediate call after the trade show to further discuss the products and services). The level of interest is preferably entered into the data storage memory from a key pad on the data capture unit. Storing the level of interest in the products and services with the attendee identification provides the exhibitor with means so that it can later retrieve the information and exert the appropriate level of effort to follow through with each attendee. The level of interest is a user definable indicator that can vary from exhibitor to exhibitor in accordance with the information which a particular exhibitor wants to obtain from each attendee who visits the exhibit of the exhibitor. In accordance with the present invention, the identification numbers, indications of product and service interests, and indications of levels of interest from a number of attendees who have visited the exhibitor's exhibit are stored as digital data in the data storage memory in the portable data capture unit. Preferably, the portable data capture unit includes an electronic clock which is set when the portable data capture unit is prepared for an exhibitor. The clock can be implemented in software or can be implemented in electronic circuitry. The clock provides a digital representation of the current date and time of day which is preferably 5 stored in the data storage memory along with the information from each attendee. The digital data from the portable data capture units of the many exhibitors at the trade show are periodically transferred from the data storage memory in the portable data capture units to a 10. data storage device in a computer system having data manipulation capabilities. The information from the portable data capture units of the many exhibitors at the gathering is thus available for statistical analysis by the software programs running in the computer system. The 15 exhibitors at the gathering are preferably provided with daily reports of the attendance at the gathering, statistical information regarding the categories of the products and. services in which the attendees are interested, and a numerical indication of the attendance 0 at each of the exhibits. The present invention is preferably used to provide each of the exhibitors with a specially prepared mailing list of those attendees expressing an interest in each exhibitor's products and services. The mailing list is 25 preferably provided immediately after the conclusion of the gathering and is provided in alphabetical order, in post office zip code order or in any other order that the exhibitor desires to facilitate the mailing of additional promotional information regarding the exhibitor's products 30' and services to the attendees. The present invention preferably has the capability of providing the mailing list to the exhibitor in accordance with the categories of products and services in which the attendees expressed their interests so that the promotional literature mailed 35 to each atte-idee or other follow-through can be expressly tailored to f:he particular interests of each attendee. In addition, the exhibitor preferably has the option of receiving mailing lists with the attendees listed in accordance with their levels of interest. Thus, those attendees desiring only to receive additional literature will receive literature. Those attendees desiring to purchase products will be contacted by a salesperson. Those attendees desiring to become distributors will be contacted by persons within the exhibitors organization responsible for establishing such relationships. Those attendees requiring further immediate information will be called. Thus, each attendee is preferably handled according to his or her own expressed level of interest in each exhibitor's products and services. The attendees can also be listed in accordance to the category of the attendee. For example, an individual attendee may only be sent a brochure and a list of retailers. A retailer may be contacted by a regional distributor. A potential distributor on a manufacturer may be contacted by a person having an appropriate level of responsibility with the exhibitor's organization. All of this information can be provided to the exhibitors based upon the initial registration information from the attendees and from the information entered into the data storage of the data capture unit. The mailing lists are preferably in the form of printed mailing labels ready to be used by the exhibitors to mail promotional material particularly adapted to the gathering, or, more preferably, the lists are provided on data diskettes or other transportable media so that the mailing lists are available to the exhibitors for future mailings. As set forth above, the present invention also preferably includes a method and apparatus for conveying messages to the attendees at a trade show. When a message is received by communications personnel at the trade show, the message is input into a message display system that stores the message. In the preferred embodiment, the message display system includes the data processing system so that the message display system has access to the attendee information in the data processing system. The messages stored in the message display system are identified with the identification numbers of the attendees to whom the messages are directed. The message display system has one or more display terminals which are selectively activated by the insertion of an attendee's badge into a badge reader mechanism associated with the display terminal which reads the identification number on the badge. The identification number is transferred to the data processing system where it is compared to the identification numbers stored in association with the stored messages. If the message display system has a message intended for the attendee, the message is displayed on a visual display on the display terminal, such as a standard CRT display, a liquid crystal display, or the like. In an alternative embodiment, the display terminal includes an inexpensive printer which prints the message information on papers so that the attendee has a readable copy of the message information that can be carried with him or her. Brief Description of the Drawings Figure 1 is a block diagram of the system of the present invention showing the data processing unit and associated peripheral devices, a plurality of portable data capture units, and a message display- system. Figure 2 illustrates an exemplary bar code for use with the present invention showing the bar code symbols for the numerals 0 through 9 and a start/stop symbol. Figure 3 illustrates an exemplary bar code identification showing a start symbol, followed by a symbol for a checksum numeral, followed by eight symbols for eight identification numerals, and followed by a stop symbol. Figure 4 illustrates an exemplary badge showing the bar code identification positioned proximate to one edge of the badge. Figure 5 illustrates an exemplary embodiment of the 5 portable capture unit of the present invention, showing a badge positioned proximate to the bar code reader in the portable capture unit. Figure 6 is a partial cross-section of the portable data capture unit in Figure 5, showing the sensor for TXX detecting the bar code information on the badge, a switch for detecting the presence of the badge, and a printer and associated paper rollers for printing a hard copy of the information obtained from each attendee. Figure 7 is a partial plan view of the badge detecting 15 switch and the sensor of Figure 6. Figure 8 is a block diagram of an exemplary microprocessor-controlled data sensing and storage circuit used in the portable data capture unit in Figure 5. Figure 9 is an exemplary voltage waveform of the data 0 input to the microprocessor in Figure 8, responsive to the bar coded information from a badge being read. Figures 10a-10d are exemplary flow charts of a program which controls the microprocessor in Figure 8 to input data from the bar code sensor and from the key pad, store 5 the data in a data memory and transfer the data to a data processing unit. Figure 11 is a pictorial block diagram of data low in the system of the present invention during the registration phase of an exemplary trade show, exposition, 0 convention, or other gathering of people. Figure 12 is a pictorial block diagram of the data flow in the system of the present invention while the trade show, exposition, convention, or other gathering of people is in progress. 5 Figure 13 is a pictorial block diagram of the data flow in the ' system of the present invention after the trade show, exposition, convention, or other gathering of people is completed. Figures 14a-14m are flow charts of the program within the data processing unit of the present invention before, during, and after an exemplary trade show, exposition, convention, or other gathering of people. Detailed Description of the Preferred Embodiment Description of Overall System Figure 1 is a system block diagram of the preferred embodiment of the present invention. It comprises three functional subsystems: a registration and report generation subsystem or data processing subsystem 100; an exhibitor remote data acquisition subsystem 102; and a message subsystem 104. The registration and report generation subsystem comprises a data processing unit 110 which, in the preferred embodiment, is an IBM-PC, IBM-PC/XT, or the like, or other small business or personal computer having data processing capabilities. Preferably, the data processing unit 100 has a rigid disc drive or other bulk data storage means so that information received from promoters, exhibitors and attendees at a trade show, exhibition, convention, or other gathering of people, can be stored. Preferably, the data processing unit 110 and its associated data storage means are provided in duplicate and operated as a redundant system so that data input to the data processing unit 110 is stored in at lest two separate and independent storage units. Thus, in the event of a failure in one processing or storage unit, the stored data is not lost. Furthermore, the data processing unit can continue to operate with only one processing unit or one data storage unit. The data processing unit 100 has a data input/output terminal 112 connected in data communication with it via a data link 114 so that information can be entered into the data processing unit 110 and so that data within the data processing unit 100 can be displayed for review by an operator. In the preferred embodiment, the data input/output terminal 112 is a keyboard and a display provided as part of the data processing unit 100. The data processing unit 110 is connected via a data link 120 to a report printer 122 which can be a dot-matrix printer, a high-speed line printer, or other means for generating a printed copy of data from the data processing urrrt 110. As will be explained in more detail below, the data so printed is a summary of the activities of the exhibitors and the attendees at the trade show, exhibition, convention, or other gathering of people. The data processing unit 110 is further connected via a data link 124 to a label printer 126. The label printer 126 can be a dot-matrix printer, a high-speed line printer, a letter quality printer, or other means for printing labels for use in mailing information to persons whose names and addresses are imprinted on the labels. In alternative embodiments of the present invention, the data link 124 and the label printer 126 can be the same as the data link 120 and the report printer 122. In such an alternative embodiment, one need only replace the paper used for printing reports with readily available forms having mailing labels attached thereto. The data processing unit 110 is further connected via a data link 130 to a floppy disk drive unit 132. The floppy disk drive 132 can be any one of a number of readily available floppy disk drive units for writing digital data onto a flexible magnetic media. For example, the floppy disk drive 132 can be an eight inch floppy drive, a five and one quarter inch floppy drive, or a three inch floppy drive. Alternatively, the floppy disk drive unit 132 can be replaced by a tape drive unit. The data processing unit 110 is also connected via a data link 140 to a badge printer 142. The badge printer 142 is preferably a high-resolution, dot-matrix graphics printer which generates an alternating pattern of dark stripes interleaved with white, unprinted areas. The bar code information is printed on heavy weight paper with a smooth surface texture, such as card stock. Preferably, L the paper onto which the bar coded information is printed is continuous feed paper (i.e., sprocket or pin-feed) formed into badge-size units (e.g., approximately two inches by three and one-half inches) by perforations or other means so that the printed unit can be used as a badge. In the preferred embodiment, the badge printer 142 also prints humanly readable identification information onto the badge, such as an attendee's name, business or organization, affiliation, and other appropriate information commonly seen on badges at trade shows, exhibitions, conventions, or other gatherings of people. As is well known in the art, a dot-matrix printer is readily adaptable to print both alpha numeric information and graphics information. The bar coded information printed on the badge can be in any one of a number of well-known formats. In the preferred embodiment, the bar coded information is in the matrix two of five code, which will be described more fully below. The report printer 122, the label printer 126 and the badge printer 142 can be the same printer by providing the appropriate paper to the printer. The exhibitor remote data acquisition subsystem 102 comprises a plurality of portable data capture units 200, 202 and 204. Although only three data capture units are shown in Figure 1 , a typical exhibitor remote data acquisition «"^sγs em will include hundreds of the units so that each exhibitor at a trade show, exhibition, convention, or other gathering of people, will have its own individually serialized unit. Thus, the three units shown are by way of example only and do not represent a limitation of the system. As illustrated in Figure 1 , the portable data capture unit 200 is connectable to the data processing unit 110 by a data link 210, shown in phantom. Similarly, the portable data capture unit 202 and the portable data capture unit 204 are connectable to the data processing unit 110 by data links 212 and 214, respectively. As will be explained in more detail below, the portable data capture units 200, 202 and 204 are only connected to the data processing unit 110 when they are initialized with information regarding the exhibitor and when information relating to the attendees who have visited the exhibitor's exhibits is transferred from the portable transfer units 200, 202 and 204 to the data processing unit 110. In the present embodiment, the data capture units 200, 202 and 204 are connectable to the data processing unit 110 one unit at a time. However, one skilled in the art will realize that provisions can be made for -connecting multiple portable data capture units to the data processing unit 110. The data links 210, 232 and 214 in the exemplary embodiment are standard TTL (transistor- transistor logic). Other interfaces, such as optical fibers, wireless infrared, RF and the like can also be used. As will be set forth in detail below, the portable data capture units 200, 202 and 204 includes means for sensing the bar coded identification information imprinted by the bar code printer 142 on the badges 350. The portable data capture units 200, 202 and 204 include data storage means for storing the identification information printed on the badges and retaining the stored information until the portable data capture units 200, 202 and 204 are connected to the data processing unit 110 and the information is transferred from the portable data capture units 200, 202 and 204 to the data processing unit 110. The portable data capture units 200, 202 and 204 further include means for manually entering information responsive to questions asked of the attendees by the exhibitor personnel at an exhibit. Digital representations of the responses are stored in the data storage means within the portable data capture units in association with the identification information read from the bar coded badges. In the preferred embodiment, the data processing unit 110, in association with the data input/output terminal 112 is also part of the message display subsystem 104 that is used to receive and store messages for the attendees and the exhibitors at the trade show, exhibition, convention, or other gathering. If a message is received via a telephone, telegram, personal visit from another person, or the like, the message can be entered into the data processing unit 110 via the data input/output terminal 112 and stored along with the identification code for the attendee for whom the message is intended. The message display subsystem 104 further includes a message display unit 250 and a bar code reader 252 for sensing the bar coded information on the badges of the attendees. The message display unit 250 is connected to the data processing unit 110 by a data link 254 which can be electrical, optical, radio-frequency, or the like. When an identification badge 350 is sensed by the bar code reader 252 and the bar coded information encoded thereon is read from the badge 350, the identification information is transferred from the message display unit 250 to the data processing unit 100 via the data link 254. The software within the data processing unit 110 causes the identification information to be compared with the identification information stored in association with messages input into the data processing unit 110. If the identification information matches the identification information associated with a message, a digital representation of the message is transferred along the data link 254 to the message display unit 250 whereon it is displayed in a visually readable form so that the attendee can receive his or her message. A message display unit 250 preferably includes at least one touch responsive area or a switch 256 which the attendee can activate to send a signal back to the data processing unit 110 via the data link 254 to indicate that the message, or a portion thereof, has been received and understood. Thereafter, the data processing unit 110 can send further portions of the message, send any other messages awaiting the attendee assigned to that identification, or send an indication that no further messages are available for the attendee. The message display subsystem 104 can also be a stand¬ alone subsystem having its own data entry terminal and message storage means. However, it has been found to be advantageous to use the data processing subsystem 100 as part of the message display subsystem 104 so that the message display subsystem 104 has access to the attendee and exhibitor information. Description of Exemplary Bar Code Format A bar code format which is advantageously used with the present invention is illustrated in Figure 2. As illustrated in Figure 2, each of the 10 decimal numerals can be represented by five alternating light and dark bars, wherein the light bars reflect light and the dark bars reflect substantially no light. Within each five-bar number, two of the bars are wide bars having widths which are approximately three times the width of the other three bars, which are narrow bars. Thus, the bar code illustrated in Figure 2 is referred to as the "matrix two of five" code. For example, the number zero is represented as a narrow bar 270, followed by a second narrow bar 272, followed by two wide bars 274, 276, followed by a third narrow bar 278. A bar code reader can advantageously measure the time durations between transitions from reflective portions of a bar code to non- reflective portions of the bar code and vice versa and deter ine from the relative durations of the times between transitions whether a wide bar or a narrow bar has passed the sensor. As further illustrated in Figure 2, the bar code used in the present invention includes a start/stop symbol which comprises a single wide bar 280 followed by four narrow bars 282, 284, 286, 288. The start/stop symbol is preferably appended at the beginning and at the end of a bar coded identification number to identify the beginning and the end of the bar code. An exemplary bar code 300, representing an attendee identification number, is illustrated in Figure 3. As illustrated in Figure 3, the exemplary bar code 300 comprises a start symbol followed by six zero symbols, a four symbol, a two symbol, another zero symbol, and a stop symbol. Thus, the exemplary bar code represents the number 000000420. As also illustrated in Figure 3, each symbol is separated from the next succeeding symbol by an additional narrow bar, labeled as bars 301-311. If a narrow bar is considered to have a width of unity and a wide bar is considered to have a width of three, each numeric symbol occupies a width of ten when the additional spacing bars 301-311 are included. Similarly, the start symbol and the stop symbol have widths of eight when the additional space bar is included. In the present invention, an attendee at the trade show, exhibition, convention or other gathering is identified with an identifier comprising 24 binary digits (bits). The binary representation of the identification is grouped into eight octal digits (i.e., eight groups of three binary digits). Thus, 16,777,216 unique identification numbers can be provided. As is well known in the art, only the numerals zero through seven are used in octal representation. In the exemplary bar code illustrated in Figure 3, nine octal digits are provided between the start symbol and the stop symbol. The right¬ most eight digits are the unique attendee identification nu ber described above. The left-most numeral (i.e., the numeral represented by the bar coded symbol between the space bar 301 and the space bar 302) is a checksum digit which is defined by checksumming the eight octal digits representing the unique identification number. In the preferred embodiment, the checksum is performed by adding the even digits (i.e., every other digit beginning with the right-most digit) and then adding the odd digits and multiplying the sum of the odd digits by three. The sum of the even digits is added to the product of the multiplication and the result is divided by ten. The twos complement of the remainder after the division is the value of the checksum digit. After the bar code is read by a bar code reader and the sensed bar code is converted to a digital representation of the identifier, the same mathematical process on the odd and even digits of the unique identifier should yield the same checksum digit or else an error should be indicated and the sensing of the bar code should be repeated. Description of Exemplary Attendee Badge Figure 4 illustrates an exemplary embodiment of a badge 350 produced in accordance with the present invention. As illustrated, the badge 350 can advantageously be two inches tall by three and one-half inches wide, which is a common, readily available format available on heavy continuous paper which can be automatically fed through a printer, such as an Epson FX- 1 0 printer with graphics capability. As illustrated, the bar code 300 described in connection with Figure 3 is imprinted at a location proximate to the bottom edge of the badge 350. Preferably, the location of the bar code 300 with respect to the bottom of the badge 350 is at a substantially constant distance from the bottom edge of the badge 350 so that the bottom edge of the badge 350 has a reference when the bar code 300 is to be sensed by a bar code reader or other device. Accurate placement of the bar code 300 on each of the badge forms is readily accomplished with printers having tractor feed or pin feed, which are commercially available. The bar code 300 shown in Figure 4 is formed by using the graphics capability of the above-mentioned Epson printer to create overlapped dot patterns where the dark bars are located on the badge 350. As also illustrated in Figure 4, the same printer which prints the bar code 300 near the bottom edge of the badge 350 also prints the attendees name in a humanly readable format so that the badge 350 performs its ordinary function as an identification badge. As is commonly done with such badges, the attendee's company or other group affiliation and his home address can be printed on the badge 350. In the embodiment illustrated in Figure 4, the bar code 300 is printed on the front surface of the badge 350 as the human readable identification information. If, for aesthetic reasons, it is desired that the bar code 300 not appear on the front surface of the badge 350, the badge 350 can be printed in two stages. During the first stage, the bar code identification numbers 300 are printed on the reverse side of the badge 350. For example, a substantial number of sequential bar codes 300 can be printed sequentially on one side of the continuous paper forms. Thereafter, the continuous paper forms are reversed and inserted in the printer 142 (Figure 1) with the other side of the paper forms positioned to receive the printer information and positioned so that the next sequential printed registration number is positioned on the reverse side of the form to be next printed. Thus, when an attendee is assigned the identification number, the human readable information is printed on the front side of the badge form corresponding to that identification number to complete the badge 350. Alternatively, a badge 350 can be created by printing the human readable information in one for and printing the bar code 300 on the next contiguous form, upside down and backwards. The two contiguous forms are removed from the printer as a unit and folded at the iunction between the forms so that the first form is the front side of the badge 350 and the second form having the bar code 300 is the reverse side with the bar code 300 positioned near the fold at the bottom edge of the badge 350. Other printing methods to achieve the desired result an also be used. For example, one can use separate adhesive-backed bar code labels which are positioned on one side of a conventional identification badge to create a bar-coded identification badge 350. In any case, the resulting badge can advantageously be laminated with clear plastic or other material to increase durability. Although described above in terms of a matrix 2 of 5 bar code, other bar codes can of course be used to encode the user identification on the badge 350. Furthermore, other machine-readable identification means can also be used (e.g., encoded magnetic strips, and the like). However, the bar coding has been chosen as being both economical and easy to implement by using a standard, readily available dot-matrix printer to print the bar code on the badge 350. Description of Exemplary Portable Data Capture Unit An exemplary portable data capture unit 200 is illustrated in Figure 5. The data capture unit 200 comprises a keyboard 400 which is similar to a numerical touch pad used in a push button telephone. The portable data capture unit 200 further includes a display 402 which, in the preferred embodiment, is a liquid crystal display (LCD). Also preferably, the display 402 comprises two rows of sixteen alphanumeric indicators which are used to display messages to the operator of the portable data capture unit 200. The exemplary keyboard 400 has twelve keys which provide the capability of entering numeric data in response to queries from the portable data capture unit 200 via the display 402. The keyboard 400 can be expanded to include additional keys to provide alphanumeric data entry capability on other features if desired. In like manner, the display 402 can be enlarged to provide additional display lines and additional characters per display line if the capability of displaying longer messages is desired. The data capture unit 200 further includes a slot 420 having a left-hand end 422 and a right-hand end 424. The identification badge 350 (Figure 4) is inserted into the slot 420 at the left-hand end 422 and moved to the right- hand end 424. As illustrated in Figure 6, the slot 420 provides a path for the badge 350 to travel past an optical sensor 430. In the preferred embodiment, the optical sensor 430 is a Hewlett Packard HBCS 1100 optical sensor. Other optical sensors can also be used. Briefly, the optical sensor 430 includes a light source (not shown), such as a light emitting diode, which generates light which is reflected from the badge 350 and is detected by a light sensitive element (not shown), such as a phototransistor, or the like. The detected light is responsive to alternating reflective and non-reflective portions of the badge as defined by the bar coded information thereon. Preferably, the light emitted by the light source and detected by the light sensitive element is in the infrared range so that the ambient light has little or no effect on the operation of the unit. The slot 420 has a bottom surface 432 upon which the bottom edge of the badge 350 slides when it is inserted in the slot 420. The optical sensor 430 is positioned at a height with respect to the bottom surface 432 such that when the badge 350 is moved along the bottom surface 432, the bar code 300 (Figure 4) printed on the badge is at the same height and proximate to the sensor 430. A microswitch assembly 434 is mounted in the groove 420 in opposition to the sensor 430. The microswitch assembly 434 serves the dual purpose of holding the badge 350 against the sensor assembly 430 when it is inserted in the slot 420 and also senses when the badge 350 is positioned against the sensor. The position of the microswitch assembly 434 is adjusted so that the thickness of the badge 350 is sufficient to activate the microswitch. In the preferred embodiment, the microswitch assembly 434 is activated by the movement of a spring- biased wheel 436 which normally rests in an indentation 438. A badge 350 inserted into the slot 420 at the left- hand end 422 and moved towards the right-hand end 424 pushes the wheel 436 out of the indentation 438 to move the wheel 436 in a direction perpendicular to its rotational axis a sufficient amount to activate the microswitch. The spring biasing causes the wheel 436 to force the badge 350 against the surface of the slot 420 in which the sensor 430 is mounted so that the bar code 300 (not shown) on the badge 350 is proximate to the sensor 420. As will be set forth in more detail below, the activation of the microswitch 434 causes power to be applied to sensor circuits connected to the sensor 430 when the badge 350 is present. At other times, power is not applied to the sensor circuit. This is important since in the preferred embodiment, the portable data capture unit 200 is battery-powered to provide complete portability. Referring to Figure 7, which is a partial plan view of the slot 420, one can better appreciate the function of the microswitch assembly 432 to detect the presence of the badge 350 and to push the badge 350 against the sensor 430. Returning again to Figure 6, the portable data capture unit 200 further includes a dot-matrix printer 440 which is mounted within the body of the data capture unit 200. In the preferred embodiment, the printer 440 is a dot- matrix M-150 printer from Epson America, Inc., 2780 Lo ita Boulevard, Torrance, California 90505. It prints 16 characters per line on calculator paper at a rate of one line per second. Other similar printers could, of course, be used. Furthermore, printers having the capability of printing more characters per line can also be used. The printer 440 is provided with a continuous supply of paper 442 from a standard roll 444 of calculator paper. After being fed through the printer 440, the paper 442 is positioned across a first support 446 and a second support 448 which holds the paper in a substantially horizontal position beneath a window 450 of clear plastic positioned in the top surface of the body of the portable data capture unit 200. Thereafter, the paper 442 is provided to a take-up roll 452 which receives the paper 442 after it has been printed and after it has passed beneath the window 450. The window 450 provides a means for observing the information which has been printed on the paper 442. The use of the take-up roll 452 provides an important feature in that the portable data capture unit 200 does not generate loose paper which is both unsightly and apt to be torn off and lost. The operation of the portable data capture unit 200 can be further understood by referring to the block diagram in Figure 8. In Figure 8, the sensor 430, the microswitch 432, and the printer 440 are given the same numerical designators as before. The sensor 430 comprises a light source 430A and a light sensor 430B. The microswitch 432 is connected to a voltage source, indicated in Figure 8 as +V. When the microswitch 432 is closed by the presence of a badge 350 (Figure 4), the voltage +V is applied to an amplifier 500 which applies a second voltage source having high current supplying capabilities to the light source 430A. The voltage +V is also applied to a saturating DC amplifier 502. The light emitted by the light source 430A is reflected from the white reflective portions of the badge 350 and is detected by the sensor 430B. The sensor 430B generates an output voltage responsive to . the light reflected from the badge 350. When a substantially white area of the badge is proximate to the sensor, a voltage of less than 0.6 volts is generated. When a substantially black area of the badge is proximate to the sensor, a voltage of at least 3.5 volts is generated. The voltage from the sensor 430B is provided to the saturating DC amplifier 502 via a signal line 504. The saturating DC amplifier 502 provides an output signal on a line 506 which is responsive to the signal on the line 504. However, the voltage on the line 506 is stabilized so that it is substantially independent of the absolute magnitudes of the high and low voltage levels on the line 504 and substantially independent of the absolute battery voltage. The output of the saturating DC amplifier 502 on the line 506 is provided to a digitizer 510 which detects the presence of the bar code information 300 on a badge 350 and generates an interrupt on a line 512 to a microprocessor 514. The interrupt on the line 512 is enabled so long as the bar code 300 is being moved before the sensor 430B to generate a changing voltage on the line 506. The digitizer 510 also generates a changing signal on a line 516 which is responsive to the changing voltage levels on the line 506. A low signal level on the line 516 indicates the presence of a reflective portion of the bar code on the badge 350 and a high voltage level on the line 516 indicates the presence of a dark, non-reflective portion of the bar code of the badge 350 in front of the sensor 430B. The signal on the line 516 is provided as one input to a multiplexer 520 which has an output on a line 522 to the microprocessor 514. The microprocessor 514 is programmed to respond to the interrupt on the line 512 and gate the light responsive signal on the line 516 through the multiplexer 520 to the line 522. The changing signals on the line 522 also interrupt the programmed operations of the microprocessor 514. The microprocessor 514 is also programmed to distinguish the wide bars from the narrow bars of the bar code by measuring the time between transitions of the signal levels on the line 522. The microprocessor 514 has an internal timer to enable it to measure the time between transitions. The microprocessor 514 is advantageously programmed to convert the information derived from the transitions on. the line 522 to a binary representation of the attendee identification number by decoding the time durations between the transitions on the line 522 in accordance with the bar coding scheme described in connection with Figures ? and 3. Figure 9 illustrates an exemplary signal on the line 522 which corresponds to the bar code illustrated in Figures 3 and 4. As set forth above, a high voltage level on the line 522 corresponds to a dark, non-reflective portion of the bar code and a low voltage level corresponds to the light reflective portion of the bar code. Thus, the start symbol in the bar code of Figure 3 is represented by an initial transition from a low voltage level on the line 522 to a high voltage level 522. The voltage remains at the high level for a duration T1 after which there is a transition back to the low voltage level. The voltage remains at the low voltage level for a duration T2 before changing back to the high voltage level for a duration of T3. Thereafter, the voltage makes a transition to the low voltage level for a duration T4, followed by a transition to the high voltage level for a duration T5 and then a transition to the low voltage level for a duration of T6. As illustrated in Figure 9, the time durations T2, T3, T4, T5, T6, and T7 are each approximately one-third of the time duration T1 and thus correspond to narrow bars on the bar code while the time duration T1 corresponds to a wide bar. The microprocessor 514 (Figure 8) is programmed to recognize a long time duration between transitions followed by five short time durations between transitions as a start pulse. In like manner, a bar code representing a zero results in two short durations (T7 and T8) between transitions followed by two long durations (T9 and T10) followed by two more short durations (T11 and T12) on the line 522. The microprocessor 514 is programmed to recognize this combination of time durations as a zero. The microprocessor 514 in the preferred embodiment is an 80C39 single-chip computer available from INTEL Corporation, or the like. The microprocessor 514 has an external program memory 530 which preferably is a programmable read-only memory (PROM) which is programmed with the software necessary to perform the functions described herein. In addition, the microprocessor 514 is connected to an external reprogrammable data memory 532 which is used to store the attendee identification codes received from the bar coded badges 350 via the line 522. In addition, the data memory 532 is used to store additional information regarding the attendees' levels of interest in a particular exhibitors products. The microprocessor 514 has an internal scratch-pad memory and internal registers which are used for temporary storage and manipulation of data. As also illustrated in Figure 8, the microprocessor 514 is connected to three multi-bit latches 550, 552, and 554. The latch 550 is used to control the writing of data to the liquid crystal display 402 in a manner well-known to the art. When a selected digital output from the microprocessor 514 is latched by the latch 550, a signal is provided on a line 556 to the liquid crystal display 402. The signal on the line 556 causes data on the parallel data output of the microprocessor 514 to be gated into the liquid crystal display 402. In the preferred embodiment, the liquid crystal display 402 is a Model No. 3802-09-032 LCD display available from IEE Industrial Division. The liquid crystal display 402 is a fully propram able display device which is responsive to data received on the lines 558 to selectively display information in one of the 32 display units 411 (Figure 5). The second latch 552 is used to control the keyboard 400. The second latch 552 has four active output signals * on four lines 560, 562, 564, and 566 which are provided as row inputs to the keyboard 400. The keyboard 400 has three column outputs on lines 570, 572, and 574 which are provided as inputs to the microprocessor 514. In a manner well-known to the art, a signal applied to one of the rows of the keyboard on one of the row inputs 560, 562, 564, or 566 will generate an active signal on one of the column output lines 570, 572 or 574 if a key on the keyboard is pressed. Thus, by selectively strobing the lines 560, 562, 564, and 566, and monitoring the inputs from the lines 570, 572, and 574, the microprocessor 514 can determine whether a key is pressed on the keyboard 400. The second latch 552 also provides four outputs on our lines 580, 582, 584, and 586 which are inputs to a decoder 590 which decodes the four lines to provide three output signals on three lines 592, 594, and 596. The line 592 is used to drive an annunciator 600 which can be any one of a number of audible sound generators which operate at low voltage levels. The annunciator 600 is activated to inform the operator of the portable data capture unit 200 that a message is displayed on the liquid crystal display 402 which requires a response. For example, if an error is made in entering input data to the keyboard 400, or if an error is detected in reading the bar-coded information 300 on a badge 350, the annunciator 600 is activated to inform the operator that an appropriate error message is being displayed on the liquid crystal display 402. The lines 594 and 596 are provided as inputs to a motor controller 602. The motor controller 602 has an output on a line 604 which is the motor power for the motor in the 16-column printer 440. The line 594 is a start line which, when activated, causes the motor controller 602 to provide power on the line 604 to operate the motor in the printer 440. The line 596 is a stop line, which, when activated, causes the motor controller 602 to disconnect power from the line 604 going to the printer 440. When power is applied to the line 604 and thus to the printer 440, the motor within the printer 440 is activated to move the printhead within the printer 440 across the paper within the printer. Two signals are generated by the printer 440 to indicate that the motor has been activated and that the printhead is moving. A first signal on a line 610 is a ready line indicating that the printhead has begun to move from the left-most position. The signal on the line 610 is returned to its inactive state when the printhead reaches the right-most printing column of the printer. The signal on the line 610 is provided as an input to the microprocessor 514 through the multiplexer 520 so that the microprocessor 514 can monitor the status of the line 610 and determine whether the printer is moving between the left and right margins. The start signal on the line 594 is provided as the control to the multiplexer 520 to select the signal on the line 610 as the input to the microprocessor 514 on the line 522 when the printer is activated. When the start signal on the line 594 is inactive, the multiplexer 520 selects the output of the bar code digitizer 510 in the line 516. The printer 440 also generates a signal on a line 612 which is responsive to the movement of the printhead. The signal on the line 612 is proportional to the speed of the motor and occurs once for each of the printhead positions. The signal on the line 612 is amplified by an amplifier 614 and is then provided as an input to the microprocessor 514 on a line 616. When the microprocessor detects an active signal on the line 616, it is thereby informed that the printhead of the printer 440 has moved to a new column and that a new print signal should be sent to the printer 440. As set forth above, the printer 440 is capable of printing 16 alphanumeric characters per row. Each alphanumeric characters is five dots wide with a sixth dot to separate the characters. Thus, each row of the printer has 96 dots. Therefore, the signal on the line 612 and thus on the line 616 occurs 96 times between the left and right margins of the printer. The microprocessor 514 drives the printer 440 via the ; third latch 554 which generates four output signals on four lines 620, 622, 624 and 626. The lines 620, 622, 624 and 626 are provided as inputs to a four-channel dot drive 630. The four-channel dot drive amplifies the signals on the lines 620, 622, 624, and 626 and provides signal outputs on the lines 632, 634, 636, and 638 to the print hammers within the printer 440. In the preferred embodiment, the microprocessor 514 activates two of the print hammers for each of the pulses on the line 612. Since the printer prints one row of dots at a time, and since the microprocessor 514 directly controls the print hammers, the printer 440 can be used for graphics output as well as alphanumeric output. The microprocessor 514 is also connected to a bidirectional data buffer 640 which provides a means of communication between the microprocessor 514 and the data processing unit 110 (Figure 1). A bidirectional data bus 642 interconnects the microprocessor 514 with the bidirectional data buffer 640. The bidirectional data buffer 6^-0 is connected to a second data bus 644 which is provided to a connector 646. The connector 646 can be directly connected to the data processing unit 110 and thus corresponds to the interconnection bus 210 in Figure 1. A line 650 interconnects the connector 646 with an input to the microprocessor 514. The line 650 is activated by the data processing unit 110 when the portable data capturing unit 200 is interconnected to the data processing unit 110 to indicate that it has data or commands available to the microprocessor 514 or that it has received data from the microprocessor 514. A line 652 is provided from the microprocessor 514 via the first latch 550 to the connector 646. The microprocessor 514 activates the signal on the line 652 when it has data available to the data processing unit 110 or to acknowledge receipt of data or commands from the data processing unit 110. The bidirectional data buffer 640 is. controlled by the microprocessor 514 via a line 654 so that the data is passed through the bidirectional data buffer 640 from the sending device to the receiving device. For example, when the data processing unit 110 indicates that it has data to send to the microprocessor 514, by activating the line 650, the microprocessor 514 selects a level on the line 654 to enable data flow through the bidirectional data buffer 640 from the bus 6f44 to the bus 642. The bidirectional data buffer 640 will remain enabled in that direction at least until an acknowledge signal is sent by the microprocessor 514 on the line 652. Conversely, if the microprocessor 514 indicates that it has data to send by activating the line 652 while the line 650 is inactive, the microprocessor 514 selects a signal level on the line 654 to cause data flow from the bus 642 to the bus 644 and thus from the microprocessor 514 to the data processing unit 110. In the preferred embodiment, the bidirectional data buffer 640 is a TTL interface integrated circuit which is not used other than when the portable data capture unit 200 is connected to the data processing unit 110. In order to conserve power, the bidirectional data buffer 640 is provided with a source of DC voltage on a line 660 from the connector 646. This power is provided by the data processing unit 110 when the portable data capture unit 200 is connected to the data processing unit 110. Thus, the bidirectional data buffer 640 does not consume any power from the batteries within the portable data capture unit 200. Therefore, the lifetime of the batteries within the portable data capture unit 200 is extended. Description of Exemplary Flow Charts for Operation of Portable Data Capture Unit Figure 10 illustrates an exemplary flow chart for the software within the program memory 530 of the microprocessor 514. When the portable data capture unit 200 is first turned on, the microprocessor 514 is reset to an initial starting location represented by the numeral 700. Immediately upon being reset, program control of the software is caused to enter a hardware initialization activity block 704 wherein the various registers and flags within the microprocessor 514 are set to known values. In addition, the stop signal is activated to the motor controller 602 (Figure 8) and the multiplexer 520 is enabled so that data from the digitizer 510 on the line 516 is enabled to the microprocessor 514 on the line 522. After initializing the hardware and clearing the registers and flags within the microprocessor 514, the program control branches via a block 704 to a save and analyze data subroutine which will be described in more detail in connection with Figure 10b. Briefly, the save and analyze subroutine analyzes, any data that may be in various registers or in the scratch-pad memory within the microprocessor 514 and saves any valid data in the data memory 532 (Figure 8). Program control returns from the save and analyze subroutine via the block 706. It then enters the activity block 710 wherein an internal timer of the microprocessor 514 is enabled and the microprocessor 514 is enabled to detect interrupts and data from the bar code sensor via the line 512 and the line 522, respectively. The internal timer of the microprocessor 514 is preferably set to provide an internal interrupt every 60 milliseconds. The timer provides a means of determining whether the user of the portable data capture unit 200 is responding timely to various prompts which are displayed on the LCD display 402. For example, in the preferred embodiment, the user 5 is given two minutes to respond to a prompt, and, if no response is received within that time, the software presumes that no response is going to be made. After enabling the timer and the bar code sensor, the program control transfers to an activity block 712 wherein 0} the microprocessor 514 is switched to an alternative low power mode of operation. The 80C39 microprocessor is specially adapted to enter this mode and reduce its current consumption from approximately 7 milliamps to approximately 1 milliamp. Similarly, since the program 5 memory 530 is not being used during the low-power shutdown of the microprocessor 514, the current requirements of the program memory 530 is reduced from approximately 6.8 milliamps to 68 microamps. Thus, a significant amount of power from the batteries are saved during the low-power 0 shutdown mode. The microprocessor 514 remains in the low- power shutdown mode activity block 712 until interrupted by an internal timer interrupt or by an interrupt on the line 512 from the bar code sensor circuitry. When an interrupt occurs, the program control enters a block 714 S which causes the microprocessor to go execute an interrupt routine which will be described more fully below in connection with Figure 10C. Briefly, the program will cause the microprocessor 514 to determine the cause of the interrupt and respond accordingly. Upon returning to the 0 block 716, the program control is transferred to a decision block 720 wherein the microprocessor 514 checks the status of the line 650 from the external interface connector 646 to determine whether the portable data capture unit 200 has been connected to the data processing 5 unit 110 (Figure 1). If there has been a connection which is indicated by an active signal on the line 650, the software is programmed to cause the microprocessor 514 to transfer program control via a block 722 to host routines which input data from and output data to the data processing unit 110. The operation of the host routines will be described in more detail below in connection with Figure 10b. If there is no host connection request, program control transfers from the decision block 720 to a decision block 724 wherein certain registers within the microprocessor 514, referred to as flags, are checked to determine whether a complete bar code has been read or whether a time-out has occurred with regard to the entry of data by the user. If neither the bar code flag or the time-out flag is set, program control is transferred back to the activity block 712 wherein the software again causes the microprocessor 514 to enter the low-power shutdown mode until the next interrupt. As set forth above, the preferred embodiment, a timer interrupt will occur at least every 60 milliseconds so that the microprocessor 514 does not remain in the low-power shutdown mode for longer than that amount of time. If the bar code flag or the time-out flag is set when the software executes the routine in the decision block 724, program control is transferred to a block 726 wherein the software again causes the microprocessor 514 to execute the save and analyze subroutine which will be described below in connection with Figure 10b. Program control is returned to the main processing routine from the save and analyze subroutine via a block 730. Thereafter, the program enters a decision block 732 wherein the memory is tested to determine whether it is full. If the memory is full, program control is transferred to an activity block 734 wherein the microprocessor 514 is caused to display a "memory full" prompt on the LCD display 402 to indicate to the user that no more bar codes can be entered. In response to this pro pt, the user should take the portable data capture unit 200 to the data processing unit 110 so that the information contained therein can be transferred to the data processing unit 110. After displaying the memory full prompt, program control is transferred to an activity block 736 wherein the most recently sensed bar code is discarded. Thereafter, program control is transferred back to the activity block 710, as indicated by corresponding connector symbols A in Figure 10A. Returning again to the decision block 732, if the memory is not full when tested in the decision block 732, program control is transferred to a decision block 740 wherein the status of certain registers are checked to determine whether data has been received from the keyboard or from the bar code sensing circuitry. If no new data has been received, program control is transferred to the activity block 710 to await further data as described above. If new data has been received from the keyboard or from the bar code sensing circuit, program control is transferred to a decision block 742. Within the decision block 742, the program determines whether further data is needed with respect to the current entry. For example, the microprocessor 514 is programmable to require only an identification from a bar code from each attendee who visits an exhibition. In that case, once a bar code has been read, no further information will be needed and program control will transfer back to the block 704 wherein program control will be transferred to the save and analyze routine to be described below in connection with Figure 10b. On the other hand, the microprocessor 514 is programmable to require the entry of information regarding the attendee. For example, in one particular embodiment of the present invention, the operator of the unit will inquire as to the attendee's interest in the product which the exhibitor is exhibiting. For example, an exemplary exhibitor having multiple products at its exhibit may request that one or more product codes be entered into the portable data capture unit 200 in association with the bar code identification of an attendee. Furthermore, the exhibitor may want to know the level of interest of the attendee in the product (e.g., literature only, purchase of the product, distribution of the product, or an immediate call after the conclusion of the trade show, exhibition, convention, or other gathering). The exhibitor may also want to know whether the category of the attendee is an individual, a store owner, a wholesaler, or an original equipment manufacturer, or the like. In order to obtain this information, the program control is transferred to an activity block 744 wherein the microprocessor 514 is caused to display a prompt on the LCD display 402 to indicate to the user that the requested information should be entered. For example, a prompt "identify attendee" can indicate that the user should enter a code of 1, 2, 3, or 4 to indicate whether the category of the attendee is "individual," "store owner," "wholesaler," or "original equipment manufacturer," respectively. The program will remain in the activity block 744 until the user has entered a number corresponding to the categorical identity of the attendee and will respond by displaying the entered number on the LCD display 402. The user can then signify that the identification is correct by activating an "FNTER" key on the keyboard. In the preferred embodiment, the enter key is located where the # key on a typical push-button telephone key pad. If the user is not satisfied with the entry, a "CLEAR" key, (located where the * on a typical key pad is located) is activated and another entry is performed to replace the first entry. The prompts displayed by the portable data capture unit 200 and the valid responses to the prompts are definable by each exhibitor when he or she rents the portable data capture units 200. Thus, while one -40- exhibitor may choose to identify the attendees and their levels of interest as set forth above, another exhibitor may choose to obtain other information from the attendees. For example, a manufacturer or distributor of consumer products at a retail-oriented gathering may choose to obtain socio-economic information from each attendee (e.g., age, sex, marital status, number of family members, and the like) in addition to an indication of each attendee's reaction to the exhibited products and services. The ability to redefine the prompts and responses is an important feature so that the portable data capture units 200 can be used by different exhibitors desiring different types of information from their visitors. The information input via the keyboard 400 can be referred to as "attendee responsive information" and can mean level of interest information, socio-economic information, or other information desired by each exhibitor in accordance with criteria selected by each exhibitor. Since the user may neglect to respond to the prompts on the LCD display 402, the interrupts are enabled while the program control is within the activity block 744. Thus, the microprocessor 514 can respond to a timer interrupt or from an interrupt caused by the user inserting another badge into the portable data capture unit 200 instead of responding to the prompts. If an interrupt occurs, program control is transferred via a block 746 to the interrupt routine to be described below in connection with Figure 10c. After the interrupt routine is completed, program control returns via a block 750 to a decision block 752. In the decision block 752, the program causes the microprocessor to check to determine whether the bar code flag or a time-out flag was set during the interrupt handling routine. If neither flag was set, which indicates that the interrupt was simply a. time interrupt or a bar code read which is still in progress, program control is transferred to activity block 754 wherein the data entered from the keyboard is stored in scratch-pad memory for further use. Thereafter, program control is transferred back to the decision block 742 wherein the program causes the microprocessor 514 to determine whether more information is needed from the keyboard. As set forth above, if more information is needed, the program control once again enters the activity block 744 wherein it continues to wait for a response to the previous prompt or displays a new prompt and waits for a response. Otherwise, program control is transferred from the decision block 742 to the block 744 to execute the save and analyze subroutine. Returning again to the decision block 752, if the bar code flag or the time-out flag is set upon return from the interrupt routine, control is transferred once again to the block 726 which causes program control to enter the save and analyze subroutine wherein any data entered on the keyboard is saved in association with the most recently read bar code. This will occur if the user fails to enter the prompted information within a set time limit (e.g., two minutes) or if a second badge is read before the requested information is entered in association with the first badge. Thereafter, the main processing routine is repeated as described above until the memory becomes full or until the portable data capture unit 200 is connected to the data processing unit 110. The interrupt routine is illustrated by a flow chart in Figure 10c. The interrupt routine is entered via a block 760 and program control is transferred to a decision block 762. Within the decision 762, the program causes the microprocessor 514 to determine whether the interrupt was caused by data coming from the bar code sensing circuitry or from the internal timer. If it determines that the internal timer caused the interrupt, control is transferred to a decision block 764 wherein the program causes the microprocessor 514 to increment an internal register which was reset to zero when the last prompt was displayed on the LCD display 402. The count in the register is compared to a maximum count corresponding to approximately two minutes and, if the count exceeds the maximum count, a time-out has occurred indicating that the user is not being responsive to the prompt. If this occurs, program control is transferred to an activity block 766 wherein a time-out flag is set to indicate to other portions of the program that the time-out has occurred. If a time-out has not occurred, program control is transferred via a block 770 which causes program control to return to the portion of the software which was being executed prior to the interrupt. For example, control will either return to the block 716 or the block 750 in Figure 10a. Returning to the decision block 762, if a microprocessor 514 determines that the interrupt was caused by the receipt of further data from the bar code sensing circuitry, program control is transferred to an activity block 772 wherein the microprocessor 514 calculates the amount of time which has occurred since the last transition in the bar code pattern. The amount of time which has occurred is compared to the time duration of the most recently detected long transition and the most recently detected short transition to determine whether the current time duration corresponds to a long transition or a short transition. If this transition is the first transition, corresponding to the beginning of the wide bar code in the start symbol, a flag is set to indicate the beginning of the wide bar code of the start symbol. Similarly, if the transition is determined to be the second transition, corresponding to the end of the start symbol, the time duration since the last transition is saved as the current time duration of a wide bar code. Similarly, the time duration between the second transition and the third transition is saved as the time duration of a narrow bar code. Thereafter, the time durations of the wide bar codes and the narrow bar codes are continuously updated to compensate for fluctuations in the speed at which the badge 350 is passed before the sensor 430. The sensed time durations are accumulated as bar code pattern data until 66 transitions have occurred corresponding to the number of transitions in the exemplary bar code illustrated in Figure 3. After the current transition is detected and the time duration is calculated, program control transfers from the activity block 772 to a decision block 774 wherein the number of detected transitions is compared to the number of expected transitions to determine whether sufficient data has been received for the entire bar code. If sufficient data has not been received, control is transferred to the block 770 wherein program control is transferred back to that portion of the software which is being executed prior to the receipt of the interrupt. If sufficient data has been received to indicate a full bar code, control is transferred from the decision block 774 to an activity block 776 wherein the bar code flag is set to indicate to the other portions of the software that a full bar code has been received. Thereafter, control is transferred back to the remaining portions of the software via the block 770, as described before. A flow chart of the save and analyze subroutine is illustrated in Figure 10b. Entry to the save and analyze, subroutine is through a block 780. Program control is transferred from the block 780 to a decision block 782 wherein the bar code flag is checked to determine whether it has been set. If the bar code flag has been set, program control is transferred to an activity block 784 wherein the bar code data, comprising a digital representation of the wide and narrow bars is converted to a numerical representation of each of the symbols in the bar code 300 on the badge 350. Thereafter, program control is transferred to an activity block 786 to verify that the received bar code corresponds to an acceptable bar code. Thus, in the exemplary system heretofore described, the bar code must comprise a start symbol followed by nine numeric symbols followed by a stop symbol. Furthermore, each of the numeric symbols must be within the range 0 to 7. If the bar code is acceptable thus far, then the checksum of the eight right-most octal digits is calculated as described above and compared with the ninth checksum digit to make sure that the bar code read was proper. If the bar code was improper, a read error flag is set to indicate to the remaining portions of the program that the bar code should not be used. After completing the activity block 786, program control is transferred to a decision block 790. One skilled in the art will recognize that if another bar code format is used, the criteria for an acceptable bar code may also change accordingly. Returning to the decision block 782, if the bar code flag is not set, control is transferred from the decision block 782 directly to the decision block 790. This will occur when a time-out has occurred while waiting for responses from the user. Within the decision block 790, the scratch-pad memory of the microprocessor 514 is checked to determine whether there is current data to be saved. If there is, program control is transferred to an activity block 792 wherein the microprocessor 514 causes a prompt "saving data" to be displayed on the LCD display 402 and the data thus far accumulated is printed on the printer. Thereafter, the program control is transferred to an activity block 794 wherein the accumulated data is transferred to the data memory 532. The data is printed on the printer as a backup in case of an electrical failure in the portable data capture unit 200 which causes the data transferred to the data memory 532 to be lost prior to transferring the data from the data memory 530 to the data processing unit 110. All of the data received is copied onto the paper in the printer 440 so that the data can be manually recovered if lost. In the preferred embodiment, the data stored in the data memory 532 and printed on the printer further includes a digital representation of the date and the time of day so that the exhibitor can retain a chronological record of the attendance at his or her exhibit. This date stamp can be used for statistical purposes (e.g. , to determine when the heaviest visitor traffic occurs at the exhibit to assist in planning staffing). In one embodiment, the time of day is maintained as a counter in the data memory 532 and is initially set with information received from the data processing unit 110 or by entry via the keyboard 400. The time of day is periodically updated by the interval timer discussed above. Alternatively, the date and time of day can be maintained in a digital counter (not shown) which is accessible by the microprocessor 514 (Figure 8) when the current date and time of day are needed. After the data is transferred to the data memory 532 in the activity block 794, program control is transferred again to the decision block 790 to determine whether there is any further data to save. If there is no further data to save, program control is transferred from the decision block 790 to a decision block 796 wherein the read error flag which may have been set in the activity block 786 is tested. If the read error flag is set, program control is transferred to an activity block 798 in which the program causes the microprocessor 514 to display a "read error" message on the LCD display 402 and to activate the annunciator 600 to indicate to the user that the last badge was not read properly. Thereafter, control is transferred to an activity block 800 wherein the valid bar code flag is reset so that other portions of the program do not use the bar code information saved in the scratch pad memory. Control is transferred from the activity block 800 to a block 802 wherein program control is transferred back to the portion of the software which called the save and analyze subroutine. Thus, program control will transfer back to either the block 706 or the block 730 in Figure 10a. Returning to the decision block 796, if the read error flag is not set, control is transferred from the decision block 796 to a decision block 804 wherein a location in scratch pad memory is checked to determine whether there is valid bar code data stored therein. If there is valid bar code data stored therein, control is transferred from the decision block 804 to an activity block 806. In the activity block 806, the bar code stored in scratch pad memory is transferred to an active bar code register and a valid bar code flag is set to indicate to the other portions of the program that a new valid bar code has been read. As set forth above, this flag is checked in the decision block 740 in Figure 10a. Control is transferred from the activity block 806 to the block 802 wherein program control is returned to the portion of the program which is called the subroutine. Returning to the decision block 804, if there is currently no valid bar code data, program control is transferred to an activity block 810 wherein the program causes the microprocessor 51-4 to display a prompt "ready for card" on the LCD display 402. This indicates to the user that all previous prompts have been satisfied or that the allowed time has elapsed for responding to the last prompt. Thus, the portable data unit 200 is ready for the next badge to be passed before the sensor 430. After displaying the "ready for card" prompt, program control is transferred to an activity block 812 wherein the program causes the microprocessor 514 to calculate the number of storage ' locations in the data memory 532 which are available for storing new bar code identifications and associated attendee information data. After making the calculation, a prompt "free space REM" (corresponding to free space remaining) and a numerical indication of the number of memory locations available is displayed to provide the user with an indication as to whether the portable data capture unit 200 should be taken to the data processing unit 110 to transfer the data to the data processing unit 110 so that the data memory 532 can be cleared for further attendee information. Program control is transferred from the activity block 812 through the block 802 back to the portion of the software calling the subroutine. A flow chart of the host routine is illustrated in Figure 10d. The host routines are entered through the block 820 and control is transferred to an activity block 822. In the activity block 822, the data lines between the data processing unit 110 and the portable data capture unit 200 are tested to determine whether data can be transferred in both directions. If it is established that the data lines are operational, program control is transferred to an activity 824 wherein the program causes the microprocessor 514 to respond to commands from the data processing unit 110. For example, the activity blocks 824 can be represented as a series of decision blocks which check to determine which command has been received from the data processing unit 110. A first decision block 826 within the activity block 824 checks to determine whether the command from the data processing unit 110 is a command to send data from the portable data capture unit 200 to the data processing unit 110. If the command is a command to "send data", program control is transferred to an activity block 830 wherein the data in the data memory 532 is sent to the data processing unit 110. Optionally (not shown) selected portions of the data in the data memory 530, such as only the bar codes, can be sent to the data processing unit 110. In the preferred embodiment, when the entire contents of the data memory 530 is transferred to the data processing unit 110, the data sent to the data processing unit 110 is checksummed as it is sent. A linear checksum, which is the modulo-256 checksum and a polynomial checksum is appended to the end of the data so that the data processing unit 110 can determine whether the received data was transferred correctly. After sending all the data to the data processing unit 110, program control is transferred from the activity block 830 to a decision block 832. In the decision block 832, the program causes the microprocessor 514 to check to determine whether the portable data capture unit 200 has been disconnected from the data processing unit 110. This is determined by checking the last command received from the data processing unit 110 to determine whether it is a disconnection command. If a disconnection command is received, control is transferred via a block 834 back to a block 836 in Figure 10a wherein control is transferred to the block 702 in Figure 10a to re-initialize the microprocessor 514. If the disconnection command is not received, control is transferred from the decision block 832 back to the activity block 822 to await the next command from the data processing unit 110. Returning again to the activity block 824, if a send data command is not received while in the decision block 826, program control is transferred to a decision block 840 within the activity block 824 wherein the command received from the data processing unit 110 is checked to determine whether it is a command to store data in the data memory 532. If it is a command to store data, program control is transferred from the decision block 840 to an activity block 842 wherein data is transferred from the data processing unit 110 to the microprocessor 514 and is stored in the data memory 532. The data can be in any of a number of formats. For example, the portable data capture units are each given a 16-bit identification number which is associated with an exhibitor. Therefore, when the data capture units 200 are attached to the data processing unit 110, the exhibitor can be identified. Other data transferred to the data memory 532 comprises the prompt information which is displayed after a valid bar code is received. Since the prompt information can vary with each exhibitor, the ability to send the prompt information to the portable data capture unit 200 enables the data capture units 200 to be interchanged among the exhibitors simply by taking them to the data processing unit 110 to have the prompt strings changed. After storing all of the host information into the data memory 530, program control is transferred from the activity block 842 to the decision block 832 described above. Returning to the activity block 824 and the decision block 840, if the command is not a command to store data, program control is transferred from the decision block 840 to a decision block 844 wherein the command from the data processing unit 110 is checked to determine whether it is a command to erase data in the program memory 832. If the command is a "erase data" command, program control is transferred from the decision block 844 to an activity block 846 wherein the program causes the microprocessor 514 to clear all data accumulated in the data memory 532 and clear a counter to indicate that no data is currently stored in the data memory. Certain portions of the data memory 532 corresponding to the storage locations for the identification for the portable data capture unit 200 and the storage locations for the prompts are not cleared by this command. Only that portion of the memory which corresponds to the storage locations for bar code identifications and responses to prompts is cleared. After completing the activities within the activity block 846, program control is transferred to an activity 850 wherein the program causes the microprocessor 514 to print a "page break" on the printer 440. This is done to indicate that the data printed on the paper preceding the page break had been transferred to the data processing unit 110. Thus, if a manual entry is required due to loss of memory, the data need only be manually entered from the last page break forward. After completing the activity block 850, program control is transferred to the decision block 832, described above. Description of Data Flow in Overall System Figure 11 illustrates a pictorial diagram of data flow in the present invention during the registration phase of a trade show, exhibition, convention, or other gathering of people. The registration phase typically occurs prior to the beginning of the gathering. For example, a trade show, exhibition, convention, or other gathering of people can be announced many months in advance of its starting date so that exhibitors and attendees can preregister with the promoters of the gathering. For example, the exhibitors and the attendees can complete registration forms illustrated by exhibitor registration forms 900 and attendee registration forms 902. These forms are sent to a central location where the information contained on the forms is input into a data processing system such as the data processing system 110, described above. Typically, the data is transferred from the forms to the data processing unit 110 via a data input device 112 which can be the keyboard of the data processing unit 110. Of course, as is well known in the art, other means of data input, such as punch cards, machine-readable forms, and the like, can be used. The data processing unit 110 analyzes the data for completeness and generates a file of exhibitor information, represented pictorially as a number of flexible disks 904, and a file of attendee information, illustrated as a number of flexible disks 906. Thus, this information can be transferred to another data processing unit 110 located at the trade show, exhibition, convention, or other gathering of people. The same data processing unit 110 or a similar unit 110 capable of reading the files 904 and 906 produced by the first data processing unit 110 is advantageously used at the trade show, exhibition, convention, or other gathering of people to continue the registration for attendees and exhibitors who did not preregister. At the gathering of people, the information from the exhibitor files 904 and the attendee files 906 are reentered into the data processing unit for use at the gathering. The late registrations are handled by manual data input through the data input device 112 and the information from the later registrants is added to the exhibitor files and the attendee files. As also illustrated in Figure 11, the data processing unit 110 generates the attendee badges 350, as described above. Preferably, the badges 350 for the attendees who have preregistered are generated prior to the ' beginning of the gathering. However, since the badges are generated by a standard dot-matrix printer, the generation of the badges 350 can continue at the gathering for those attendees who have registered late. As also illustrated in Figure 11, a series of portable capture units 200 are connected to the data processing unit 110 and the information from the exhibitors is entered into the portable data capture units as described above in connection with Figures 10a-10d. In the preferred embodiment, the exhibitor registration forms 900 require the exhibitors to enter the categories of information which needs to be requested from each attendee who visits an exhibit. These categories are formatted by the data processing unit 110 as prompts which are stored in the data memory 532 (Figure 8) of the portable data capture ' units 200. Preferably, the portable data capture units 200 are prepared for and issued to the exhibitors immediately preceding the opening of the gathering of people. In th preferred embodiment of the present invention, the information requested from each attendee who registers 5 to attend the trade show, exhibition, convention, or other gathering includes a list of the products and/or categories of products which the attendee is interested in seeing at the gathering. For example, at an exemplary consumer products trade show, one attendee may only be 1.0 interested in home appliances while another attendee may be interested in gardening equipment. The software within the data processing unit 110 will correlate the interest of each attendee with the products and services offered by each exhibitor and generate an itinerary 908 for each 15 attendee listing those exhibitors having the products and services in which the attendee is interested. Preferably, the itinerary 908 for each attendee will have the exhibitors listed in the order of their locations within the facility in which the trade show, exhibition, 0 convention, or other gathering is occurring. Thus, each attendee can systematically visit the exhibits of the exhibitors having the products and services in which he is interested. Figure 12 pictorially illustrates the flow of 5 information in the present invention during the trade show, exhibition, convention, or other gathering of people. The data processing unit 110 continues to be the focus of the information flow within the invention. As set forth above, late registrations can be handled by 0 manually inputting data from an attendee registration form 902 via a data input device 112. Attendee badges 350 can be generated by the data processing unit 110, as described above. As the attendees visit the exhibits at the gathering, the attendee badges 350 are also entered 5 through the sensing portion of the portable data capture units 200 and associated attendee information is manually entered into the data capture units 200 via the key pads on each unit. As illustrated in phantom lines, the data capture units 200 are periodically brought to the data processing unit 110 to transfer the attendee information from the data memories 532 to the data processing unit 110 and to clear the data memories 532. Preferably, the data processing unit 110 has a fixed disk 910 or other means of bulk storage of large quantities of digital information. The information received from the portable data capture units 200 is stored in the fixed disk 910 as a visitor information file for each exhibitor along with the exhibitor information and attendee information which was entered during the pre-registration described above in connection with Figure 11. Periodically, (e.g., daily), the visitor information files for the exhibitors which have been stored in the fixed disk 910 are collated and printed as a series of statistical reports 912 which are usable by the promoter of the gathering to determine the attendance at the gathering, identify those exhibitors which are drawing the largest crowds, and identify the products in which the visitors are showing the greatest amount of interest. Optionally, the attendee information files for each exhibitor are transferred to a series of magnetic storage units 914, which may be floppy disks or the like, so that the data storage in the fixed disk 910 can be free for use on the following day and so that the visitor information can be saved in the event of a hardware failure in the data processing unit 110 or the fixed disk 910. • In an alternative embodiment, the system of the present invention further includes at least one portable host 916 (shown in dashed lines). The portable host 916 is used to dump the data from the portable data capture units 200 at each exhibit, rather than each exhibitor having to bring his or her portable data capture units 200 to the .data processing unit 110. The portable host 916 is preferably a battery-powered microcomputer having a data interface substantially identical to the data interface of the data processing unit 110 so that each of the portable data capture units 200 transfers any stored data which it has to the portable host 916 in the same manner by which it transfers data to the data processing unit 110. The portable host 916 has sufficient data storage capabilities so that it can retain the data transferred from multiple portable data capture units 200. Preferably, the portable host 916 includes a flexible disk drive (not shown) so that the data from the portable data capture units 200 can be transferred to flexible disks for temporary storage. The portable hose 916 is connectable to the data processing unit 110 in the same manner as the portable data capture units 200 so that the data received from the portable data capture units 200 can be transferred to the data processing unit 110. The data interface of the portable host 916 is reco ' nfigurable so that the data interface of the portable host 916 emulates the data interface of the portable data capture units 200. Thus, the data processing unit 110 receives visitor information data from the portable host 916 in the same manner as it receives visitor information data from the portable data capture units 200. The portable host 916 thus serves as a digital data link between the portable data capture units 200 and the data processing unit 110 in the place of a direct connection between the portable data capture units 200 and the data processing unit 110. The ability to transfer the visitor information data from the data capture units 200 to the portable host 916 is an advantageous feature which allows the exhibitors to operate with a minimal interruption to transfer the data to the portable host 916 rather than having to take the portable data capture units 200 to a central location to transfer the visitor information data to the data processing unit 110. This is particularly advantageous in a large exhibition hall when the time spent in conveying the portable data capture units 200 to the data processing unit 100 will be many times greater than the time required to actually transfer the data. As with the data processing unit 110, each portable host 916 preferably is constructed to have redundant systems to reduce the possibility of a complete failure of the portable host 916 during a trade show or other gathering of people. For example, the portable host 916 preferably includes dual microprocessors and dual data storage devices in a manner well-known to the art. Thus, the portable host 916 provides means for storing all of the data received from the portable data capture units 200 in two storage units so that the failure of one storage unit does not cause the loss of the data. As described above, in connection with Figure 1, the system of the present invention also includes a message display unit 250 and an associated bar code reader 252. If a message, represented by a block 920 is received at the registration center where the data processing unit 110 and the associated data input device 112 is located, the message is manually input into the data processing unit 110 and stored as part of a file of messages in the fixed disk data storage unit 910. Prior to doing so, the identity of the person for whom the message is intended is compared with the attendee information file stored on the fixed disk 910 to determine whether the person is in attendance at the gathering and to determine the identification number which has been assigned to the attendee. The identification number is stored in the fixed disk 910 in association with the message for the attendee. When the attendee passes his badge 350 through the bar code reader 252, the bar code reader 252 decodes the bar coded information 300 on the badge 350 in a manner similar to that described above in connection with the portable data capture units 200 and transfers a digital representation of the identification number to the data processing unit 110. The data processing unit 110 compares the identification number to the identification numbers stored in the fixed disk 910 in association with the messages which have been received. If a message has been received for the attendee who has passed his badge through the badge reader 252, the message is transferred from the fixed disk 910 to the message display unit 250 and displayed in a conventional manner. As set forth above, the message display unit 250 includes an acknowledgment switch 256 which can be activated by the attendee to indicate that hs or she has read the message displayed on the message display unit 250. When the acknowledgment is received, the data processing unit 110 will send any additional messages remaining for that attendee. When the switch 256 is activated after the last message is sent, the data processing unit 110 will clear the message from the fixed disk 910 to make the storage space available for other messages. Although shown as one message display unit 250, multiple message display units can be provided in a plurality of locations throughout the facility housing the trade show, exhibition, convention, or other gathering so that the attendees can periodically check to determine whether they have received any messages. In a manner known to the art, the message display unit 250 can have a printer associated with it so that a permanent copy of the message transferred to the attendee can be printed for the attendee's convenience. Figure 13 illustrates the system of the present invention as it is used following the conclusion of the trade show, exhibition, convention, or other gathering of people. The files of exhibitor information, attendee information, and visitor information which have been accumulated in the fixed disk 910 or in the floppy disk files 904, 906, and 914, respectively, are used as data by the data processing unit 110. A data management program within the data processing unit 110 uses the data to prepare reports for the promoters of the trade show, exhibition, convention, or other gathering of people and reports for the exhibitors. The promoter report includes information such as the names and addresses of all of the attendees at the exhibition and a summary of the products and categories of products in which they expressed an interest. In addition, the promoter report can advantageously identify the exhibitors and their addresses and a summary of the visitor attendance at each exhibit. Thus, the promoter has the information which it needs in order to determine the exhibitors and attendees which it may want to invite to the next trade show, exhibition, convention, or other gathering of people which it intends to promote. The promoter report is indicated in Figure 13 as a document 930. In addition to providing a promoter with a report 930, the program within the data processing unit 110 can cause a set of mailing labels 932 to be printed listing the names and addresses of the exhibitors and the attendees at the trade show, exhibition, convention, or other gathering. In a manner well-known to the art, the labels can be printed alphabetically, by zip code, by product category or in any other order requested by the promoter. In like manner, the program within the data processing unit 110 can print an exhibitor report 940 which lists the attendees who have visited the exhibitor's exhibit, lists the attendee's addresses and lists the products and categories of products in which the attendee's have indicated an interest. The data processing unit 110 can thus provide each exhibitor with a permanent record of the information which was received on the exhibitor's portable data capture unit 200. In addition to the exhibitor report 940, the exhibitor can be provided with preprinted mailing labels 942 which are prepared in accordance with criteria selected by the exhibitor (i.e., alphabetical order, zip code order, categorized by products, categorized by attendee category, categorized by level of interest, etc.). For those exhibitors having their own capabilities for preparing mailing labels, particularly those desiring to produce multiple sets of mailing labels, the data processing unit 110 can produce a set of flexible disks 944 having the attendance information set forth on the exhibitor report 940 and having the address information from the mailing labels 942. Thus, the exhibitor can transfer the data contained on the flexible disks 944 to its own data processing system. Description of Flow Charts for System Software Programs Further details of the software program in the data processing unit 110 are illustrated in Figures 14a-14m. Figure 14a is a flow chart for the beginning of the system program and illustrates the main processing loop of the sys'tem program. Entry to the system program from the operating system of the data processing unit 110 is through a block 1000. Program control is transferred to an activity block 1002 wherein a prompt is displayed upon a CRT or other display unit associated with the data processing unit 110 to request the user to select an operation from a list of operations. In the exemplary embodiment of the present invention, the user can select one of: Entering exposition data Entering promoter data Entering exhibitor data Entering attendee data Entering message data Entering system data Initiating badge generation Initiating the preparation of a data capture unit • Retrieving data from a data capture unit Initiating report generation Logging off The user's selection is input from the keyboard and program control is transferred to an activity .block 1004 wherein program control is branched to a subroutine corresponding to the selected operation. If the user chooses to enter exposition data, program control is transferred to a block 1010 which causes program control to branch to an exposition data entry subroutine to be described below in connection with Figure 14b. If the user chooses to enter promoter data, program control transfer to a block 1012 which causes program control to transfer to a promoter data entry subroutine which will be described below in connection with Figure 14c. If the user chooses to enter exhibitor data, program control is transferred to a block 1014 which causes program control to transfer to an exhibitor data entry subroutine to be described below in connection with Figure 14e. If the user chooses to enter attendee data, program control is transferred to• a block 1016 which causes program control to be transferred to an attendee data entry subroutine to be described below, in connection with Figure 14f. If the user chooses to enter system data, program control is transferred to a block 1020 which causes program control to transfer to a system data entry subroutine to be described below in connection Figure 14d. If the user chooses to enter a message, program control transfers to a block 1022 which causes program control to transfer to a message entry subroutine to be described below in connection Figure 14g. If the user chooses to cause a new badge to be generated, program control branches to a block 1024 which causes program control to be transferred to a badge generation subroutine to be described below in connection Figure 14h. If the user chooses to prepare a data capture device, program control transfers to a block 1026 which causes program control to transfer to a prepare data capture device subroutine to be described below in connection with Figure 14i. If the user chooses to retrieve data from a data capture device, program control branches to a block 1030 which causes program control to transfer to a dump data capture device subroutine to be described below in connection Figure 1 j . If the user chooses to initiate a report, program control branches to a block 1032 which causes program control to transfer to a report generation subroutine to be described below in connection Figures 14k, 141, and 14m. After any of the foregoing subroutines are completed, program control returns to the main processing loop through a block 1034 and thereafter returns to the activity block 1002 which causes the above-described program sequence to be repeated. If the user chooses to log-off when prompted by the program executing the activity block 1002, program control branches from the activity block 1004 to a block 1 36 wherein the program exits to the operating system. While the program is causing the data processing unit 110 to execute any of the subroutines to be described below, it can be interrupted by the occurrence of a badge 350 being read by the bar code reader 252 in association with the message display unit 250 or by an acknowledgment received as a result of activation of the switch 256 in association with the message display unit. When this occurs, program control is temporarily transferred to a block 1040 which is the beginning of a message display interrupt routine. Program control is transferred to decision block 1042 wherein the program checks to determine whether the interrupt from the message display unit 250 is caused by a new badge being read or by activation of the switch 256 to acknowledge a previous message. If a new badge 350 has been read, program control is transferred to an activity block 1044 wherein the identification data from the badge is transferred from the message display unit 250 to the data processing unit 110 and compared with the identifications stored in association with messages in the message file. Program control is transferred from the activity block 1044 to a decision block 1 46 wherein the comparison is checked to determine whether a message was waiting for the attendee associated with the identification number. If no message for that attendee was in the message file, program control is transferred from the decision block 1046 to an activity block 1050 wherein data is sent to the message display unit 250 to display a message "no messages" or another message to that same effect. If there is a message awaiting the attendee, program control is transferred from the decision block 1046 to an activity block 1052 wherein the first portion of the first message for that attendee is transferred to the message display unit 250. If the message is longer than can be displayed at one time on the message display unit 250, the undisplayed portion of the message remains in the message file in association with the attendee's identification number. After sending the data to the message display unit 250, program control is transferred to a block 1054 wherein program control is returned to that portion of the main program which was interrupted by the interrupts from the message display unit 250. Returning to the decision block 1042, if the interrupt was caused by activity of the switch 256 to indicate an acknowledgment, control is transferred from the decision block 1042 to a decision block 1060. In the decision block 1060, the message file currently being displayed is checked to determine whether there are any more messages or remaining portions of the current message. If there are no more messages or no more portions of messages, program control is transferred to an activity block 1062 wherein the program causes data to be transferred to the message display unit 250 to display a message "no more messages" or another message to that effect. After doing so, program control is transferred to the block 1054 to return to the interrupted program. If there are other messages for the attendee or there are other portions of the current message, program control is transferred from the decision block 1060 to an activity block 1064 wherein the next portion of the current message or the next message is transferred to the message display unit 250. Thereafter, program control is transferred to block 1054 and program control is returned to the interrupted program. Figure 14b is a flow chart of the exposition data entry subroutine. The exposition data entry subroutine is generally used during the preregistration phase (Figure 11) to initially enter data concerning one or more trade shows, expositions, conventions or other gatherings of people which are in the organizational phases. In particular, it may be used by the management of a large convention center to organize the data regarding the configuration of the center for a particular gathering. The data is later usable to locate the many exhibitors within the convention center and for other purposes. The exposition data entry subroutine begins in a block 1070 wherein program control is transferred to an activity block 1072. In the activity block 1072, the user is prompted to enter data regarding an exposition. For example, the user is prompted to enter the name of the exposition, the names of the halls where the exposition is occurring and the identification numbers of the booths in each hall. The categories of the products which are to be displayed are also entered along with the categories of the persons who will be attending the exposition. For example, the attendee categories may be: individual, retailer, distributer, manufacturer, or the like. Other information can be entered in accordance with the user's particular requirements. After prompting the user, progra control is transferred from the activity block 1072 to an activity block 1074 wherein the data entered by the user is input into the system memory where it is saved as entered data. The entered data can be used by other portions of the program and can be printed out as part of the statistics concerning the trade show, exposition, convention or other gathering of people. After the input data has been saved in the activity block 1074, program control transfers to a decision block 1076 wherein the user is prompted to indicate whether there is more exposition data to be entered. If there is, program control transfers from the decision block 1076 to the activity block 1072 wherein the user is prompted to enter more data. Otherwise, program control transfers from the decision block 1076 to a block 1078 wherein program control is transferred back to the main processing loop through the block 1034 in Figure 14a. Figure 14c is a flow chart of the promoter data entry subroutine which begins in a block 1082. Program control is transferred to an activity block 1084 wherein the user is prompted to enter promoter data. Exemplary promoter data includes the promoter's name and address and the order in which the promoter desires to have its reports printed. For example, the promoter can have his reports printed in alphabetical order according to name, in the order of attendee categories, in the order of attendee state and zip code, etc. As set forth above, the reports thus printed allow the promoter to determine which categories of attendees were more interested in the products and also provides the promoter with the option of having preprinted mailing labels by which the promoter can announce the next trade show, exposition, convention or other gathering which it is promoting. After the user has entered the data in response to the prompts in the activity block 1084, program control is transferred to an activity block 1086 wherein the data entered by the user is input and saved in the system memory. This data is thus available to prepare the reports and the end of the trade show, exposition, convention or other gathering. After the data is input and saved in the activity block 1086, program control is transferred to an activity block 1088 wherein the user is prompted to indicate whether there is more data to be entered. If there is more data to be entered, program control transfers back to the activity block 1084 where the user is again prompted to enter data. Otherwise, program control transfers from the decision block 1088 to a block 1090 wherein program control is transferred back to the main processing unit loop through the block 1034 in Figure 14a. Figure 14d is a flow chart for the system data entry subroutine which begins in a block 1094. Program control is transferred from the block 1094 to an activity block 1096 wherein the user is prompted to enter system data. Exemplary system data includes information regarding the users and the system facilities are available for use by other portions of the system programs. For example, this subroutine is used to enter the allowable users names and their passwords. Typically, this subroutine is only used prior to the trade show, exposition, convention or other gathering of people to prepare the system for use at the gathering. The user is also prompted to enter printer names and the number of columns which the printers can print for use in preparing the statistical reports, the exhibitor reports, the itineraries, and for printing the badges. This subroutine is particularly advantageous in that it provides the operator of the system with the ability to configure a system to the data processing needs of a particular application. After the user has entered the data requested by the prompts, program control is transferred to an activity block 1098 wherein the entered data is input and saved in the system memory for later use. Thereafter, program control transfers to a decision block 1100 wherein the user is prompted to indicate whether there is more data to be entered. If there is more data to be entered, program control transfers back to the activity block 1096 wherein the user is prompted as before. Otherwise, program control transfers to a block 1102 wherein program control is transferred back to the main processing loop via the block 1034 in Figure 14a. Figure 14e is a flow chart of the exhibitor data entry subroutine which begins in a block 1110. Program control is transferred from the block 1110 to an activity block 1112 wherein the user is prompted to select from among displayed choices of data entry operations. In the exemplary embodiment of the present invention, the user is provided with the options of adding exhibitor data, editing exhibitor data, deleting exhibitor data or returning back to the main processor loop. The user's response to the prompt is input in the activity block 1112 and program control is transferred to an activity block 1114 wherein program control branches to one of four subroutines depending upon the user's choice. If the user selects the option of adding exhibitor data, program control branches to a block 1116. If the user selects the option of editing exhibitor data, program control branches to a block 1120. If the user selects the option of deleting exhibitor data, program control branches to a block 1122. If the user selects the option of returning to the main processing loop, program control branches to a block 1124. Program control branches from the block 1124 to a block 1126 wherein program control is transferred back to the main processing loop through the block 1034 in Figure 14a. In the add exhibitor data subroutine beginning in block 1116, program control is transferred from the block 1116 to an activity block 1130 wherein the user is prompted to enter the exhibitors name and data. The data to he .entered in the exemplary invention includes the order in which the exhibitor desires to receive reports, which can be alphabetical by visitor name (i.e., the attendees who have visited the exhibitor's exhibit), in order of attendee categories (i.e. , the categories defined by the promoter) in order of visitor categories (i.e., the categories defined by each exhibitor) and in state and zip code- order. The entered data also includes an identification of the booth which has been assigned to the exh-itritor and an identification of the products which the exhibitor is exhibiting. The entered data further includes an identification of each of the portable data capture units which had been assigned to the exhibitor. This allows the data which is returned by the portable data capture units to be associated with a particular exhibitor. The exhibitor is also provided with the opportunity of entering the categories of attendees which the exhibitor wants to have prompted by the data capture units when an attendee visits the exhibit of the exhibitor. As set forth above, in the exemplary invention, these categories can include "individual", "retailer", "distributor", "manufacturer", and the like. After the user has entered the data in response to the prompts in the activity block 1130 program control is transferred to an activity block 1132 wherein the data entered by the user is input and saved in the system memory for later use. Thereafter, program control is transferred to an activity block 1134 wherein the list of exhibitors is updated so that the most recently entered exhibitor is included in the list alphabetically, by booth number, and in any other order specifically requested by the promoter (e.g., by product type, by address, etc.). After the list of exhibitors has been updated in the activity block 1134, program control transfers to an activity block 1136 wherein the user is prompted to input the names of the exhibitor's personnel who will be attending the trade show, exposition, convention or other gathering. Thereafter, program control is transferred to an activity block 1140 wherein the user is prompted to enter data for each of the attendees listed in response to the prompts in the activity block 1136. This data will include all of the data entered for other attendees except that the attendee's employer is presumed to be the exhibitor. Thus, the user is not prompted to enter employer information for the attendee. The details of the program in the activity block 1140 are substantially similar to the details in the attendee data entry subroutine to be described below in association with Figure 14f. Program control loops through the activity block 1140 until the attendee information for each of the attendees identified in response to the prompts in the activity block 1136 has been entered. Thereafter, program control transfers back to activity block 1112 wherein the user is again prompted to select an operation within the exhibitor data entry subroutine. If the user has chosen to edit exhibitor data causing program control to enter the block 1120, program control transfers from the block 1120 to an activity block 1144 wherein the user is prompted to enter the name of an exhibitor for whom the data needs to be edited. Thereafter, program control is transferred to an activity block 1146 wherein the name entered by the user's input and the data associated with the exhibitor whose name is input is displayed. Program control is transferred from the activity block 1146 to an activity block 1150 wherein the edit commands from the user are input and applied to the displayed exhibitor data. After the user has indicated that he or she is through editing the display data, program control is transferred to an activity block 1152 wherein the user edited exhibitor data is saved. Thereafter, program control returns again to the activity block 1112 wherein the user is again allowed to select another operation. If the user chooses to delete exhibitor data and program control is transferred to the block 1112, program control then transfers to an activity block 1156 wherein the user is prompted to enter the name of an exhibitor to be deleted from the list of exhibitors. After the user has entered the name of an exhibitor, program control transfers to an activity block 1158 wherein exhibitor's name is input and the exhibitor's name is removed from the exhibitor file. After the exhibitor's name has been removed from the exhibitor's file, program control transfers back to the activity block 1112 wherein the user is again allowed to select one of the available operations in the exhibitor data entry subroutine. Figure 14f is a flow chart of the attendee data entry subroutine which begins in a block 1160. Program control is transferred from the block 1160 to an activity block 1162 wherein the user is prompted to select an operation from a list of available operations in the attendee data entry subroutine. After the user has indicated ' a selection, the selection is input from the keyboard and program control transfers to an activity block 1164 wherein program control branches to a portion of the program associated with the selected operation. If the attendee selects the operation of adding attendee data, program control transfers to a block 1166. If the user selects to edit attendee data, program control branches to a block 1168. If the user selects the option of deleting attendee data program control transfers to a block 117U. If the user selects the option of printing an attendee itinerary, program control branches to a block 1172. If the user indicates that no further attendee data entry operations are to be performed, program control transfers to a block 1174 wherein program control transfers to a block 1176 which returns the program control to the main processing loop through the block 1034 in Figure 14a. If the user selects the add attendee data subroutine, program control transfers from the block 1166 to an activity block 1178 wherein the user is prompted to enter attendee name and data. The attendee data includes the attendee's address and telephone number, an identification of the attendee's employer, a category for the attendee. For this latter entry, the user is provided with a list of the categories corresponding to the categories selected by the promoter so that the attendee categories correspond to one of the promoter categories. The user is also prompted to enter a list of the product types that the attendee is interested in while attending the trade show, exposition, convention or other gathering of people. The user is provided with a display of the product types selected by the promoter and corresponding to the product types being exhibited by the exhibitors. After the user has entered the prompted information, program control transfers from the activity block 1178 to an activity block 1180 wherein the data entered by the user is input. The attendee is assigned an identification number. Then the attendee's name, identification number and the other inputted data is saved in the attendee data file. Program control is transferred from the activity block 1180 to the activity block 1182 wherein the newly-inputted attendee name, identification and data are added to the list of attendees. The list of attendees is updated so that all the attendees are in alphabetical order and also so that the attendees are in the order in which the promoter has requested that its report be printed (e.g., by state, by product category, etc.). After the attendee lists have been updated, program control is transferred from the activity block 1182 to a decision block 1184 wherein the user is asked to indicate whether the show is in progress. If the show is not in progress, control is returned to the activity block 1162 wherein the user is prompted to select another option within the attendee data entry subroutine. If the show is in progress, which indicates that the attendee badges have already been printed for the preregistered attendees, program control transfers to an activity block 1186 wherein the attendee's data is transferred to a badge printing queue to be printed by a report generation subroutine to be described below in connection with Figures 14k, 141 and 14m. If the show was not already in progress, the attendee badges will all be printed as a group. After adding the attendees data to the badge printing queue, program control is transferred from the activity block 1186 back to the activity block 1162 wherein the user is prompted to select another operation from the available operations within the attendee data entry subroutine. If the user chooses to enter attendee data, program control is transferred from the block 1168 to a block 1188 wherein the user is prompted enter the name of an attendee for whom the data needs to be edited. After the user has entered the attendee's name, program control transfers from the activity block 1188 to an activity block 1190 wherein the entered attendee name is input and the data associated with that attendee's name is displayed so that the user can edit the data. Thereafter, program control is transferred to an activity block 1192 wherein the editing commands are input from the user and the attendee data is modified according to the edit commands. After the user indicates that he or she has concluded the editing, program control transfers to an activity block 1194 wherein the edited attendee data is saved. Thereafter, program control transfers back to the activity block 1162 wherein the user is prompted to select another operation within the attendee data entry subroutine. If the user chooses to delete attendee data, program control is transferred from the block 1170 to an activity block 1196 wherein the user is prompted to enter an attendee name to be deleted from the list of attendees. After the user has entered the attendee's name, program control transfers from the activity block 1196 to an activity block 1198 wherein the attendee's name is input and then removed from the attendee file. After the attendee's name is removed from the attendee file, program control is transferred back to the activity block 1162 wherein the user is again prompted to select an operation within the attendee data entry subroutine. If the user selects the operation of printing an attendee the itinerary, program control transfers from the block 1172 to an activity block 1200 wherein the user is prompted to enter an attendee's name for whom the itinerary is to be printed. After the user has entered a name, program control transfers from the activity block 1200 to an activity block 1202 wherein the attendee's name entered by the user is input. The program retrieves the product categories from the attendee data file and compares the product categories with the categories in the exhibitor files and determines which exhibitor is displaying products corresponding to the product categories listed by the attendee. Thereafter, program control is transferred from the activity block 1202 to an activity block 1204 in which an itinerary is generated in accordance with the booth number order of the exhibitors whose product categories correspond to the product categories listed by the attendee. Thereafter, program control transfers to an activity block 1206 wherein the itinerary generated in the activity block 1204 is added to a print queue of documents to be printed by the report generation subroutine to be described below in connection with Figures 14k, 1 1 and 14m. Thereafter, program control is transferred back to the activity block 1162 wherein the user is prompted to select another operation from the data entry subroutine. Figure 14g is a flow chart of the message entry subroutine. The message entry subroutine begins in a block 1210 and program control is transferred to an activity block 1212 wherein the user is prompted to select the name of an attendee or an exhibitor for whom the message has been received. In the preferred embodiment, the user is provided with a list of attendees which the user can rapidly scroll through to find the name of the attendee for whom the message is intended. The user selects an attendee's name by placing the display cursor by the name and indicating selection of the name. Alternatively, the user can scroll through a list of exhibitors and select an exhibitor for whom the message is intended. In this case, the message will be stored in association with the identifications of the attendees who are listed as the personnel of the exhibitor so that any one of the exhibitor's personnel can receive the message. After the user has selected an attendee or an exhibitor, the selected attendee or exhibitor name is input in an activity block 1214 and the identification number of the attendee or the identification numbers of the exhibitor's personnel are obtained from the attendee information file to identify the message. Thereafter, program control transfers to an activity block 1216 wherein the user is prompted to enter the message for the attendee or exhibitor. After the user has indicated the end of the message, program control transfers from the activity block 1216 to an activity block 1218 wherein the message is input and stored in association with the identification number of the attendee or the identification numbers of the exhibitor's personnel along with the date and time of the message. The message is stored in the message file which is accessed by the display message interrupt subroutine described above in association with Figure 14a. After the message has been stored, program control transfers from the activity block 1218 to a block 1220 wherein the program control is transferred back to the main processing loop through the block 1 34 in Figure 14a. Figure 14h is a flow chart of the badge printing subroutine which begins in a block 1230. Program control is transferred to an activity block 1232 wherein the user is prompted to enter the name of an attendee for whom the badge is to be printed or to enter "all attendees" to initiate the printing of badges for all attendees who have preregistered. After the user has responded to the prompt, program control transfers to an activity block 1234 wherein the attendee's name or the names of all attendees are added to the queue of badges to be printed by the report generation subroutine. After the name or names have been added to the badge printing queue in the activity block 1234, program control is transferred to a decision block 1236 wherein the user is prompted to indicate ' whether there are any more badges to be printed. If the user is entering the attendee's names rather than entering "all attendees", and if there are any other attendee names to be entered, program control will transfer from the decision block 1236 back to the activity block 1232 wherein the user is prompted to enter the name of the next attendee. If the user indicates that there are no more badges to be printed, program control transfers from the decision block 1236 to a block 1238 wherein program control is returned to the main processing loop through a block 1034 in Figure 14a. Figure 14i is a flow chart of the data capture device preparation subroutine. The subroutine begins in a block 1250 and program control is transferred to an activity block 1252 wherein the user is prompted to enter an exhibitor's name. After the user has entered an exhibitor's name, program control transfers to an activity block 1254 wherein the exhibitor's name is input from the user. Program control is transferred from the activity block 1254 to a decision block 1256 wherein the exhibitor's data file is examined to determine whether the exhibitor has received all of the portable data capture units which it has rented. A counter corresponding to the number of portable data entry units prepared thus far is compared to the number of data capture units which the exhibitor has rented. If the exhibitor has received all of the portable data capture units which it has rented, program control transfers from the decision block 1256 to an activity block 1250 wherein a message is displayed to indicate that the exhibitor has received all of its portable data capture units. Thereafter, program control is transferred from the activity block 1260 to a block 1262 wherein program control is returned to the main processing loop through the block 1034 in Figure 14a. If the exhibitor has not received all of the portable data capture units which it has rented, program control transfers from the decision block 1256 to an activity block 1264 wherein the user is prompted to connect a portable data capture unit 200 to the data processing unit 110 (Figure 1). Thereafter, program control transfers to a decision block 1266 wherein the data lines to be connected to the portable data capture unit 200 are periodically checked to determine whether the portable data capture unit 200 has been connected. If the portable data capture unit 200 has not been connected, program control continues to return to the decision block 1266. After the data processing unit 110 receives responses from the portable data capture unit 200 to indicate that it has been connected, program control transfers from the decision block 1266 to an activity block 1270. In the activity block 1270, the information in the exhibitor's data file pertaining to the control of the portable data capture unit 200 is transferred to the portable data capture unit 200. Thus, the portable data capture unit 200 is provided with an identification number so that the portable data capture unit 200 can be later checked to determine which exhibitor it has been assigned to. The portable data capture unit 200 is also provided with a list of the prompts which it should display when an 5 attendee's badge had been read. After the data has been transferred to the portable data capture unit 200 in the activity block 1270, program control is transferred to an activity block 1272 wherein the counter, saved in the exhibitor's data files is incremented by one to indicate 10. that another portable data capture unit has been prepared for the exhibitor. Thereafter, program control is transferred to the block 1262 wherein program control is transferred back to the main processing loop. Figure 14j is a flow chart of the subroutine which is 15 used to dump the data from the portable data capture units back to the data processing unit 110. As set forth above, the information can be received directly from one of the exhibitor portable data capture units 200 or from an intermediary portable host 916 which has received the 0 attendee data from a number of exhibitor portable data capture units 200. The dump data capture device subroutine begins in a block 1280 wherein program control is transferred to a decision block 1282. In the decision block 1282, the lines connecting the portable data capture 25 unit 200 to the data processing unit 110 are periodically checked to determine whether a portable data capture unit 200 has been connected to the data processing unit 110. If a portable data capture unit 200 has not been connected, program control continues to return to the 30 decision block 1282. When activity on the interconnection lines indicate that a portable data capture unit 200 has been connected, program control transfers from the decision block 1282 to an activity block 1284. In the activity block 1284, a series of commands are sent to the 35 portable data capture unit 200 to transfer the data stored therein to the data processing unit 110. After the data has been transferred, program control transfers from the activity block 1284 to an activity block 1286 wherein the serial number of the portable data capture unit 200 which has been transferred along with the other data is compared with the serial numbers which have been assigned to the various exhibitors to thereby determine the exhibitor ' for whom the data has been received. After the exhibitor has been identified, program control transfers to an activity block 1290 wherein the identification numbers of the attendees are read from the data received from the portable data capture unit 200 and the data associated with that attendee is also read. Program control transfers to an activity block 1292 wherein the attendee's identification and the associated data are transferred to a visitor file maintained for each of the exhibitors. The attendee is added to the visitor file in the order selected by the exhibitor (e.g. , alphabetically, by product category, by level of interest, by address, etc.). After the attendee information has been added to t e visitor file, program control is transferred to a decision block 1294 wherein the data received from the portable data capture unit 200 is examined to determine whether there is any further attendee data. If there is any further attendee data, program control is transferred back to the activity block 1290 to read the attendee identification and associated data of the next attendee. If there is no further attendee data, program control is transferred to a block 1296 wherein program control is returned to the main processing loop through the block 1034 in Figure 14a. A flow chart of the report generation subroutine is illustrated in Figures 14k, 141 and 14m. The report generation subroutine begins in a block 1300 wherein program control is transferred to an activity block 1302. In the activity block 1302, the user is prompted to select a report generation operation. Thereafter, the selection entered by the user is input from the keyboard. After this has occurred, program control transfers from the activity block 1302 to an activity block. 1304 wherein the program branches to a subroutine corresponding to the operation selected by the user. If the user chooses to add reports to a report queue, program control transfers to a block 1310 which is the beginning of a subroutine to add reports to the report queue. If the user chooses to delete a report from the report queue, program control transfers to a block 1312 which is the beginning of the subroutine to delete a report from the report queue. If the user chooses to control one of the printers attached to the data processing unit 110 (Figure 1), program control transfers to a block 1314 which is the beginning of a change printer control subroutine. If the user selects the option of not initiating an operation, program control transfers to a block 1316. If the user selects the option of indicating that he or she is done with all entries in the report generation subroutine, program control transfers to a block 1318. Thereafter, program control transfers to an activity block 1320 wherein the program finishes generating the report currently being generated as selected by the other options. After the current report is generated, program control transfers from the activity block 1320 to an activity block 1322 wherein program control is transferred back to the main processing loop through the block 1034 in Figure 14a. If the user selects the option of adding reports to the report queue, program control transfers from the block 1310 to an activity block 1330 wherein the user is prompted to enter an exhibitor's name, or enter the option of printing a report for the promoter or the option of printing statistics. After the user has entered the exhibitor's name or an indication that he or she wants a promoter report or a statistics report, program control is transferred from the activity block 1330 to an activity block 1332 wherein the exhibitor's name or other user selection is input from the keyboard. Thereafter, program control transfers to a decision block 1334 wherein the user selection is checked to determine whether the user has selected the choice of printing a statistics report. If the user has selected a statistics report, program control transfers from the decision block 1334 to an activity block 1336 wherein the program generates the statistics from the information which has been stored from each of the portable data capture units 200. After the statistics have been generated in the activity block 1336, program control transfers to an activity block 1340 wherein the statistics report thus generated is added to the print queue. After the statistics report has been added to the print queue, program control transfers to a block 1342 which transfers program control to another portion of the report generation subroutine to be described below in connection with Figure 141. If the user has not selected the option of generating a statistic report, program control transfers from the decision block 1334 to an activity block 1344 wherein the data file for the exhibitor's name which has been entered or the data file for the promoter is checked to determine whether the exhibitor or the promoter wants a report to be printed. If the selected exhibitor or the promoter does want a report to be printed, program control transfers from the decision block 1344 to an activity block 1346 wherein the exhibitor's name or the promoter is added to the report queue. Thereafter, program control is transferred to a decision block 1350. Returning to the decision block 1344, if the selected exhibitor or the promoter does not want a report to be generated, program control transfers from the decision block 1344 directly to the decision block 1350 and bypasses the activity block 1346. In the decision block 1350, the data file of the selected exhibitor or the promoter is examined to determine whether the selected exhibitor or the promoter wants mailing labels to be printed. If the selected exhibitor or the promoter does want mailing labels to be printed, program control transfers from the decision block 1350 to an activity block 1352 wherein the selected exhibitor's name of the promoter is added to the mailing label queue. Thereafter, program control transfers to the block 1342 and is subsequently transferred to the next portion of the report generation subroutine. If, in the decision block 1350, the data file of the selected exhibitor or promoter indicates that the selected exhibitor or the promoter does not want mailing labels produced, program control transfers from the decision block 1350 directly to the block 1342 and bypasses the activity block 1352. If the user has selected the option of deleting reports from the report queue, program control transfers from the block 1312 to an activity block 1360 wherein the user is prompted to enter the name of an exhibitor or to select the promoter to delete the report from the report queue. Thereafter, program control transfers to an activity block 1362 wherein the exhibitor's name of the promoter is input from the keyboard and the report corresponding to the selected exhibitor or the promoter is deleting from the corresponding report or label queue. Thereafter, program control is transferred from the activity block 1362 to the block 1342 wherein program control is transferred to the next portion of the report generation subroutine. If the user selects the option of changing printer control, program control is transferred from the block 1314 to an activity block 1370 wherein the user is prompted to select a printer control option. After the user has entered an option, the selected option is input from the keyboard and program control is transferred to an activity block 1372 wherein operations corresponding to the option are performed. In the exemplary embodiment of the present invention, the user is provided with a display of the current status of each of the printers. For example, one printer may be assigned to print reports, another printer may be assigned to print labels, and another printer may be assigned to print badges. The user is provided with the option of putting a printer into an idle mode when any current printing task the printer has finishes so that the user can reload the printer with paper, change the type of paper in the printer, change the printing ribbon, or the like. The current printing task may be interrupted, for example when the paper needs to be changed immediately or when the user desires to delete the report being printed from the report queue or the labels being printed from the label queue. The user can also restart any printer which has been put into idle and optionally continue with the task which the printer was previously printing. The user can also reassign the printing tasks of the printers. After the program has concluded the activities in the activity block 1372, program control transfers to the block 1342 wherein program control is transferred to the next portion of the report generation subroutine. If the user selects the option of not performing any of the operations, program control is transferred from the block 1316 to the block 1342 wherein program control is transferred to the next portion of the report generation subroutine. This option is advantageously selected when the user simply wants to check the current status of each of the various print queues. As set forth above, the block 1342 transfers program control to a second portion of the report generation subroutine illustrated in Figure 141. Program control continues in a block 1380 wherein program control is transferred to a decision block 1382. In the decision block 1382, the constant status of the report queue is examined to determine whether there is a report or an itinerary waiting to be printed. If there is a report or itinerary waiting to be printed, program control transfers to a decision block 1384 wherein the status of each of the printers is examined to determine whether there is a printer available to print the report or itinerary. If there is a printer available, program control transfers from the decision block 1384 to an activity block 1386 wherein the report or itinerary is transferred to the operating system of the data processing unit 110 (Figure 1) to be printed. This printing is performed by the operating system in a conventional manner known to the art. While the printing is occurring, the report generation subroutine is able to continue. Thus, after the report or itinerary to be printed is transferred to the operating system, program control transfers from the activity block 1386 to a decision block 1390. . If there is no printer available to print the report or itinerary, program control transfers from the decision block 1384 to the decision block 1390. If there is no report or itinerary waiting to be printed, program control transfers from the decision block 1382 to the decision block -1390. In the decision block 1390, the status of the report queues are examined to determine whether a report is currently being generated. If a report is being generated, program control transfers from the decision block 1390 to an activity block 1392 wherein another line of the current report being generating is generated. After the next line of the report is generated, program control transfers from the activity block 1392 to a decision block 1394 wherein the report is examined to determine whether it is finished (e.g., an exhibitor report is examined to determine whether the last attendee has been added to the report). If the report is finished, program control transfers from the decision block 1394 to an activity block 1396 wherein the report is provided with a designator to indicate that it is ready to be printed. Thereafter, program control transfers from the activity block 1396 to a decision block 1400. If, in the decision block 1394, it is determined that a report is not finished, program control bypasses the activity block 1396 and goes directly to the decision block 1400. Returning to decision block 1390, if there is no report being generated, program control transfers from the decision block 1390 to a decision block 1402 wherein the report queue is examined to determine whether there are any exhibitors listed or whether the promoter is listed in the report queue. If an exhibitor or the promoter is listed in the report queue, program control transfers from the decision block 1402 to an activity block 1404 wherein the program starts generating a report for the next exhibitor in the report queue or for the promoter. Thereafter, program control transfers from the activity block 1402 to the decision block 1400. Within the decision block 1400, the label queue is examined to determine whether any mailing labels are currently being generated. If there are mailing labels being generated, program control transfers from the decision block 1400 to an activity block 1410 wherein the the next line of the current mailing label is generated. Thereafter, program control transfers from the activity block 1410 to a decision block 1412 wherein the current mailing label list being generated is examined to determine whether it is finished. This is determined by checking whether the data for the last attendee in the list has been added to the mailing labels. If the mailing label list has been finished, program control transfers from the decision block 1412 to an activity block 1414 wherein the mailing label list is designated as being ready to be printed. Thereafter, program control is transferred from the activity block 1414 to a block 1420. In the block 1420, program control is transferred to the next portion of the report generation subroutine to be described below in connection with Figure 14m. Returning to the decision block 1412, if the mailing label list is not finished, program control is transferred directly from decision block 1412 to the block 1420. Returning to the decision block 1400, if no mailing labels are being generated, program control is transferred from the decision block 1400 to a decision block 1422. In the decision block 1422, the mailing label queue is examined to determine whether one of the exhibitors or the promoter is listed. If there are any exhibitors listed or if the promoter is listed in the mailing label queue, program control is transferred from the decision block 1422 to an activity block 1424 wherein the generation of the mailing labels for the next exhibitor in the queue or for the promoter is initiated. Thereafter, program control is transferred from the activity block 1424 to the block 1420. If, in the decision block 1422 it is determined that there are no other exhibitors in the mailing label queue and the promoter is not in the mailing label queue, program control is transferred directly from the decision block 1422 to the block 1420. The last portion of the report generation subroutine is shown in Figure 14m. Program control transfers to this portion from the block 1420 in Figure 141. This portion begins with a block 1 30 and program control is transferred from the block 1430 to a decision block 1432. In the decision block 1432, a badge generation queue is examined to determine whether a badge is being generated. If a badge is being generated, control is transferred from the decision block 1432 to an activity block 1 34 wherein the attendee information from the attendee data file is transferred to a print file for the badge. Since the printing of a badge requires the use of the graphics capability of the printer assigned to badge printing, the program in the activity block 1434 converts the attendee identification number first to an octal representation of the attendee registration number and then to a bar coded representation of the registration number, including start symbols, stop symbols, a symbol for each of the octal numerals and a symbol for the checksum numeral. After generating a line of graphics characters for the badge, program control is transferred from the activity block 1434 to a decision block 1436 wherein the program determines whether all of the information necessary to print the current badge has been generated. If the badge is finished, program control is transferred from the decision block 1436 to an activity block 1440 wherein the badge generation file is marked with an indication, that another badge is ready to be printed. Thereafter, program control is transferred from the activity block 1442 wherein program control transfers back to the beginning of the report generation subroutine through a block 1444 in Figure 14k. Returning to the decision block 1436 in Figure 14m, if the generation of the current badge is not finished, program control transfers from the decision block 1436 directly to the block 1442. If, in the decision block 1432, it is determined that there is no badge currently being generated, program control transfers from the decision block 1432 to a decision block 1446. In the decision block 1436, the badge printing queue is examined to determine whether there are any attendees listed in the badge printing queue. If there are any attendees listed in the badge printing queue, program control transfers from the decision block 1446 to an activity block 1450 wherein the program starts generating a badge for the next attendee listed in the badge printing queue. Thereafter, program control transfers from the activity block 1450 to the block 1442. If, in the decision block 1446, it is deter ined that there are no attendees listed in the badge printing queue, program control transfers from the decision block 1446 to the block 1442 and thus back to the beginning of the report generation subroutine through the block 1444 in Figure 14k. While preferred embodiments of this invention have been disclosed herein, those skilled in the art will appreciate that changes and modifications may be made therein without departing from the spirit and the scope of trhis invention, as defined in the appended claims.

Claims: WFAT IS CLAIMED IS: 1. A system for managing information at a plurality of exhibits at a gathering of people, characterized by: a data processing system (110, 112) for receiving identification information regarding a plurality of attendees at said gathering; a portable identification means (350) for each said attendee; first means (300) for encoding a unique identifier for each attendee on said portable identification means for each attendee; and second means (200) associated with each of a plurality of exhibitors at said gathering for decoding the unique identifier on each said portable identification means (350) and for storing a digital representation of each said identifier in a digital data storage means (532). 2. The system for managing information as defined in Claim 1 further characterized in that said data processing system (110, 112) further receives identification information from each exhibitor that includes a first list of products and services offered by each said exhibitor and a second list of categories of attendees for whom said products and services are intended. 3. The system for managing information as defined in Claim 2 further characterized in that said identification information for one of said attendees includes a third list of the products and services offered by the plurality of exhibitors in which said one attendee has expressed an interest and at least one category in which said one attendee is classified in accordance with the categories listed by said exhibitors on said second list of said exhibitors. 4. The system for managing information as defined in Claim 3 further characterized in that said data processing system compares said third list of products in which said one attendee has expressed an interest with the first lists of products and services offered by said plurality of exhibitors and produces an output list of exhibitors having the products and services in which said one attendee is interested. 5. The system for managing information as defined in Claim 4 further characterized in that said output list has said exhibitors listed in an order so that said one attendee can visit the exhibits of said exhibitors listed on said output list in said order in a minimal amount of distance travelled. 6. The system for managing information as defined in Claim 1 further characterized in that said data processing system (110, 112) is connectable to each of said second means (200) associated with each of said exhibitors via a digital data link (644, 646), said second means (200) associated with each of said exhibitors being provided with data transmission means (640) to transmit digital data via said digital data link (644, 646) to thereby transmit a digital representation of the identifications of the attendees who have visited the exhibit of each of said exhibitors to said data processing system. 7. The system for managing information as defined in Claim 6 further characterized in that said digital data link is a portable data retrieval and storage unit (916) that is transportable to a plurality of said second means (200) to receive the data stored therein and that is further connectable to said data processing system (110, 112) to transfer the received data to said processing system. 8. The system for managing information as defined in Claim 1 further characterized in that said data processing means further includes means (340) for providing each said exhibitor with a summary of the identifications of the attendees who visit the exhibit of each said exhibitor. 9. The system for managing information as defined in Claim 8, further characterized in that said data processing system further includes means (942) for providing a set of mailing labels having the names and 5 addresses of the attendees who visit the exhibit of each exhibitor. 10. The system for managing information as defined in Claim 1 , further characterized in that said second means (200) includes data entry means (400) for entering a 110) representation of responsive information received from each attendee and storing said representation in association with the digital representation of the identification of each said attendee, said information transmittable to said data processing system (110, 112) so •15 that said responsive information can be included in said summary. 11. The system for managing information as defined in Claim 10, further characterized in that said responsive information corresponds to an interest that each attendee 20 has in the products and services of each said exhibitor. 12. The system for managing information as defined in Claim 1, further characterized by means (104) for displaying messages, said means (104) for displaying messages responsive to said unique identifier on one of 25 said portable identification means (350) to display a message intended for an attendee associated with said unique identifier. 13. The system for managing information as defined in Claim 1 , further characterized in that said portable 30 identification means (350) is a badge. 14. The system for managing information as defined in Claim 13, further characterized in that said means (300) for encoding said unique identifier is an optically readable bar code (300). 35 15. A method for managing attendance information at a plurality of exhibits at a trade show, exposition, convention, or other gathering of a plurality of attendees and exhibitors, characterized by the steps of: providing each attendee with an identification means (350) that is encoded with a unique identification number (300) that is readable by an electronic means (200) ; providing each exhibitor with an electronic means (200) for reading said encoded identification (300) on said identification means (350) and storing a digital representation of said unique identification; and periodically transferring said digital representation of said identifications from said electronic means (200) to a data processing means (110, 112) so that said data can be manipulated by said data processing means (110, 112) to provide a summary of the attendance at the exhibits of each said exhibitor. 16. The method as defined in Claim 15, further characterized in th'at said unique identification (300) is encoded using bar codes. 17. The method as defined in Claim 15, further characterized in that said identification means (350) is a badge which is wearable by an attendee. 18. The method as defined in Claim 15, further characterized by the step of entering information into said electronic means (200) which is representative of the products and services which an attendee is interested in. 19. The method as defined in Claim 15, further characterized by the step of entering information representative of the level of interest of said attendee in the products and services of the exhibitor. 20. The method as defined in Claim 15, further characterized in that said electronics means (200) is portable. 21. A system for managing information at gatherings of people, such as trade shows, expositions, conventions, and the like, said system characterized by: a data processing system (110, 112) for receiving and storing exhibitor information to identify a plurality of exhibitors at said gathering, said data processing system (110, 112) further receiving and storing attendee identification information to Identify a plurality of attendees at said exhibition, said data processing system further assigning a unique identification code to each said attendee; a portable identification means (350) to be provided to each said attendee; an encoding mechanism (142) for encoding said unique identification code of an attendee on each said portable identification means (350) ; and a transportable identification reading mechanism (200) to be provided to plural exhibitors, characterized by: means (430) for sensing said identification code on each said portable identification means (350) to thereby determine said unique identification code encoded thereon; means (510, 514) for converting said sensed encoded identification code to a digital representation of said unique identification code; a digital data storage means (532) for storing said digital representation; and means (400) for an operator of said reading mechanism to input at least one code representative of responsive information received from each said attendee. 22. The system as defined In Claim 21 further characterized in that said exhibitor information describes the products and services offered by each exhibitor and sets forth attendee categories of persons and businesses for which said products and services are intended. 23. The system as defined in Claim 22 further characterized in that said attendee identification information is further includes at least one category for classifying each of said attendees in accordance with the attendee categories for which the products and services of said exhibitors are intended. 24. The system as defined in Claim 23 further characterized in that said attendee identification information also includes a list of the products and services in which each said attendee is interested.

Inventors: BANKS THOMAS, MURPHY DENNIS, BANKS, THOMAS, MURPHY, DENNIS
Applicants: SANTIAGO DATA SYSTEMS INC
Application year: 1986
Main classification: G06F15
IPC codes: G06F17, G06K17, G07C11