CROSS-REFERENCE TO RELATED APPLICATIONS This application is related to U.S. patent application Ser. No. 10/316,603, entitled SYSTEM AND METHOD FOR DISTRIBUTING PERSONAL IDENTIFICATION NUMBERS OVER A COMPUTER NETWORK, filed Dec. 10, 2002, which is hereby incorporated in its entirety.
FIELD OF THE INVENTION The present invention generally relates to a system and method for distributing personal identification numbers (PINs) for access to pre-paid goods and services to users over a computer network. The present invention more specifically relates to a system and method for efficiently standardizing receipt printing and information display among the different terminal types used in such PIN distribution systems.
BACKGROUND OF THE INVENTION There currently exist “pre-paid” telephone cards that allow a customer to purchase a desired amount of long-distance telephone time from a particular telephone service provider. These pre-paid telephone cards are often sold by dealers such as convenience stores or wireless phone stores. Pre-paid telephone cards are also often sold in airports. Vending machines for selling pre-paid telephone cards also have been developed. Each of these pre-paid telephone cards has a specific monetary denomination. For example, a customer could purchase a $10 card, a $20 card, or a $100 card. These pre-paid telephone cards are sold by particular telephone service providers such as AT&T, MCI, Sprint, etc. A customer could, for example, buy a $20 MCI card, which would entitle him or her to $20 worth of long-distance calling service provided by MCI. These cards are referred to as “pre-paid” because the customer purchases the long-distance time before he or she actually places the call. This is in contrast to the more typical post-pay service that most telephone customers use with the telephone in their residence or office. With post-pay service, customers are sent a bill on a periodic basis. The customer pays for calls that have already been made, rather than calls that will be made in the future.
Frequently, the pre-paid telephone cards that are sold by dealers or vending machines are of the “scratch-off” type. After the customer purchases a card, he or she can scratch off a layer of material, which reveals a personal identification number (PIN). The layer of scratch-off material hides the PIN from customers browsing in the store who have not purchased the card. After a customer purchases a card and scratches off the layer of material, the customer can then use the card to place a long-distance call. When the customer wishes to place a long-distance call, he or she dials a special number provided by the telephone service provider. The customer then enters the PIN written on the card. The long distance provider automatically debits the charge of the call from an account associated with the PIN.
As an example, a customer could purchase a $10 MCI card. After the customer rubs off the layer of material, a PIN number 129384348764 is revealed. When the customer wishes to place a long-distance call, the customer dials an MCI access number. The customer then enters PIN 129384348764. The long-distance carrier, MCI, identifies the PIN and recognizes that there is $10 worth of credit in this account. If the customer places a call which lasts 5 minutes and costs $4, MCI will debit the account so that $6 remains. The next time the customer places a call using that PIN number, the system will find that $6 remains in the account associated with that PIN.
One problem with these pre-paid phone cards is that the cards are required to be carried as inventory by dealers. There is substantial work and expense associated with maintaining a filled inventory of cards. First, the dealer or vending machine operator has to predict which cards will be in demand and determine how many cards of each denomination to order for each of various providers. The dealer then has to pay for the desired inventory of cards up front, which requires a significant cash outlay. The dealer then has to keep track of how many cards are left in stock for each service provider and of each different monetary denomination, and determine when to order a new batch of cards. All of these costs associated with filled inventory can be time consuming and expensive for dealers.
Another problem is that these pre-paid telephone cards are especially vulnerable to theft, loss, and other inventory “shrinkage.” Because the cards are small, it is easy for a shoplifter to pocket a card unnoticed. Since these cards have a high value to them and are so easy to pocket, dealers, which sell these cards, are extremely vulnerable to inventory shrinkage.
Vending card machines have been proposed which store personal identification numbers (PINs) in a memory in the machine. A customer can then purchase a pre-paid telephone PIN by inserting cash into the machine. The machine can replenish its stock of PINs when the memory runs out of PINs or on a periodic basis by accessing a remote store of PINs via a modem.
The problem with these vending machines is that there are still significant costs associated with inventorying the PINs. The PINs are retained in a memory in the machine, which has a similar effect to storing cards. Once a PIN has been stored in the memory of a particular machine, that PIN becomes unavailable to be used by any other dealer, even if the PIN is never purchased. Additionally, if the machine was to break, or the memory was to be erased, there is a problem determining who is responsible for paying for the PINs that were contained in the memory. Additionally, decisions must still be made how many PINs to store in memory, what monetary denominations to store in memory, and for which providers to store PINs in memory. Therefore, there are still significant inventory costs associated with storing the PINs in the vending machine. Additionally, these proposed vending machines do not provide consumers the ability to obtain a PIN from the convenience of their homes or offices.
Another proposed system is based upon a web site accessed over the Internet. A customer can go to this web site and purchase pre-paid telephone service. A PIN is then e-mailed to the customer's e-mail address. One disadvantage of this service is that a customer must be able to access his or her e-mail account in order to obtain the PIN. Additionally, e-mail is often unsecure. If a computer hacker is “listening in” on an individual's email, then the hacker can steal the PIN and use it for his own purposes. Additionally, if a customer is purchasing a PIN in a convenience store or an airport, the customer will probably not have access to his or her e-mail account. The customer may have to wait to return to his or her home or office to access the PIN. Additionally, e-mail can sometimes be slow and it may take hours or days to retrieve the message from the customers Internet Service Provider (ISP).
A system which overcomes the primary disadvantages of the systems referenced above is described in co-pending U.S. application Ser. No. 10/316,603, entitled SYSTEM AND METHOD FOR DISTRIBUTING PERSONAL IDENTIFICATION NUMBERS OVER A COMPUTER NETWORK, which is assigned to the assignee of the present invention. This co-pending application describes a system and method for providing a personal identification number (PIN) to a client terminal over a computer network. The described system and method eliminates all costs associated with filled inventory for dealers selling PINs. For example, a server receives a request for a PIN over a network, the request originating from a user at a client terminal. The request is associated with a requested monetary unit and a requested provider. The server retrieves from a database a PIN associated with the requested monetary unit and requested provider. The server transmits the retrieved PIN to the client terminal over the network, wherein the PIN is transmitted to the client terminal on-demand in response to the customer's request. No inventory of PINs is stored at the client terminal. All transmissions between the client terminal and the server are by secure transmission to prevent an eavesdropper from stealing the PIN(s).
Upon or prior to receipt of the PIN at the client terminal, the user is prompted to enter payment at the terminal for the requested PIN. After the user pays for one or more PINs, the client terminal prints a receipt for the customer, the receipt including the requested PIN number and instructions for using the PIN. The PIN can be used for accessing pre-paid telephone service. Alternatively, the PIN can be used for accessing other pre-paid goods and services such as gasoline, magazines, subway service, etc.
In many cases the client terminal may be implemented as a conventional credit/debit terminal configured with software for effecting PIN delivery in cooperation with a server as described in the above-referenced copending patent application. In this regard conventional credit/debit, check cashing, and other terminal applications are geared towards printing the same kind of receipt for each transaction. While some of the information may differ on two credit card receipts (e.g., the date and time), the general appearance and format of the two receipts is typically identical. This aspect of conventional terminal applications is ill-suited to the sale of prepaid products, as each product may require an entirely different format for the receipt which is printed. Moreover, existing prepaid cards may also change their rates, terms, and other information, which would be printed by the terminal upon the receipt.
Unfortunately, it is generally rather tedious to modify such a conventional terminal so as to change the receipt format. In particular, current industry practice is to “compile” the receipt template on a host computer as a part of the terminal application. Hence, changing an existing receipt, or adding a new receipt, inconveniently requires installing a new version of the application on the terminal.
SUMMARY OF THE INVENTION In summary, the present invention relates to a method of obtaining a personal identification number (PIN) from a client terminal. The method includes storing, at the client terminal, receipt templates received from a server for plural prepaid services. The method further includes receiving, at the client terminal, a request for a PIN associated with a first of the plural prepaid services. A requested PIN and other information associated with the first of the plural prepaid services is then printed, in accordance with a first of the receipt templates associated with the first of the plural prepaid services, upon a receipt dispensed by the client terminal.
The present invention also pertains to a client terminal including a processor and a memory operatively coupled to the processor. The memory stores receipt templates received from a server for plural prepaid services. The client terminal includes a user interface through which is received a request for a PIN associated with a first of the plural prepaid services. The client terminal also includes a dispensing mechanism for printing, in accordance with a first of the receipt templates associated with the first of the plural prepaid services, a receipt containing a requested PIN and other information associated with the first of the plural prepaid services.
In another aspect the present invention relates to a PIN delivery system including a plurality of client terminals. At least a first of these client terminals is of a first terminal type and at least a second of these client terminals is of a second terminal type. The system further includes a server containing a processor and memory operatively coupled to the processor. A database, in communication with the server, contains a plurality of sets of PINs associated with a corresponding plurality of prepaid services. The database also contains a first and second sets of receipt templates disposed to be utilized by ones of the client terminals of the first and second terminal types, respectively. The processor is disposed to execute instructions stored in the memory for sending, to the first client terminal, the first set of receipt templates and at least a first PIN included within the plurality of sets of PINs. In addition, execution of these stored instructions by the processor results in the second set of receipt templates and at least a second PIN included within the plurality of sets of PINs being sent to the second client terminal.
BRIEF DESCRIPTION OF THE DRAWINGS For a better understanding of the nature of the features of the invention, reference should be made to the following detailed description taken in conjunction with the accompanying drawings, in which:
FIG. 1 depicts a block diagram of a system architecture suitable for implementing a method of distributing PINS;
FIG. 2A depicts a picture of a dealer-located embodiment of a client terminal;
FIG. 2B depicts an automated kiosk embodiment of a client terminal;
FIG. 2C depicts a personal computer embodiment of a client terminal;
FIG. 3 depicts a simplified example of a database record;
FIGS. 4A and 4B depict a flowchart illustrating a method of purchasing one or more PINs;
FIG. 5 depicts a flowchart illustrating a method of operating a client terminal;
FIG. 6 depicts an example of a display allowing the user to choose a provider;
FIG. 7 depicts an example of a display allowing the user to choose a monetary denomination;
FIG. 8 depicts an example of a display showing the user rate and expiration information;
FIG. 9 depicts an example of a display allowing the user to choose a quantity of cards;
FIG. 10A depicts an example of a display screen requesting payment from the user;
FIG. 10B depicts an example of a display screen showing the user his or her purchased PIN(s);
FIG. 11 depicts a flowchart illustrating a method of using a PIN to access telephone service;
FIG. 12 depicts a flowchart illustrating a method of using a PIN at a gas station;
FIG. 13 depicts an example display screen for allowing a user to log-in to a purchase ordering system;
FIG. 14 depicts an example of a display screen shown to a user for entering data into a purchase order;
FIG. 15 depicts an example of a purchase order summary screen;
FIG. 16 depicts an example of a screen shown to a user for entering alternate credit card information;
FIG. 17 depicts an example of a purchase receipt summary screen for the purchase ordering system;
FIG. 18 shows an example of a prepaid cellular PIN receipt/ticket;
FIGS. 19A and 19B shows an example of a more detailed database record;
FIG. 20 shows an overview of a system for distributing PINs within which is incorporated an embodiment of the present invention;
FIG. 21 shown is a schematic diagram of the structure of one embodiment of a PIN server included within the system ofFIG. 20;
FIG. 22 depicts a physical embodiment of a client terminal included within the system ofFIG. 20;
FIG. 23 there shows a block diagrammatic representation of the electronic and other components of an embodiment of the client terminal;
FIG. 24 is a flowchart depicting steps carried out in connection with configuring a client terminal and performing various operations in accordance with the invention;
FIG. 25 provides a flowchart that illustrates the steps involved in selling an item of prepaid goods or services in a manner consistent with the invention.
DETAILED DESCRIPTION OF THE INVENTION The present invention provides a system and method accommodating the printing of receipts of multiple different formats within a PIN delivery system such as is described in the above-referenced co-pending U.S. application Ser. No. 10/316,603, entitled SYSTEM AND METHOD FOR DISTRIBUTING PERSONAL IDENTIFICATION NUMBERS OVER A COMPUTER NETWORK. Consistent with the invention, receipt templates for each product capable of being sold by a client terminal are downloaded to the terminal from a server. This contrasts with the current practice within the credit/debit card industry of using a hard-coded format associated with each application running on the terminal. The present invention advantageously permits receipt templates to be added or changed without changing the code of the application stored within the terminal or otherwise downloading a new version of the application. A central repository of receipt templates may be managed at the server so as to support a multiplicity of different terminals from different manufacturers. This dynamic template mechanism may also be employed to enable display of different menus and prompts on the terminal as necessary to support the distribution of different prepaid products.
As is described hereinafter, the architecture of the present invention enables changes in prepaid products and associated materials to be flexibly accommodated. In exemplary embodiments of the invention this is facilitated by retrieving from a server, at one time or another, substantially all the information printed by a client terminal upon the receipt corresponding to a prepaid product. Terminals, which may or may not be of identical type, are provided to participating merchants, with a merchant-specific configuration being downloaded from the server during the first use of the terminal. The configuration information provided to a given merchant will generally depend upon the product mix offered by the merchant (e.g., prepaid wireless and/or long distance), as well as upon the characteristics (e.g., manufacturer/model) of the terminal utilized by the merchant. This configuration information, along with other product-related information downloaded from the server, enables new prepaid products to be delivered through the terminal without modifying or otherwise updating its application code. That is, the client application code need not be aware of the particulars of the static text appearing on receipts printed by the terminal, or of which types of fields are included on a receipt. Rather, essentially all of this type of information is managed by the server and configured through an administrative interface.
Due to the quantity of unique data needed for each different prepaid transaction and the likelihood that it will regularly change, in exemplary embodiments of the invention the required processing is divided among a “download” transaction, and a “sale”, “report” or “user” transaction. The “download” transaction provides various records in various files, such as the legal terms and conditions to be printed for each product sold, the names of reports and the additional information (such as start and end times) required by each report, as well as the list of carriers, categories, and denominations for all the products available for sale at a specific terminal. In addition, the download transaction also typically includes the entire configuration specific to the terminal, such as clerks authorized to use the terminal, languages supported by this terminal, screen prompts in each of those languages, and so on.
The present invention may be best understood in light of the subject matter of the above-referenced co-pending U.S. application Ser. No. 10/316,603, which is described herein with reference toFIGS. 1-19 and incorporated by reference. As one of ordinary skill in the art will recognize, many of the aspects of the systems and methods described with reference toFIGS. 1-19 are pertinent to the embodiments of the present invention described below with reference toFIGS. 20-25.
This co-pending application describes a system and method which allows a customer to purchase pre-paid amounts of any good or service, such as telephone service, gasoline, electricity, dry-cleaning, bus service, subway service, magazines, newspapers, or bundled goods and services. After the customer purchases a pre-paid amount of a good or service, the customer receives a personal identification number (PIN), which is downloaded in real-time over a network such as the Internet. The PIN is provided over the network “on-demand,” meaning that the PIN is downloaded over the network immediately or very soon after receiving a request and payment from the customer. The PIN is downloaded over a network in response to the customer's request, not delivered to the customer hours or days after the request. The PIN is not stored locally at the client terminal used by the customer, but is downloaded over the Internet, thus eliminating any inventory tasks or costs associated with maintaining a filled inventory for the dealer. After the customer receives the PIN, the customer can then use this PIN at any convenient time to access the desired good or service.
The above-identified co-pending application thus provides “virtual inventory” of pre-paid cards because it removes all the burdens of inventorying pre-paid cards from the dealer. Additionally, it provides “virtual distribution” of telephone cards, because the service providers no longer have to manufacture pre-paid cards and distribute them to the dealers. Because the PINs are delivered on-demand, there is a real-time distribution and accounting. Additionally, there is an elimination of the inventory shrinkage problem created by the loss, and theft of pre-paid cards.
Moreover, the above-identified co-pending application describes a system and method for providing a personal identification number (PIN) to a client terminal over a computer network. The described system and method eliminates all costs associated with filled inventory for dealers selling PINs. For example, a server receives a request for a PIN over a network, the request originating from a user at a client terminal. The request is associated with a requested monetary unit and a requested provider. The server retrieves from a database a PIN associated with the requested monetary unit and requested provider. The server transmits the retrieved PIN to the client terminal over the network, wherein the PIN is transmitted to the client terminal on-demand in response to the customer's request. No inventory of PINs is stored at the client terminal. All transmissions between the client terminal and the server are by secure transmission to prevent an eavesdropper from stealing the PIN(s).
The PIN can be used for accessing pre-paid telephone service. Alternatively, the PIN can be used for accessing other pre-paid goods and services such as gasoline, magazines, subway service, etc.
The server can transmit to the client terminal a plurality of products or services available. The server then receives from a user at the client terminal a selection of one of the available products or services. The server transmits to the client terminal a plurality of provider names for the requested product or service. The server receives from a customer at the client terminal a selection of one of the available provider names. The server transmits to the client terminal a plurality of monetary denominations available for the requested provider. The server receives from the client terminal a selection of one of the available monetary denominations. The server transits to the client terminal a plurality of regions available for the requested provider. The server receives from the client terminal a selection of the one of the available regions. The server can receive a request from the client terminal to view rate information. The server then transmits rate information to the client terminal.
The user is then prompted at the client terminal to enter payment for the requested PIN. The user can enter payment a) inserting cash into a. receptacle at the client terminal, or b) entering credit card or debit card or smart card information or swiping a card through a receptacle, or c) paying cash to an operator associated with the client terminal. If the user pays a dealer, the dealer remits a portion of the payment to an account associated with the server by a) transferring funds from a dealer's account into the account associated with the server by an electronic funds transfer, or b) charging a portion of the payment to a dealer's credit account, or c) charging a portion of the payment to a dealer's credit card.
After the user pays for one or more PINs, the client terminal prints a receipt for the customer, the receipt including the requested PIN number and instructions for using the PIN. Additionally, a purchase ordering method is described in the above-identified pending application whereby a dealer can buy PINs in bulk and receive a wholesale discount. The dealer can place multiple individual purchase orders at once, each individual purchase order associated with a requested provider, a requested monetary denomination, and a requested number of PINS.
The system of the above-identified co-pending application allows a customer to purchase pre-paid amounts of any good or service, such as telephone service, gasoline, electricity, dry-cleaning, bus service, subway service, magazines, newspapers, or bundled goods and services. After the customer purchases a pre-paid amount of a good or service, the customer receives a personal identification number (PIN), which is downloaded in real-time over a network such as the Internet. The PIN is provided over the network “on-demand,” meaning that the PIN is downloaded over the network immediately or very soon after receiving a request and payment from the customer. The PIN is downloaded over a network in response to the customer's request, not delivered to the customer hours or days after the request. The PIN is not stored locally at the client terminal used by the customer, but is downloaded over the Internet, thus eliminating any inventory tasks or costs associated with maintaining a filled inventory for the dealer. After the customer receives the PIN, the customer can then use this PIN at any convenient time to access the desired good or service.
FIG. 1 depicts a block diagram of a system for distributing PIN numbers. PIN server102 is coupled tonetwork104. Server102 can be any large computer or network device.Network104 can be any network connecting computers such as the Internet.Client terminals106,108, and110 are runningbrowser programs128,130 and132, respectively.Browsers128,130, and132 are any program that allowsclient terminals106,108, and110 to access PIN server102 overnetwork104.
PIN server102 containsRAM114,ROM116,CPU118, anddata storage device120. CPU188 runs the software, which is operating the method depicted inFIG. 2.Data storage device120 contains a personal identification number (PIN)database112.PIN database112 stores PINs, which are available for purchase by customers. The PIN provides access to a pre-paid amount of a good or a service.PIN database112 is described in more detail with respect toFIG. 3.
Data storage device120 also includes client terminal records122. Client terminal records store information concerning where client terminals are located. Client terminal records122 can store any information specific to specific client terminals, such as previous purchase history, payment and account information, and terminal preferences.
Data storage device also includes customer records123.Customer records123 provide information unique to individual customers. For example, as will be discussed later with respect toFIG. 2C, customers can access PIN server102 through a home personal computer. Customers can identify themselves and provide identifying information. PIN server102 can use this information to provide better service to the customer, to target advertising to the customer, or to store payment or credit accounts. When a customer accesses PIN server102 from a client terminal in a retail store, in most instances the customer will prefer to remain anonymous. In this case, PIN server102 will not store any customer information in customer records123.
Data storage device120 also contains provider records124. These records contain information pertinent to providers who are providing PINs forPIN database112. For example, these records can contain addresses, billing information, and telephone numbers.Data storage device120 also contains advertising records126. Advertising records126 contain information about advertising banners and links that can be provided toclient terminals106,108 and110 as an additional source of revenue.
Because the PINs are valuable and could be subject to theft and copying by electronic piracy,communications network104 between PIN server102 andclient terminals106,108 and110 is protected by the use of encrypted communications and well-known security techniques.Client terminals106,108, and110 can provide security certificates to PIN server102 to authenticate their transmissions.
FIGS. 2A-2C depict three alternative physical embodiments ofclient terminals106,108 and110.FIG. 2A depicts a physical embodiment, which is used in a typical checkout counter of a store, such as a convenience store.Client terminal200 of this embodiment includes a touch-screen204. Various options appear on touch-screen204, which a customer may activate by touching an appropriate location on touch-screen204. A customer makes payment by paying cash to a store clerkoperating cash register202. Alternatively, a customer can pay with a credit card by swiping a credit card throughcredit card slot208.Buttons206 can be used by the customer in addition to touch-screen204 to make additional selections, such as choosing a particular type of credit card.
FIG. 2B depicts an alternative physical embodiment for the client terminal,automated kiosk210.Automated kiosk210 includes a touch-screen212.Credit card receptor214 allows a consumer to submit payment by inserting a credit card. Alternatively, the customer can insert bills intobill receptor218, or coins intocoin receptor220. The customer can optionally make selections by entering data onkeypad216 in addition to making selections with touch-screen212.
FIG. 2C depicts another alternative physical embodiment for a client terminal.Personal computer222 can be used in the convenience of a customer's home or office to access the PIN server102, by entering an appropriate URL in the customer's browser. The customer can then purchase PIN(s) from the PIN server102 from the customer'spersonal computer222.
FIG. 3 depicts a simplified example of records withinPIN database112. Another, more detailed example of records withinPIN database112 is described later with respect toFIGS. 19A and 19B.PIN database112 stores PINs, which are available for purchase by customers.PIN database112 contains records312. Good/Service field301 specifies the name of a good or service, which is available for pre-paid purchase. For example, records312a-312pshown inFIG. 3 contain PINs, which provide access to pre-paid cellular service. Records312q-rshown inFIG. 3 contain PINs, which provide access to pre-paid gasoline. Other goods and services can be also be included inPIN database112 such as electricity, cable service, satellite TV, etc.
Provider field302 contains the name of the particular good or service provider associated with the record. For example,FIG. 3 shows records for AT&T, AIRTOUCH, SPRINT, and MOBIL.Value field304 specifies the dollar value associated with each record. For example,record312hprovides a customer with $50 of pre-paid cellular service from AIRTOUCH.PIN field306 specifies the PIN, which is provided to the customer and allows access to the good or service.Rate field308 specifies a rate associated for each record. For example, for cellular telephoneservice rate field308 specifies the calling rate associated with the record. In theexample PIN database112 shown inFIG. 3,rate field308 is not used forgasoline records312qand312r, since the gasoline rate is determined at the pump.
Expiration field310 contains an expiration date beyond which the PIN for that record will no longer be valid. Other fields may also be added. Some fields may be particular to a specific good or service. For example, if gasoline is being sold then there may be a field for “Octane” which specifies the octane level of gasoline being purchased.
FIG. 4A depicts a flowchart illustrating a method of operating PIN server102. Initially, instep400, the PIN server receives a request from a customer to begin. For example, a customer entering a retail store approachesclient terminal200 shown inFIG. 2A. A “BEGIN” Window displayed on touch-screen204 reads “Touch here to begin.” The customer approaches the touch-screen204 and touches the BEGIN Window. This sends a request to begin to PIN server102. Instep402, in response to receiving a request to begin, PIN server102 transmits to the client terminal a list of products and services offered. For example, PIN server102 could transmit: 1) cellular telephone service, 2) long-distance telephone service, 3) electricity, 4) gasoline, and so on. All of these goods and services would be available to the customer to purchase on a pre-paid basis. The list of products and services transmitted to the client terminal appears, for example, on touch-screen204 shown inFIG. 2A. The customer then touches a desired good or service on touch-screen204. This sends a request for the chosen good or service back to PIN server102. For example, the customer selects “cellular telephone service.”
Instep404, PIN server102 receives the request from the client terminal for the chosen good or service. In this example, PIN server102 receives a request for cellular telephone service. Instep406, the PIN server102 transmits to the client terminal a list of providers for the requested good or service. For example, if the customer has requested cellular telephone service, PIN server102 transmits a list of: AT&T, AIR TOUCH, and SPRINT. The customer then selects one of these offered providers by touching an option on touch-screen204. This would send a request back to PIN server102 for a particular requested provider. For example, the customer could select “AIRTOUCH.”
Instep408, PIN server102 receives the customer's request for the particular provider requested.
Instep409, PIN server102 transmits to the client terminal a list of regions for the requested good or service. For example, if the customer requested “AIRTOUCH” instep408, then PIN server102 would transmit a list of regions such as “AIRTOUCH NORTHEASTERN U.S.,” or “AIRTOUCH NEW YORK CITY METROPOLITAN REGION,” OR “AIRTOUCH PACIFIC REGION,” etc. Instep410, PIN server102 receives the customer's request for a particular region.
Instep411, PIN server102 transmits a list of pre-paid monetary denominations offered. For example, if a request for “AIRTOUCH” is received, pre-paid cellular service for AIRTOUCH in the following monetary denominations could be offered: $10, $20, $50, and $100. Thus, a customer could choose to buy a $50 “virtual” phone card, which would provide him or her with $50 of pre-paid cellular service.
The PIN server102 can determine what monetary denominations are available by one of the following methods. As a first method, PIN server102checks provider records124, and looks up the record corresponding to the chosen provider (for example, AIRTOUCH). PIN server102 then checks a field of the provider record to determine what monetary values are offered. As a second method, PIN server102checks PIN database112, and determines what types of monetary denominations are available. For example, PIN server102 can determine that it is presently out of stock of $50 AIRTOUCH PINs, but PIN server102 has available $10 PINs, $20 PINs, and $100 PINs.
As an example, the customer could choose to purchase a $50 PIN from AIRTOUCH. The customer would receive a PIN, which would allow him or her to purchase $50 of cellular telephone service. As an alternative to transmitting a list of offered monetary denominations, instep410, the customer could alternatively be allowed to simply type in at a keypad a desired amount of service that he or she desires. For example, a message would appear on touch-screen,204 stating “TYPE IN AN AMOUNT OF PRE-PAID SERVICE YOU WISH TO PURCHASE.” The customer could then type in, for example, $50. PIN server102 could then checkPIN database112 to see if it had any $50 PIN denominations available. If there was no $50 PINs available, PIN server102 could, for example, transmit a message stating, “THERE ARE NO $50 PINS AVAILABLE. WOULD YOU LIKE TO PURCHASE A $40 PIN OR A $75 PIN?” Alternatively, PIN server102 could transmit a message stating “THERE ARE NO $50 PINS AVAILABLE FOR AIRTOUCH. HOWEVER, SPRINT AND MCI OFFER $50 PINS FOR CELLULAR TELEPHONE SERVICE. WOULD YOU LIKE TO PURCHASE FROM ONE OF THESE PROVIDERS?”
The customer can also be given an option to “View Rates.” If the customer chooses this option, then a request to view rates is sent to the PIN server102. Instep412, the request is received by PIN server102. Instep414, PIN server102 transmits rate information to the client terminal. For example, the rate information could specify that a $100 “virtual” pre-paid phone card purchased from AIRTOUCH has a cellular calling rate of $0.35 per minute, and the PIN expires in 6 months. A $5 & virtual pre-paid phone card purchased from AIRTOUCH has a cellular calling rate of $0.40 per minute, and the PIN expires in 8 months. Providers may choose to offer lower rates for larger pre-paid purchases as a high volume discount. Further information can also be requested and provided to the customer depending on the particular product or service purchased. For example, if the customer is purchasing gasoline, the customer could request current price per gallons at various gas station locations for various octane levels.
Instep416, PIN server102 receives from the client terminal a request for one of the available monetary denominations. For example, the customer could select an option to purchase a $50 PIN from AIRTOUCH by touching the appropriate option on touch-screen204.
Instep418, PIN server prompts the customer at the client terminal to make payment for the requested PIN. Payment can be made by the customer in a number of ways. In the embodiment shown inFIG. 2A, the customer can pay the dealer by cash, credit card, debit card, smart card or any similar method (the customer pays a cashier behind cash register202). Once the customer pays the dealer, then the dealer must transfer a portion of the payment to PIN server. Payment can be apportioned and transferred between the dealer and the operator of the PIN server by a number of methods. Some example methods:
First method “ACH WALLET”: The dealer has a special account set up with the operator of the PIN server. The dealer stores money in the account before the PIN is purchased. Immediately before a customer purchases one or more PINs, the dealer pays a portion of the payment to the operator of the PIN server by transferring money from the dealer's account to such operator by ACH (automated clearing house) electronic funds transfer. This method of payment is referred to as “ACH wallet.”
Second method “CREDIT ACCOUNT”: The dealer has a credit account with the operator of the PIN server. The dealer is allowed a predetermined amount of credit based on the creditworthiness of the dealer. When a customer pays for one or more PINs, a portion of the payment is charged to the dealer's credit account. The dealer is then billed later for the amount charged.
Third method: The dealer simply provides credit card information to the PIN server. When customer purchases one or more PINs, a portion of the payment is charged to the dealer's credit card.
Fourth method: The customer's credit card information (or debit card, or smart card) is sent directly to the PIN server. The operator of the PIN server then charges the customer's credit card and sends a portion of the payment back to the dealer.
As will be understood by one skilled in the art, the above methods are by example only and there are a multitude of ways that payment can be arranged between the dealer and the operator of the PIN server. All of these methods do have one thing in common, however. The PIN is sent by the PIN server right after a payment is made (either by cash or credit). This makes the delivery of the PIN “on demand” and eliminates costs associated with filled inventory. Because the PIN is sent right after payment is made, the dealer has no costs associated with filled inventory. For example, the dealer does not have to contact the operator of the PIN server at the beginning of each month and order $10,000 worth of cards. The dealer does not have to predict which cards will be popular, and how many cards to order of each type. Payment for the PIN is charged at the time of each transaction, and thus the dealer has no filled inventory costs.
In the automated kiosk embodiment shown inFIG. 2B, the customer can enter payment by swiping a credit card throughcredit card receptor214, or inserting cash intobill receptacle218 orcoin receptacle220. Using the personal computer ofFIG. 2C, the customer can enter payment by typing in his or her credit card information.
After payment has been received and verified instep418, then instep420 PIN server retrieves a PIN from the database having the appropriate characteristics selected by the customer. For example, if the customer chose to purchase a $50 virtual pre-paid phone card for pre-paid cellular telephone service from AIRTOUCH, then PIN server102 could retrieverecord312fshown inFIG. 3. Instep422, PIN server102 transmits PIN 0948574995 (this PIN is shown inPIN field306 ofexemplary record312finFIG. 3) to the customer at the client terminal. Once a PIN has been retrieved fromPIN database112 and transmitted to the customer, the PIN record is marked as sold and unavailable fromPIN database112 so that it will not be sent to another customer. Alternatively, the PIN record can be marked as used, so that it will not be retrieved for another customer.
PIN server102 also transmits any instructions necessary to use the PIN. For example, PIN server102 can transmit a telephone access number, which the customer needs to dial before placing a cellular telephone call and entering the PIN. The telephone access number and other instructions will be unique for each provider. These instructions can either be stored in each individual record312 inPIN database112, or the instructions can be stored in provider records124.
The customer could also request to receive multiple PINs. For example, the customer could purchase 3 $50 PINs for AIRTOUCH cellular telephone service. After the customer enters $150 in payment, PIN server102transmits 3 $50 PINs to the customer at the client terminal.
Atstep424, the client terminal prints out a receipt for the customer. The receipt includes the requested PIN(s) purchased by the customer, and any instructions for using the PIN such as a telephone access number. The receipt can also contain advertisements. Advertisers pay the operator of PIN server102 for the opportunity to have their ads displayed on receipts. The receipt is a printed piece of paper. Alternatively, the receipt could be in the form of a plastic card. PIN server102 then returns back to thefirst step400, waiting for the next customer to request to “BEGIN”.
FIG. 5 depicts a flowchart illustrating a method of operation ofclient terminals106,108,110 (shown inFIG. 1),200,210, and222 (shown inFIG. 2).FIGS. 6-10 show exemplary displays to be shown on the screen of the client terminal. The method of operation will now be described with reference to the flowchart ofFIG. 5 and the screens shown inFIGS. 6-10.
Instep500, a window appears which states “TOUCH HERE TO BEGIN.” The customer can begin by touching the touch-screen204 or212 in the appropriate location. If the customer has accessed the PIN server102 by usingpersonal computer222, the customer can begin by entering an appropriate URL into the browser. This would bring the customer to the web page running on PIN server102. The customer could click on a link labeled “BEGIN” to begin the purchase process.
Instep501, the client terminal displays list of offered goods and services, such as cellular telephone service, gasoline, electricity, dry-cleaning, etc. The customer can then choose one of these goods or services to purchase. Assume, for this example, that the customer has selects “cellular telephone service”. Instep502, the customer is provided with a list of providers for the chosen good or service and asked to choose a provider.FIG. 6 shows an exemplary screen corresponding to step502 (assuming that the customer has selected “cellular telephone service”). Touch-screen600displays browser window604. Four service provider options are shown:AIR TOUCH option608,PRIMUS option606,SPRINT option610 andAT&T option612. For the purposes of this example, assume that a customer touchesAIRTOUCH option608.
Instep504, the display screen displays virtual cards of various monetary options, which are offered, for the chosen good or service provider (which in this example is AIRTOUCH).FIG. 7 shows an exemplary display screen corresponding to step504. Four possible monetary denominations may be selected. The customer can choose the $15option708, $30option706, $50option710, or $100option712.
Instep506, the display screen displays rate information, if desired by the customer. The customer is given the option of viewing rates by touching the VIEW RATES option714 shown inFIG. 7. If the customer decides to touch VIEW RATES option714, then instep506, the screen displays calling rates, card expiration dates, or any other information applicable to the chosen good or service, or specific to the particular good or service provider chosen. For example, if the customer who has chosen to purchase AIRTOUCH cellular service, touches the VIEW RATES option714, thenFIG. 8 shows an exemplary screen.Information window800 provides a number of information fields.Card value field802 displays the various virtual card monetary values offered. Local rates field804 displays the calling rate per minute for each card value.Expiration field806 displays the expiration date beyond which the PIN is no longer usable. As shown inFIG. 8, AIRTOUCH offers a discount for higher value card purchases. In other words, the calling rate goes down for higher card value purchases. By touching the continuefield808, the customer can return to the screen shown inFIG. 7.
InFIG. 7, the customer selects a particular monetary denomination offered by touching the screen in an appropriate location. In this example, assume that the customer has chosen the $100virtual card option712. This brings up the display shown inFIG. 9. Instep508, the customer is given the choice of how many cards he or she wishes to purchase. The quantity ofcards window908 inFIG. 9 displays the number of virtual cards to be purchased. The customer can toucharrow910 to increment the number of virtual cards to be purchased. The number of cards to be purchased is shown inbox912. The customer can toucharrow914 to decrement the number of virtual cards to be purchased.Field900 andvirtual card906 display the monetary value of the virtual card that was chosen by the customer. Local rates field902 displays the calling rate for the chosen virtual card.Expiration field904 displays when the virtual card will expire.
If the customer changes his or her mind, and wishes to purchase a card with a different value, the customer can return to the screen shown inFIG. 7 by touching theCHANGE CARD field918. Otherwise, the customer can proceed by touching the CONTINUEfield916. This brings up the display shown inFIG. 10A, corresponding to step510.Field1000 displays the total purchase price. Since the customer has requested to purchase two pre-paid virtual $100 cards from AIR TOUCH, the total purchase price is $200.Field1002 instructs the customer to insert payment. This message could alternatively tell the customer to enter credit card information, swipe a credit card, a debit card, a smart card, or pay cash to a cashier depending on the particular client terminal being used and/or a chosen method of payment.
Instep512, payment is received from the customer. After payment has been received and verified, PIN server102 retrieves the requested PIN(s) fromPIN database112 and transmits the requested PIN(s) to the client terminal instep514. The PIN(s) can be displayed on the screen as shown inFIG. 10b,field1004.Message1006 informs the customer to take a receipt. A receipt is printed out instep516. The receipt will contain the requested PIN(s) and any instructions necessary for using the PIN such as an access number to call. If privacy is a concern, it might be preferable not to display the PINs on the screen, but instead to only print the PINs on the receipt.
FIGS. 11 and 12 depict a flowchart illustrating a method of using the PIN once the customer has received the PIN from PIN server102.FIG. 11 shows an exemplary method, which assumes that the customer has purchased pre-paid telephone service. As an example, assume that a customer has purchased $50 of pre-paid telephone service. A receipt was printed out for the customer providing a PIN and a telephone access number. Instep1100, the customer dials the access number, which was provided on the receipt. Typically, the access number is specific to the chosen service provider. For example, if the customer has previously purchased $50 of pre-paid telephone service from AIRTOUCH, the customer will be given an AIRTOUCH access number. When the customer dials the access number, the customer's call will be routed to a switch operated by AIRTOUCH. The access number is preferably a toll-free 1-800 number or a local number. Instep1102, the customer is prompted to dial the destination number that he or she wishes to call. Instep1104, the customer is prompted to enter a PIN, which was printed out, on the receipt. The customer then dials in his or her PIN. An AIRTOUCH server then checks a PIN account for the entered PIN. Instep1106, the AIRTOUCH server checks to see how much money is remaining in the account. If there is enough money left in the pre-paid account to place the desired call, then the call to the destination number is placed instep1108. While the call is continuing, the PIN account is debited in accordance with the calling charges. Instep1110, if the account value reaches zero, the customer is informed that a new PIN must be purchased or additional payment must be made. As an option, the customer can be allowed to dial in a credit card number to continue with the call.
FIG. 12 depicts a flowchart illustrating a similar method toFIG. 11. However,FIG. 12 depicts an example where the customer has purchased pre-paid gasoline. For this example, assume that a customer has previously purchased $50 of pre-paid MOBIL gasoline. A receipt was printed out for the customer providing a PIN. Instep1200, the customer arrives at a local MOBIL gas station. The customer uses a keypad and display screen at a self-service pump. The customer pushes a button indicating that he or she wishes to pay with a pre-paid PIN account. In step102, the customer is prompted to enter a PIN. The customer enters the PIN for which he or she pre-paid. The PIN is sent to a server operated by MOBIL. The server checks a PIN account for that PIN to determine how much money is remaining in the account. If there is money left in the pre-paid account, then the customer is told to begin pumping. The pre-paid PIN account is then debited in accordance with charges for the gasoline pumped. If the account reaches zero, the customer is informed that additional payment must be made.
PIN server102 essentially serves as a PIN warehouse. The operators of PIN server102 can obtain PINs from various providers in two ways. A first method of obtaining PINs from providers is as follows. PINs are purchased by the operator of the PIN server102 directly from the providers. For example, a $10 pre-paid PIN could be purchased from AIRTOUCH at a wholesale price of $8 and then stored inPIN database112. In other words, AIRTOUCH sells the PIN to the operator of the PIN server102 for $8, and the operator resells the PIN to the customer for $10. Thus, the operator would make a $2 profit on the sale of the PIN.
A second method of obtaining and selling PINs is as follows. The PINs are received from various providers at no cost to the operator of the PIN server102, who serves as a warehouse for the PINs. After a PIN is sold to a customer, the payment received from the customer is forwarded to the appropriate provider, minus a commission for such operator.
Another feature of the system is the ability to offer discounts. PIN server102 can send advertisements and discount offers to the client terminals. Service providers can offer discounts such as “PRE-PAID CELLULAR SERVICE AT 30 CENTS PER MINUTE. 10 CENTS PER MINUTE CHEAPER THAN NORMAL RATE!” Providers will be happy to provide such discounts for pre-paid purchase because there are many advantages to selling pre-paid service. The provider does not have to worry that the customer won't pay his bills, because the calls are pre-paid. The provider does not have to keep track of billing addresses and mailing bills to the customer. The provider gets the money before the call is even made, and thus earns interest on the money. Because of these advantages of pre-paid service, it is often advantageous to providers to offer a discount for pre-paid purchases.
FIGS. 13-16 depicts a purchase-ordering feature. The purchase ordering feature is intended to be used by dealers who wish to purchase a batch of various types of PINs, for the purpose of reselling these PINs to individual customers. The purchase order feature allows a dealer to order a desired assortment of PINs from different providers of different denominations.
FIG. 13 depicts an example of a login screen for allowing a user to enter the purchase ordering system. To enter the purchase ordering system, the user must be a registered user. Typically, users of the purchase ordering system will be dealers who resell the PINs to other customers. The dealers can buy PINs in bulk, and thus receive a special wholesale discount. As an option, in addition to dealers, preferred customers could be allowed to use the purchase ordering system. A user enters his or her user name inusername field1302 and enters a password inpassword field1304. The user then hits theEnter button1306.
If the user's username and password is recognized as being a registered user, then the purchase order data entry screen is displayed as shown inFIG. 14.Dealer Information field1402 displays the name, address, and any other pertinent identifying information of the dealer who has logged in to the purchase order data entry system. If other customers besides dealers are allowed to log in to the purchase order data entry system, thenfield1402 can be labeled “customer information” or “user information.”
Payment method field1404 displays the payment method and details, such as credit card information, or ACH wallet, etc.Current balance field1406 displays whether the user has an outstanding balance: i.e. either the dealer owes money to the operator of the PIN server102 or has a certain amount of credit remaining.
Table1407 allows the dealer to many individual purchase orders. Each row of the table represents one individual purchase order. For example, the dealer can order ten $50 cards from AT&T, and 20 $100 cards from Sprint, and 15 $75 cards from Verizon Wireless, etc.
Carrier column1408 allows the user to select a unique carrier for each purchase order of PINs.Region column1410 allows the user to select a particular region for each separate purchase order of PINs.Card type column1412 allows the user to select a particular card monetary denomination for each separate purchase order of PINs.Qty column1414 allows the user to select a quantity of cards to purchase for each separate purchase order of PINs.Wholesale column1416 displays the wholesale per-PIN price for each separate purchase order of PINs.
Totals column1418 displays the total price paid for each purchase order.Totals column1418 field is simply thewholesale column price1416 multiplied by theQty column1414. Add/Del column1420 allows the dealer to confirm the addition of each individual purchase order, or to change his mind and delete an entered order. Grandtotal field1421 displays the sum of all the individual totals from each individual purchase order.
As an example of an individual purchase order, the first row shown inFIG. 14 indicates that the user has selected one order of Verizon Wireless PINs for the Northwest region. The dealer has ordered five $30 PINs. The dealer is getting a discount, so the dealer only has to pay $25 for the $30 PIN. The total paid for the dealer for that individual purchase order is $250.00. If the dealer changes his mind, and wishes to erase this order, he can do so by clicking “DEL.”
If the user wishes to cancel his or her order, the user can click CancelOrder button1426. If the user wishes to update the price totals shown incolumn1418 andfield1421, the user can hit theUpdate Order button1422. If the user is satisfied with what he or she has entered, then the user can proceed with the order by clicking theUpdate Order button1426. This brings up the Purchase Order Summary screen displayed inFIG. 15.
The Purchase Order Summary screen shown inFIG. 15 allows the user to review his or her entire purchase order and check that everything has been entered correctly. If the user wishes to change something, the user can click ChangePurchase Order button1502. This will take the user back to the Purchase Order Data Entry screen displayed inFIG. 14.
If the user is satisfied with the purchase order summary displayed inFIG. 15, then the user can click Submit P.O.button1506. The user will automatically be charged by whatever payment method was previously selected (e.g. charged to an on-file credit card, ACH funds transfer, etc.). The user will then get a printed out receipt. A typical receipt is shown inFIG. 17 and will be discussed later.
If the user wishes to pay by an alternate credit card, he or she can click Pay WithAlternate Credit Card1504. This takes the user to the Alternate Credit Card Payment screen shown inFIG. 16. The user can then enter credit card information in. the Billing Information fields.
FIG. 18 shows an example of a Prepaidcellular PIN ticket1800.Ticket1800 is the receipt that is printed out when an individual user orders a single PIN from PIN server102 from one of the embodiments shown inFIG. 2 (this receipt is not from the purchase ordering system which has a more elaborate printout shown inFIG. 17).
FIGS. 19A and 19B depict another example of a database record inPIN database112. This example shows a more detailed record than the example record shown inFIG. 3.Carrier ID fields1902 contains fields providing information pertaining to the individual carrier selected.Carrier region fields1904 contains fields providing information pertaining to the carrier region selected.Promo ID fields1906 contains information pertaining to any promotional program(s) that the PIN was purchased under. Attributes fields1908 contains information pertaining to the PIN attributes such as the calling cost per minute, PIN expiration, long distance rate, and roaming rate.Card ID fields1910 contains various identification fields associated with the PIN.PIN ID fields1912 contain fields providing information pertaining to PIN identification.Dealer ID fields1914 contain information pertaining to the dealer where the PIN is purchased. When a PIN is purchased at a dealer, Dealer ID fields1914 gets filled in with the corresponding dealer information. Sub/kiosk ID fields1916 contain information pertaining to a kiosk where the PIN is purchased. When a PIN is purchased, these fields get filled in with the kiosk information associated with the kiosk where the PIN was purchased. POSType ID fields1918 contain additional information pertaining to kiosk identification.Payment_method ID fields1920 contain information pertaining to the method of payment. CreditCard ID fields1922 contain credit card information, if the PIN was purchased by credit card. Lastly, Employee ID fields1924 contain information pertaining to an employee who may have made the PIN sale, and any commission, which the employee receives for the sale.
Every PIN inPIN database112 has its own associated record, as shown inFIGS. 19A and 19B. The records shown inFIGS. 19A and 19B are directed towards wireless telephone service. However, different types of records can be used which are tailored to the product or service being sold, such as gasoline. Each PIN has its own associated record as shown inFIGS. 19A and 19B, even before the PIN is purchased. Every time a new PIN is created in the system, a new record is made. When the PIN is purchased by a customer or dealer, the information about the sale is filled in to the appropriate fields in the record, and the record is marked as sold so that the PIN is not resold to another customer or dealer.
Referring next toFIG. 20, shown is an overview of asystem2000 for distributing PINs within which is incorporated an embodiment of the present invention. As shown,server2002 is coupled tonetwork2004.Server2002 can be any large computer or network device.Network2004 can be any network connecting computers, such as the Internet or the conventional telephone network (POTS).Client terminals2006a-dare communicatively coupled to theserver2002 via thenetwork2004.
Except as otherwise described below, theclient terminals2006a-dare configured to operate in much the same way as theclient terminals106,108,110 (described with reference toFIG. 1) in accessingserver2002 vianetwork2004 for the purpose of obtaining PINs. However, theclient terminals2006a-dofFIG. 20 are also configured to obtain receipt and screen display templates from theserver2002 so as to facilitate receipt printing and information display in accordance with the present invention. Similarly, theserver2002 is configured to operate in much the same way as the server102. However, theserver2002 in the present embodiment is also disposed to download receipt and screen display template files to theclient terminals2006a-d. As one of ordinary skill in the art will appreciate, any of the client terminals described herein may be realized by a combination of hardware and software which may be implemented in a variety of programmable devices.
PINs delivered by theclient terminals2006a-dmay be associated with offerings (e.g., product/service, region, denomination) in a variety of ways, and such PINs may be requested in a variety of ways. In some embodiments, each PIN is identified and requested by a stock keeping unit (SKU) and/or universal product code (UPC). In these embodiments each SKU or UPC summarizes an offering of a service/product, a region (i.e., that the service/product is available or applicable), the provider (e.g., carrier) of the product/service and/or the denomination (e.g., monetary value). As a consequence, a user's selection may include a particular product/service, a provider and/or denomination, and in the exemplary embodiment, the user'sclient terminal2006a-dassociates an SKU or UPC with the user's selection. Theclient terminal2006a-dthen requests a PIN by its corresponding SKU or UPC number.
Referring next toFIG. 21, shown is a schematic diagram of the structure of one embodiment of theserver2002. As shown, theserver2002 includes many of the same components of the server102 described with reference toFIG. 1 includingRAM2114,ROM2116,CPU2118, adata storage device2120, and anetwork communication manager2130. Thedata storage device2120 contains a personal identification number (PIN)database2112,client terminal records2122,customer records2123,provider records2124,receipt template repository2126 andscreen template repository2128.
FIG. 22 depicts a physical embodiment of theclient terminals2006a-d, which may be positioned at a typical checkout counter of a store, such as a convenience store. Eachclient terminal2006a-dis operative to vend areceipt2210 corresponding to a prepaid telephone or cellular telephone card, prepaid gasoline card, or any other product or service premised upon dispensing of a PIN to a user. The terminal2006a-dis contained within ahousing2220 that encloses a magnetic stripe reader, an integrated printer unit for printingreceipt2210, a processor, memory and communication circuitry (seeFIG. 23). Thehousing2220 defines an upper surface upon which is disposed an electronickey pad2224 for receiving user input and a digitalLCD display screen2228. Thehousing2220 further defines acard slot2230 through which a credit, debit or other card (not shown) may pass so that its magnetic stripe is read by the magnetic stripe reader of theterminal2006a-d.
During operation of the terminal2006a-d, various options appear on thescreen2228, which a customer may select by pressing an appropriate button on thekey pad2224. A customer may make payment by paying cash to a store clerk, or by swiping a credit, debit or other payment card throughcard slot2230.
Turning nowFIG. 23, there is shown a block diagrammatic representation of the electronic and other components of an embodiment of theclient terminal2006a-d. As shown, the terminal2006a-dincludes acentral processor2310 which may be realized as a 32-bit microprocessor. The terminal2006a-dfurther includesRAM2320 andROM2330 coupled to theprocessor2310. Theprocessor2310 is also coupled to a number of other components, including an integratedprinter unit2350, I/O ports2360, amodem2370,key pad2224,digital LCD screen2228 andmagnetic stripe reader2380. As shown, theROM2330 stores instructions of a terminal application program2334 and other data files described below. Except to the extent the components of theclient terminal2006a-ddepicted inFIG. 23 are operating under the control of the application program2334 in accordance with the invention, such components may function together so as to yield operation analogous to that occurring in conventional point-of-sale terminals, such as the Omni 3700 family of terminals available from Verifone.
As shown inFIG. 23, theROM2330 also stores print data file2338,screen data file2340, aproduct catalog file2342,initialization information2346, supportedlanguage information2350, report data file2354, clerk data file2358 and flag data file2362. As is discussed hereinafter, the print data file2338 includes a set of receipt templates downloaded from thereceipt template repository2126 ofserver2002 for each product capable of being sold by a givenclient terminal2006a-d. This contrasts with the current industry practice, which contemplates using a hard-coded format associated with each application running on the terminal. The present invention advantageously permits the receipt templates within the print data file2338 to be added or changed without changing the code of the application program2334. Although the software code comprising the application program2334 will generally be different for different types ofclient terminals2006a-d, eachclient terminal2006a-dmay obtain the appropriate type of receipt template from thereceipt template repository2126 in accordance with its terminal type. For example, even if a pair ofclient terminals2006a-dare configured with different operating systems or are manufactured by different entities, to the extent the terminals share a common printer width (e.g., 42 characters wide) and preferred language, identical receipt templates are downloaded to theseterminals2006a-dfrom thereceipt template repository2126.
In addition to using the template mechanism described above in connection with receipt printing, each terminal2006a-dis also disposed to use a dynamic template mechanism when displaying menus and prompts on itsscreen2228. For example, current practice in the credit/debit card industry contemplates developing two versions of the application program executed by a terminal for use in bi-lingual markets; that is, one version of the application program uses prompts in a first language while the other version of the application program employs prompts composed in the second language. Further, if it becomes necessary to change a prompt or menu, a new version of the program must be installed on the conventional terminal. In contrast, the application program2334 will generally not contain any menus or screen prompts. Instead, user interface templates are retrieved from thescreen template repository2128 by a terminal2006a-dbased upon the physical characteristics of itsscreen2228 and the relevant market (e.g., “a 4-line terminal deployed in a Spanish-language market”).
Referring again toFIG. 23, theinitialization information2346 specific to a giventerminal2006a-dincludes a database code (e.g., two alphanumeric characters), a terminal “login name” (e.g., a string of digits), a terminal password (also digits), and zero or more clerk pass codes for each clerk tracked by the server2002 (also digits). All of theinitialization information2346 will typically be requested from the user of the terminal2006a-dduring its initial use, and passwords requested during each subsequent use.
The supportedlanguage information2350 generally consists of a short list of languages supported by theapplicable terminal2006a-d.
The report data file2354 typically provides a list of all the reports supported by theserver2002, each of which is identified by a unique number.
The screen data file2340 generally comprises a collection of template records identified by integer indexes into the file. If a terminal2006a-dsupports multiple languages, it will typically include a different screen data file2340 for each language supported. Each such file will typically include a set of template records corresponding to the applicable language.
The print data file2338 comprises a collection of template records, each of which is identified by a short string. In one embodiment all items printed by a terminal2006a-dand all items identified by theserver2002 as corresponding to information to be shown on its screen2228 (e.g., error messages) are included within theprint data file2338. If a terminal2006a-dsupports multiple languages, it will typically include a different print data file2338 for each language supported. Thisprint data file2338 also contains all the templates for reports andreceipts2210 generated by the terminal2006a-d, including terms and conditions, rates, the name and address of the store in which theterminal2006a-dis located, and so on.
The clerk data file2358 includes a listing of each clerk, along with his or her name and permissions and pass code, authorized to operate theapplicable terminal2006a-d.
Theproduct catalog2342 contains the set of prepaid or other products and services available for purchase using theterminal2006a-d. Each record within theproduct catalog2342 includes an identifying number to be keyed in viakey pad2224 to select the applicable product, and the internal identifier to be requested from theserver2002 when the product is selected. When the product being sold comprises prepaid telecommunications services (i.e., a “prepaid phone card”), the record specifies the denomination of the card, the associated carrier and region, and similar details.
Finally, theflag data2362 consists of a collection of “flags” that control operation of theterminal2006a-d. These flags are stored into a keyed file during download from theserver2002, modified during execution, and later used to control the behavior of theterminal2006a-d. Various ones of these flags may indicate whether the various files described above are currently valid, when the terminal2006a-dshould again check for a new download from theserver2002, whether a user operating the terminal2006a-drequires a clerk pass code to make sales, and so on.
Referring next toFIG. 24, shown is aflowchart2400 depicting steps carried out in connection with configuring aclient terminal2006a-dand performing various operations in accordance with the invention. Upon being connected to thenetwork2004, aclient terminal2006a-destablishes communication with theserver2002 and downloads a configuration file (step2402). Stored within this configuration file is a Terminal Download Files Valid (TDFV) flag. If this flag is not set (or is set to zero), the application program2334 accesses thescreen data file2340 and prompts for the login information described above. Once this login information has been entered viakey pad2224, the application program2334 instructsmodem2370 to contact the server and download a newproduct catalog file2342. The last line of the download containing thisproduct catalog file2342 sets the TDFV flag, which occurs immediately following receipt at theterminal2006a-dof the database code, terminal login name, and terminal password (step2404). Since a download can take several minutes, the downloaded file also contains its checksum, which is transmitted to theserver2002 during the next communication session between the terminal2006a-dand the server2002 (step2406). Since theserver2002 will also have a record of this checksum, the server is able to determine when theproduct catalog file2342 or other information at theclient terminal2006a-dis out of date and only then will indicate to theclient terminal2006a-dthat a newproduct catalog file2342 should be downloaded.
Once the initial set of files downloaded to theclient terminal2006a-dhave been determined to be valid (i.e., the TDFV flag has been set), a user may command the terminal2006a-dto perform any of four operations.
A first operation which may be selected is to is download newer versions of the files previously downloaded from the server (step2410). As was mentioned above, this operation will typically be performed when parameters or other information maintained by theserver2002 has changed (e.g., clerks have been removed or new products have been added). In this case the checksum transmitted by theclient terminal2006a-dupon beginning a new communication session with theserver2002 following such a change will not match the checksum at theserver2002, and a flag is set indicating that theclient terminal2006a-dshould prompt its user viascreen2228 to initiate a download from theserver2002. If the checksum from theclient terminal2006a-dmatches the corresponding checksum most recently computed at theserver2002, then the previously downloaded files are simply marked as “good” at theclient terminal2006a-d. In one embodiment the checksum provided by theclient terminal2006a-dis stored at theserver2002 and occasionally compared, during transactions involving theclient terminal2006a-d, to the corresponding checksum most recently computed at theserver2002.
A second operation which may be performed permits a manager or other supervisory personnel to authorize or restrict one or more clerks from using the client terminal2006a-d(step2420). When the manager selects the option to so disable a clerk's login privileges, the application program2334 accesses thescreen data file2340 and issues a prompt via itsscreen2228 for the manager's pass code and the clerk's pass code. The application program2334 then instructs themodem2370 to establish communication with theserver2002, and submits the transaction disabling the clerk over the communication channel established with theserver2002. Theclient terminal2006a-dthen receives a “yes” or “no” response from theserver2002. If a “yes” response is received, the application program2334 marks the clerk as disabled; otherwise, it does not. When the option to add a clerk is selected, the application program2334 accesses thescreen data file2340 and issues a prompt via itsscreen2228 for the manager's code, the new clerk's code, and the new clerk's name. This information is then submitted to theserver2002 in the manner described above, and a “yes” or “no” response is again received. If a “yes” response is received, the application program2334 adds the new clerk to a list of authorized clerks; otherwise, the new clerk is not added to this list.
A third option which may be selected is to obtain a report (step2430). A user of this operation initiates processing by selecting viakey pad2224 the type of report desired from among those listed on thescreen2228. The selected report is marked in the report data file2354 with the privileges needed to invoke the report and the other parameters needed to generate the report. For example, a “list all clerks” report requires a manager's pass code, while an “end of day summary” report requires input of a starting and ending time viakey pad2224. Once the parameters required to generate the report have been received from the user viakey pad2224, they are sent to theserver2002. In reply, theserver2002 transmits one or more records to theterminal2006a-d. Each reply record specifies an identifier in theprint data file2338, and some number of strings to be substituted into the template so identified. In the exemplary embodiment the information corresponding to each reply record is simply printed by the terminal2006a-dupon areceipt2210 in the manner dictated by the applicable template without processing or otherwise interpreting the information.
Turning now toFIG. 25, aflowchart2500 is provided of the steps involved in performing a fourth operation which may be selected; specifically, sale of an item of prepaid goods or services. This operation is initiated when a clerk using theterminal2006a-dselects or otherwise identifies an item desired to be purchased by a customer (step2510). In this regard the clerk may enter either a shopkeeping unit (SKU) code corresponding to the desired item from the product catalog file2342 (e.g., 12345 for $100 of telecommunications service from Verizon), or may instead scroll through a list of available products rendered on thescreen2228. A request to purchase the selected item is then communicated from the terminal2006a-dto the server2002 (step2520). If the sale is successful (step2524), theserver2002 returns various information pertinent to the sale (e.g., PIN number, transaction ID, access phone number to be dialed in order to use the purchased value associated with the PIN, and so on) (step2530). Theserver2002 also returns an Order ID, which identifies the transaction in question and permits the user of the terminal2006a-dto contact the operator of theserver2002 and obtain the above sale information should thereceipt2210 fail to print for some reason. Once the sale information and Order ID have been received, themodem2370 of the terminal2006a-dterminates the connection with theserver2002 and theapplication program2346 accesses the template within the print data file2338 corresponding to thereceipt2210 to be printed (step2540). The sale information received from theserver2002 is inserted into the appropriate positions as indicated by the template, and acorresponding receipt2210 is printed (step2550). In addition, received Order ID is displayed on the screen2228 (step2560).
If the sale is unsuccessful (step2524), areceipt2210 is not printed and an error message is displayed upon the screen2228 (step2570). For example, thescreen2228 may display a reason that the sale was unsuccessful, followed by the message “Sale Cancelled”. In the exemplary embodiment the terminal2006a-ddoes not retain any information relating to either a successful or unsuccessful sale, and neither are any totals or settlement files maintained at theterminal2006a-d.
In exemplary embodiments each terminal2006a-dcommunicates with theserver2002 in accordance with a half-duplex line protocol in which each transmitted message packet contains a variable length ASCII string. Upon initiation of a transaction, the terminal2006a-dorserver2002 dials the other entity and awaits an enqueue (ENQ). Upon receiving the ENQ from the receiving entity, the transmitting entity begins transmitting message packets. In this regard the protocol contemplates that each message begins with a start of text (STX) control character, which precedes a variable-length text block or “protocol data unit” (PDU). The PDU is followed by an end of text (ETX) control character, which is in turn followed by an error checking byte. In the exemplary embodiment this error checking byte comprises a longitudinal redundancy check (LRC) error check byte, which is obtained by computing the exclusive-or of all the data within the message packet (not including the STX and ETX). The entity receiving the message packet also performs an exclusive-or on the data in the PDU as well as on the LRC error check. The result will be equal to zero if the packet has been transmitted successfully from the terminal2006a-dto theserver2002, or vice versa. The receiving entity responds with an ACK if the message was received properly, and will respond with a NAK if there are any framing, LRC or other errors. If an ACK is received, then the transmitting entity continues transmitting any message packets remaining to be transmitted. If instead a NAK is received by the transmitting entity, then the message is re-transmitted.
The foregoing description, for purposes of explanation, used specific nomenclature to provide a thorough understanding of the invention. However, it will be apparent to one skilled in the art that the specific details are not required in order to practice the invention. In other instances, well-known circuits and devices are shown in block diagram form in order to avoid unnecessary distraction from the underlying invention. Thus, the foregoing descriptions of specific embodiments of the present invention are presented for purposes of illustration and description. They are not intended to be exhaustive or to limit the invention to the precise forms disclosed; obviously many modifications and variations are possible in view of the above teachings. The embodiments were chosen and described in order to best explain the principles of the invention and its practical applications, to thereby enable others skilled in the art to best utilize the invention and various embodiments with various modifications as are suited to the particular use contemplated. It is intended that the following Claims and their equivalents define the scope of the invention.