Customers participate in loyalty reward programs to accumulate points based on various activities associated with the maintaining entity. These points may be redeemed at participating locations for cash or cash-equivalents.
Some embodiments are illustrated by way of example and not limitation in the figures of the accompanying drawings in which:
The following detailed description includes references to the accompanying drawings, which form a part of the detailed description. The drawings show, by way of illustration, specific embodiments in which the invention may be practiced. These embodiments, which are also referred to herein as “examples,” are illustrated in enough detail to enable those skilled in the art to practice the invention. The embodiments may be combined, other embodiments may be utilized, or structural, logical, and electrical changes may be made without departing from the scope of the present invention. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present invention is defined by the appended claims and their equivalents. In this document, the terms “a” or “an” are used, as is common in patent documents, to include one or more than one. In this document, the term “or” is used to refer to a nonexclusive or, unless otherwise indicated.
Loyalty programs allow participants to accumulate rewards points which are redeemed later for goods or services. For example, consider the situation in which a participant is enrolled in a loyalty program for a retail store. Points are accumulated when the participant purchases goods at the retail store or affiliate stores. A rewards catalog allows the participant to redeem these points for various goods or services. In some cases, these rewards are cash-equivalents such as gift cards or discount cards and the following descriptions will use this as the underlying example. In an example embodiment, one goal of the present subject matter is to decrease the amount of time and effort a participant uses in order to redeem his or her points. In some instances, difficulties arise because a participant does not have a quick way to redeem points in an instantaneous manner. This can lead to a reduction in the use of the loyalty program. Another goal of various example embodiments is to reduce the possibility of participants and merchants having to acquire new equipment.
Intersection 218 is the combination of customer service 204 and physical card 212. In an embodiment, customer service refers to a method where a participant calls and places an order over the phone to redeem his or her loyalty points. Physical card refers to the receiving method where a cash-equivalent card (gift card, etc) is mailed through one or more carriers (United States Postal Service, UPS, FedEx, etc). Intersection 218 is therefore a method which may not lend itself to quick or efficient redemption of points. There may be a delay of days between when a participant places an order for a cash-equivalent and when a physical card is actually received.
Intersection 220 is the combination of the home 206 requesting method and the e-mail receiving 214 method. Home refers to a participant browsing an electronic version of a reward catalog at a stationary computing device (e.g., personal computer). The participant can see his or her remaining point balance and the availability of various cash-equivalent rewards. In various embodiments, the reward catalog is stored on a fulfillment server. The participant selects, using an input device, one or more rewards from the reward catalog and the reward is delivered electronically to an e-mail address of the participant. The e-mail may be printed out and brought to a merchant and scanned on existing technology (barcode readers). This requesting and receiving combination allows a participant to enjoy his or her reward faster than intersection 218.
Intersection 222 is the combination of the mobile device requesting method 208 and the mobile device receiving method 216. In various embodiments, a participant will carry a mobile device in which a mobile version of the rewards catalog is accessed. Using the mobile device, the participant will select one or more cash-equivalent rewards from the rewards catalog. In an embodiment, the rewards catalog is stored on a fulfillment server. The fulfillment server will process the request and send a response back to the mobile device. The response may take many forms. For example, it may be a short messaging service (SMS) message containing a link to a picture (barcode) of the reward or a multimedia messaging service (MMS) message of the reward. This described system using only a mobile device make redeeming points nearly effortless. By removing the time delay (as compared to the methods) a participant may be in a merchant store and decide to redeem his or her points to obtain a discount at the merchant. Instead of needing to wait days, the cash-equivalent reward is delivered almost instantly.
In an embodiment, a mobile rewards catalog is received through network interface 306 and displayed on display device 304 using browser application 308. The network interface is configured to be responsive to a plurality of network protocols such as, but not limited to, TCP/IP, CDMA2000, GSM, SMS, and MMS. The browser application may receive user input using a touch-screen, input buttons (e.g., alphanumeric keyboard), or stylus.
At communication 408, a request is made from user device 402 to fulfillment server 404 for a rewards catalog of cash-equivalents. The fulfillment server 404 processes the request and, in communication 410, transmits the catalog of cash-equivalents back to user device 402. In an embodiment, the user device communicates with the fulfillment server using the Hypertext Transfer Protocol (HTTP). In various embodiments a secure version of HTTP is utilized (HTTPS). In an embodiment, the request for the catalog includes identifying information which the fulfillment server processes. The identifying information allows the fulfillment server to determine which cash-equivalents are available to the user. In some embodiments, further information is solicited from the user in order to verify that the user requesting the catalog is the same user that participates in a loyalty program.
At processing step 412, a user browses the catalog of cash-equivalents on the display device of the user device. In various embodiments, the catalog includes information about each cash-equivalent. For example, it will include the points required in order to receive the cash-equivalent and where the cash-equivalent may be used. Upon a user deciding on what cash-equivalent to purchase with his or her points, a selection of the cash equivalent reward is received on the user device.
At communication 414, a request message is transmitted from user device 402 to fulfillment server 404. In various embodiments, the request is first processed by the same server that sent the mobile catalog and then sent to a second server for redemption (sending the cash-equivalent to the user device). In other embodiments, the request is processed and redeemed at the same server.
In an example embodiments, the request is formatted in extensible markup language (XML). The data needed in the XML request may include, but is not limited to:
An example XML message may look like
At processing block 416, fulfillment server checks the inventory of cash-equivalents and the point balance of the user. In an embodiment, the fulfillment server maintains an inventory of already activated cash-equivalent cards. This data may be stored in the memory of the fulfillment server in one or more databases or files. For example, a fulfillment server may maintain an inventory of 30 gift cards of $10 value to merchant A and 20 gift cards of $50 to merchant A, and 15 gift cards of $20 to merchant B. The fulfillment server will process the request from the user device by decrementing its inventory for the requested cash-equivalent if the user has enough points to purchase the cash-equivalent. Additionally, the fulfillment server will decrement the available points to the user. In an example embodiment, a database is maintained of users participating in a loyalty program with their accompanying points. This user data may be stored on the same machine which processes the request or on an external machine. A receipt of the transaction including available points may be sent to the user after processing the request for the cash-equivalent reward (e.g., communication 426). In various embodiments, cash-equivalent accounts are maintained at the merchant level with an account key or other pointer located in the fulfillment server.
At communication 418, a message is sent from the fulfillment server to the user device, wherein the message includes a link to a barcode image, wherein the barcode image represents the cash equivalent reward. In an embodiment, the message is received at the user device in the form an SMS message. In further embodiments, a message is received at the user device as a MMS which contains the barcode. Additional information (e.g., an alphanumeric identification of the cash-equivalent) may also be received at the user device that facilitates the use of the cash-equivalent at a merchant's scanning system. The barcode is configured to interface with existing merchant scanning systems. If the merchant's scanning system does not recognize the barcode image, the operator of the scanning system may manually enter in the alphanumeric characters included in the received message. At processing step 424, the cash-equivalent (in the form of a barcode) is presented to a merchant's scanning system. In various embodiments, the barcode image that is received is configured to be useable by the merchant's existing scanning systems.
Distributed Computing Components
Some example embodiments may include the previously illustrated components (e.g., operations) being implements across a distributed programming environment. For example, operations providing logic functionality may reside on a first computer system that is remotely located from a second computer system containing an Interface or Storage functionality. These first and second computer systems can be configured in a server-client, peer-to-peer, or some other configuration. These various levels can be written using the above illustrated operation design principles and can be written in the same programming language, or a different programming language. Various protocols are implemented to enable these various levels, and operations contained therein, to communicate regardless of the programming language used to write these operations. For example, a module written in C++ using the Common Object Request Broker Architecture (CORBA) or Simple Object Access Protocol (SOAP) can communicate with another remote module written in Java. These protocols include SOAP, CORBA, or some other suitable protocol. These protocols are well-known in the art.
A System of Transmission Between a Server and Client
In some embodiments, the above illustrated operations that make up the platform architecture communicate using the Open Systems Interconnection Basic Reference Model (OSI) or the Transmission Control Protocol/Internet Protocol (TCP/IP) protocol stack models for defining network protocols that facilitate the transmission of data. Applying these models, a system of data transmission between a server and client computer system can be illustrated as a series of roughly five layers comprising as a: physical layer, data link layer, network layer, transport layer and application layer. Some example embodiments may include the various levels (e.g., the Interface, Logic and storage levels) residing on the application layer of the TCP/IP protocol stack. The present application may utilize HTTP to transmit content between the server and client applications, whereas in other embodiments another protocol known in the art is used. Content from an application residing at the application layer is loaded into the data load field of a TCP segment residing at the transport layer. This TCP segment also contains port information for a recipient application or a module residing remotely. This TCP segment is loaded into the data field of an IP datagram residing at the network layer. Next, this IP datagram is loaded into a frame residing at the data link layer. This frame is then encoded at the physical layer and the content transmitted over a network such as the Internet, Local Area Network (LAN) or Wide Area Network (WAN). The term Internet refers to a network of networks. Such networks may use a variety of protocols for exchange of information, such as TCP/IP etc., and may be used within a variety of topologies or structures. This network may include a Carrier Sensing Multiple Access Network (CSMA) such as an Ethernet-based network. This network may include a Code Division Multiple Access (CDMA) network or some other suitable network.
A Computer System
The example computer system 600 includes a processor 602 (e.g., a Central Processing Unit (CPU), a Graphics Processing Unit (GPU) or both), a main memory 604 and a static memory 606, which communicate with each other via a bus 608. The computer system 600 may further include a video display unit 610 (e.g., a Liquid Crystal Display (LCD) or a Cathode Ray Tube (CRT)). The computer system 600 also includes an alphanumeric input device 612 (e.g., a keyboard), a User Interface (UI) cursor controller 614 (e.g., a mouse), a disk drive unit 616, a signal generation device 618 (e.g., a speaker) and a network interface device 620 (e.g., a transmitter).
The disk drive unit 616 includes a machine-readable medium 622 on which is stored one or more sets of instructions and data structures (e.g., software) embodying or used by any one or more of the methodologies or functions illustrated herein. The software may also reside, completely or at least partially, within the main memory 604 and/or within the processor 602 during execution thereof by the computer system 600, the main memory 604 and the processor 602 also constituting machine-readable media.
The instructions 624 may further be transmitted or received over a network 626 via the network interface device 620 using any one of a number of well-known transfer protocols (e.g., HTTP, Session Initiation Protocol (SIP)).
The term “machine-readable medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions. The term “machine-readable medium” shall also be taken to include any medium that is capable of storing, encoding, or carrying a set of instructions for execution by the machine and that cause the machine to perform any of the one or more of the methodologies illustrated herein. The term “machine-readable medium” shall accordingly be taken to include, but not be limited to, solid-state memories, and optical and magnetic medium.
Method embodiments illustrated herein may be computer-implemented. Some embodiments may include computer-readable media encoded with a computer program (e.g., software), which includes instructions operable to cause an electronic device to perform methods of various embodiments. A software implementation (or computer-implemented method) may include microcode, assembly language code, or a higher-level language code, which further may include computer readable instructions for performing various methods. The code may form portions of computer program products. Further, the code may be tangibly stored on one or more volatile or non-volatile computer-readable media during execution or at other times. These computer-readable media may include, but are not limited to, hard disks, removable magnetic disks, removable optical disks (e.g., compact disks and digital video disks), magnetic cassettes, memory cards or sticks, Random Access Memories (RAMs), Read Only Memories (ROMs), and the like.
It is to be understood that the above description is intended to be illustrative, and not restrictive. For example, the above-illustrated embodiments (and/or aspects thereof) may be used in combination with each other. Many other embodiments may be apparent to those of skill in the art upon reviewing the above description. The scope of the invention should, therefore, be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled. In the appended claims, the terms “including” and “in which” are used as the plain-English equivalents of the respective terms “comprising” and “wherein.” Also, in the following claims, the terms “including” and “comprising” are open-ended, that is, a system, device, article, or process that includes elements in addition to those listed after such a term in a claim are still deemed to fall within the scope of that claim. Moreover, in the following claims, the terms “first,” “second,” and “third,” etc., are used merely as labels, and are not intended to impose numerical requirements on their objects.