EP3408818A1 - Techniques for user-controlled real-time data processing - Google Patents
Techniques for user-controlled real-time data processingInfo
- Publication number
- EP3408818A1 EP3408818A1 EP17760795.9A EP17760795A EP3408818A1 EP 3408818 A1 EP3408818 A1 EP 3408818A1 EP 17760795 A EP17760795 A EP 17760795A EP 3408818 A1 EP3408818 A1 EP 3408818A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- payment
- consumer
- information
- user account
- user
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0207—Discounts or incentives, e.g. coupons or rebates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
Definitions
- the present document relates to real-time data processing, and more particularly, to a client-server technique for real-time data processing.
- many establishments e.g., retailers, restaurants, service providers such as automotive service establishments, online commerce sites (or “e-commerce” sites, mobile device commerce utilities (or “m-commerce” utilities), etc.
- may offer various loyalty or reward programs e.g., "registered card” technology
- reward measures e.g., by tabulating "points” associated with amounts spent on various items and/or types of items
- consumers may apply the reward measures to purchases (e.g., using a "redemption balance" of points) or to receive a cash back reward.
- a consumer may be asked to join such a program while making a payment to the establishment (e.g., while checking out of a store, when paying a restaurant tab, etc.).
- a user may typically be required to fill in a form, paper or online, answer a series of questions from an associate, and/or perform other tasks in order to provide registration information to the establishment.
- a user may typically will have to provide a membership card (or a code associated with an account such as a phone number) in order to participate in the loyalty program.
- a membership card or a code associated with an account such as a phone number
- an existing user may be required to perform additional steps in order to redeem rewards (e.g., by reducing the bill by redeeming some reward balance using a registered card then paying the remaining portion of the bill by applying a separate payment using a credit card).
- U.S. Patent 7,769,630 to Postrel discloses a technique for issuing, aggregating and redeeming rewards based on merchant transactions.
- Postrel user cardholders make online purchases with credit cards that are pre-enrolled by the card issuer. The user registration is typically done prior and Postrel fails to provide technology for on-site card registration.
- U. S. Patent Application 2007/0288311 to Underhill discloses a method for flexible incentive programs in sales organizations.
- Underbill's technique is a business- to-business web based incentive program directed for use by suppliers trying to create loyalty with other businesses who buy the suppliers product.
- the enrollment technique uses an outbound email to existing customers who can enroll for the program.
- Underbill's system thus fails to provide technology for a point-of-sale, real-time decision making by a user.
- U.S. Patent Application 2012/0101881 by Taylor et al. discloses methods for promoting loyalty by transforming consumer credentials and consumer opt-ins into a financial transaction and offer redemption outputs.
- a user of Taylor's system is required to register a credit card before the use, i.e., not in real-time and apart from the point-of-sale.
- U. S. Patent Application 2011/0307318 to LaPorte et al. (“LaPorte”) discloses a mobile retail royalty network in which a code is generated from a transaction. A customer can scan/photograph the code and send it to a loyalty server outside of the point of sale. LaPorte thus requires a user to have a mobile device and be pre-enrolled in a loyalty program. Thus LaPorte's technology fails to provide a real-time, point-of-sale solution.
- Voltmer discloses a system for networked loyalty program. Voltmer discloses earning rewards benefits by a consumer on a network-wide level without the retailer's direct participation in the rewards feature. This is achieved by associating a consumer ID with a particular payment vehicle, such as a consumer's credit card, debit card account, and/or bank account. However, Voltmer fails to provide a realtime, point-of-sale solution.
- Some embodiments provide a way to efficiently enroll new members (or update existing member information) in a rewards or loyalty program when a consumer is making a payment for goods and/or services.
- the rewards program may be associated with an establishment or set of establishments.
- some embodiments may automatically collect information regarding the consumer (e.g., by retrieving information from a swiped credit card) and pre-populate various fields of a digital enrollment form (e.g., name, credit card number, etc.).
- a digital enrollment form e.g., name, credit card number, etc.
- Some embodiments may manually collect additional information (e.g., email address, phone number, user preferences, etc.). The collected information may be used to enroll the consumer in the rewards program and automatically associate the payment method used by the consumer with the rewards account. Subsequently, if the consumer uses the same payment method at an establishment associated with the rewards program, the user's reward information may be automatically updated and/or applied by some embodiments, as appropriate. Likewise, if the consumer uses the same payment method at a different establishment associated with a different rewards program (after having signed up with a first rewards program), any required enrollment information may be automatically retrieved from the existing account and applied to the new rewards account.
- additional information e.g., email address, phone number, user preferences, etc.
- Some embodiments may collect and/or generate information regarding a "bill" (which may include information associated with a receipt, purchase order, invoice, online shopping cart or checkout information, and/or other appropriate sources of information related to a purchase). Such information may include a list of goods and/or services, charges associated with each list item, etc. In some embodiments, the information may be associated with various reward rules (e.g., categories of rewards, reward rates, etc.) and/or other information (e.g., payment method, establishment location, sku, or stock-keeping unit number, etc.).
- reward rules e.g., categories of rewards, reward rates, etc.
- other information e.g., payment method, establishment location, sku, or stock-keeping unit number, etc.
- Some embodiments may automatically redeem a rewards balance (or a portion thereof) to apply to a bill based on received payment information. Such a redemption of rewards may be based at least partly on various appropriate factors (e.g., accumulated points, amount of the bill, t pe(s) of purchase(s), user preference or selection, etc.).
- the information associated with each bill, enrollment, redemption, and/or other operations associated with some embodiments may be collected and provided to various parties. Such information may be collected at various appropriate times in various appropriate ways (e.g., through a web-based dashboard, via one or more application programming interfaces (APIs), etc.).
- APIs application programming interfaces
- One exemplary embodiment provides an automated method adapted to associate a consumer with a rewards program.
- the method includes: providing a bill to the consumer using a processing device; receiving payment information regarding the consumer; receiving biographical information regarding the consumer; and updating information regarding a user account associated with the rewards program.
- a second exemplary embodiment provides a software application adapted to process a payment and update rewards program information.
- the application includes sets of instructions for: generating a bill for a set of goods or services provided to a consumer; receiving a method of payment from the consumer; determining a user account associated with the method of payment; and updating the rewards program information associated with the user account.
- a third exemplary embodiment provides an automated method of facilitating a redemption associated with a rewards program.
- the method includes: receiving a bill associated with a consumer purchase at a payment processing device; receiving payment information from the consumer; retrieving user account information associated with the consumer, wherein the user account information comprises a redemption balance; automatically applying at least a portion of the redemption balance to the bill; and processing the received payment information to settle any remaining portion of the bill.
- Figure 1 illustrates a schematic block diagram of a conceptual system used by some embodiments
- Figure 2 illustrates a schematic block diagram of a conceptual software architecture used by some embodiments of the system of Figure 1;
- Figure 3 illustrates a schematic block diagram of a conceptual client-side software application provided by some embodiments
- Figure 4 illustrates a schematic block diagram of a conceptual server-side software application provided by some embodiments
- Figure 5 illustrates a data structure diagram of conceptual data structures used by some embodiments
- Figure 6 illustrates a flow chart of a conceptual process used by some embodiments to facilitate payment and/or enrollment
- Figure 7 illustrates a flow chart of a conceptual process used by some embodiments to perform enrollment of a new member
- Figure 8 illustrates a flow chart of a conceptual process used by some embodiments to apply a redemption
- Figure 9 illustrates a flow chart of a conceptual process used by some embodiments to update information associated with an existing member
- Figure 10 illustrates a flow chart of a conceptual process used by some
- Figure 11 illustrates a flow chart of a conceptual process used by some
- embodiments to provide analytic data to third parties
- Figure 12 illustrates a message flow diagram of a conceptual communication protocol used by some embodiments to facilitate payment and/or enrollment
- Figure 13 illustrates various graphical user interfaces (GUIs) and associated sub- elements provided by some embodiments to allow a user to participate in one or more programs offered by some embodiments; and
- Figure 14 conceptually illustrates a schematic block diagram of a computer system with which some embodiments may be implemented.
- Figure 15A shows a block diagram of an example computer network for data processing.
- Figure 15B shows a block diagram of another example of a computer network for data processing.
- Figure 16 shows an example of messages exchanged in a data processing system.
- Section I provides a conceptual description of a system architecture used by some embodiments.
- Section II then describes conceptual software architectures used by some embodiments.
- Section III describes various methods of operation used by some embodiments.
- Section IV describes various example GUI elements provided by some embodiments.
- Section V describes an example of a computer system which implements some of the embodiments. I. SYSTEM ARCHITECTURE
- Figure 1 illustrates a schematic block diagram of a conceptual system 100 used by some embodiments. Specifically, this figure shows the various communication pathways among the system elements.
- the system may include one or more establishments 110, each establishment associated with one or more client devices 120 and local servers 130, at least one remote server 140 with an associated set of storages 150, a third party server 160 with an associated set of storages 170, and one or more networks 180.
- Each establishment 110 may be a physical (and/or virtual) collection of devices that are associated with a single entity (e.g., a restaurant, a retail store location, an airplane, a train, etc.).
- Each client device 120 may be an electronic device capable of receiving and processing payment information (e.g., a mobile device such as a smartphone or tablet, a point-of-sale device such as a register or terminal, a dedicated credit card swipe device, etc.) and may be associated with a particular establishment 110.
- Each local server 130 may be an electronic device (e.g., a computer, a network interface, etc.) that is able to interact with the various client devices 120 associated with a particular establishment.
- the local server 130 may provide the functionality of a client device 120 and may operate without any associated client devices. Each local server 130 may be able to access one or more networks. In some embodiments, a client device 120 may operate without a local server (e.g., the client device may be able to directly access one or more networks and/or perform other functions associated with the local server 130).
- the remote server(s) 140 may include a set of devices (e.g., one or more computers) that is able to interact with each establishment 110.
- the remote servers 140 may be able to access a set of local storages 150, each storage able to store (and/or retrieve) data and/or instructions.
- the remote servers 140 and storages 150 may be associated with a first entity that is able to interact with the establishments 110 (e.g., through mutually-established protocols, using software provided by the first entity, etc.). Such a first entity may facilitate a payment and enrollment, redemption, and/or other appropriate process by interacting among the establishments 110 and/or appropriate third parties.
- the third-party server(s) 160 may include a set of devices that are able to be accessed by the system 100.
- the third party severs 160 may be able to access a set of local storages 170, each storage able to store (and/or retrieve) data and/or instructions associated with a third-party system.
- the third-party servers 160 and/or storages 170 may be associated with various third-party entities (e.g., marketing systems, data mining systems, payment processing systems, etc.). Such so called third-party entities may also include entities associated with one or more establishments 110 (e.g., a regional restaurant chain with multiple franchisees, a retailer with multiple store locations, etc.).
- the set of networks 180 may include various local and/or distributed networks (e.g., Ethemet, wireless local area or "Wi-Fi" networks, the Internet, cellular communication networks, etc.) that may be accessed by the various elements of the system 100.
- the set of networks 180 may include various devices (not shown) and/or other sub-elements such as servers, storages, interfaces, etc. that may allow interaction among one or more networks, devices, etc.
- system 100 may be implemented in various different ways. For instance, different specific elements may be included or omitted. As another example, different communication pathways may be used. As still another example, various single elements may be divided into multiple elements and/or multiple elements may be combined into a single element.
- the disclosed embodiments provide for computer technologies that can be used to capture data from a secure memory location such as chip or magnetic strip located on a credit card, receive an email input, retrieve an opt-in command from a user and process computer transactions using the received information.
- a secure memory location such as chip or magnetic strip located on a credit card
- the disclosed technologies instead of merely facilitating communication, instead improve data entry aspects of a user device such as a point-of-sale device.
- Some disclosed embodiments initiate computer processing after a card is swiped but before the credit card authorization takes place.
- Software code may be embedded in various ways within the existing code of a credit card transaction that interrupts or pauses the existing credit card authorization process, in order to qualify the customer, and then initiates completion of obtaining the authorization.
- At least one of the entities touching the transaction e. g., the payment device, the issuer network, the gateway provider or the payment app itself
- the unique id may range from store to store. For example, the same 16 digit card at store A will have assigned a unique ID which could be the same or different than a unique ID created by using the same 16 digit card at merchant B.
- the unique ID may only live within the context of a transaction and thus may have a limited lifetime of usefulness.
- the encryption may be a one-way encryption and cannot be reversed to obtain the actual digits of the card.
- Sub-section II. A describes a conceptual software system provided by some embodiments.
- Sub-section II.B then describes a client-side application provided by some embodiments.
- sub-section II.0 describes a server-side application provided by some embodiments.
- sub-section MD describes conceptual data structures used by some embodiments.
- FIG. 2 illustrates a schematic block diagram of a conceptual software architecture 200 used by some embodiments of system 100 and/or other systems. Specifically, this figure shows various conceptual software elements that may allow the components of system 100 to interact.
- the software architecture 200 includes one or more client-side application 210, a set of point-of-sale software elements 220, one or more server-side applications 230, a set of server databases 240, one or more server APIs 250, a set of third-party applications 260, a set of third-party databases 270, one or more third-party APIs 280, and a set of network elements 290.
- the client-side application 210 may be adapted to be executed by a client device (e.g., client device 120 described above) and may allow the client device to perform various system functions.
- the client-side application 210 may receive information from one or more users (e.g., a cashier, a server, a consumer, etc.), communicate with point-of-sale software running on a local server (e.g., local server 130 described above), provide information to one or more users and/or consumers (e.g., a receipt, form information, etc.), and/or perform other appropriate functions.
- users e.g., a cashier, a server, a consumer, etc.
- point-of-sale software running on a local server (e.g., local server 130 described above)
- provide information to one or more users and/or consumers e.g., a receipt, form information, etc.
- the point-of-sale software 220 may be adapted to be executed by a local server or other appropriate device (e.g., local server 130 described above) and may allow the local server to perform various system functions.
- the point-of-sale software 220 may receive information from one or more users (e.g., a cashier, a server, etc.) and/or a set of client-side applications, communicate across one or more network communication elements 290 joining one or more networks (e.g., networks 180 described above), provide information to one or more users and/or consumers (e.g., a receipt, form information, etc.), and/or perform other appropriate functions (e.g., receiving payment information, generating receipts, etc.).
- the server-side application 230 may be adapted to be executed by a remote server or other appropriate device (e.g., remote server 140 described above) and may allow the remote server to perform various system functions.
- the server-side application 230 may be able to communicate among multiple sets of client-side applications (where each set may be associated with an establishment), communicate across one or more network communication elements 290 joining one or more networks (e.g., networks 180 described above), and/or perform other appropriate functions.
- the server-side application 230 may be implemented as a plug-in that may be able to drive the operation of a client-side application and/or integrate with appropriate point of sale software.
- the databases 240 may include data stored by some embodiments using an appropriate storage (e.g., storage 150 described above). Such data may include, for instance, data associated with one or more establishments or sets of establishments, data associated with various consumers (e.g., information regarding purchases made at participating establishments, loyalty account information, payment method information, etc.), and/or other appropriate data.
- the databases 240 may be accessed through the server-side application 230 or through one or more APIs 250, as appropriate. Such APIs may allow various external entities (e.g., third-party analysis firms, establishment-clients, etc.) to access data stored in the various databases 240.
- the third-party application 260 may be adapted to be executed by a third-party server or other appropriate device (e.g., third-party server 160 described above) and may allow the third-party server to interact with the system of some embodiments.
- the third-party application 230 may be able to communicate among multiple sets of client-side applications (where each set may be associated with an establishment), communicate across one or more network
- communication elements 290 joining one or more networks (e.g., networks 180 described above), and/or perform other appropriate functions.
- the databases 270 may include data stored by some embodiments using an appropriate storage (e.g., storage 170 described above). Such data may include, for instance, data associated with one or more third-parties (e.g., payment processing entities, research firms, etc.) and/or other types of data.
- the databases 270 may be accessed through the third-party application 260 or through one or more APIs 280, as appropriate. Such APIs may allow various external entities (e.g., the server-side application 230, client-side applications, point-of-sale software, etc.) to access data stored in the various databases 270.
- the network communication elements 290 may include various interfaces, protocols, etc. that may allow the various software components (and/or the associated system elements) to communicate among each other.
- FIG. 15A Another network configuration 1500 is depicted in Figure 15A and shows a client device 1502, communicating via a communication network 1504 with a transaction processor 1506 and an enrolling server 1508. Some features of these devices are described in the present application.
- the architecture 200 may be implemented in various different ways. For instance, different specific elements may be included or omitted. As another example, different communication pathways may be used. As still another example, various single elements may be divided into multiple elements and/or multiple elements may be combined into a single element.
- FIG. 3 illustrates a schematic block diagram of a conceptual client-side software application 300 provided by some embodiments (e.g., client-side application 210 described above).
- the application 300 may include a user interface (UI) module 310, a communications module 320, a payment module 330, a device control module 340, a local storage module 350, and a rewards module 360.
- UI user interface
- the UI module 310 may be adapted to generate various user interface elements and/or to process various user inputs. Such a UI module may allow, for example, a user to enter information onto a touch screen where the information is then collected by the client-side application.
- the communication module 320 may allow the other elements of the client-side application 300 to interact with various external applications (e.g., a server-side application accessed through a set of network interfaces, a local server accessed across a local network, etc.).
- various external applications e.g., a server-side application accessed through a set of network interfaces, a local server accessed across a local network, etc.
- the payment module 330 may be adapted to provide various functionality associated with payment processing such as collecting payment information (e.g., by receiving swiped credit card information, by receiving payment information entered by a consumer, etc.).
- the device control module 340 may be adapted to allow the client-side application 300 to interact with various client device components, as appropriate. For instance, in some embodiments, the device control module 340 may allow the application 300 to control a touch screen element associated with the device. As another example, a point-of-sale terminal may be directed to display various instructions, forms, etc.
- the local storage module 350 may be adapted to allow the client-side application 300 to access local storage associated with a client device.
- the rewards module 360 may be adapted to interact with various remote servers, local servers, and/or third-party components to collect, analyze, and/or distribute rewards information. Such information may be associated with a loyalty or reward program which may be associated with one or more establishments.
- the application 300 may be implemented in various different ways. For instance, different specific elements may be included or omitted. As another example, different communication pathways may be used. As still another example, various single elements may be divided into multiple elements and/or multiple elements may be combined into a single element.
- FIG. 4 illustrates a schematic block diagram of a conceptual server-side software application 400 provided by some embodiments (e.g., server-side application 230 described above).
- the application may include a third-party access module 410, a communication module 420, a payment processing module 430, a rules engine 440, a storage access module 450, and a reward processing module 460.
- the third-party access module 410 may allow the system 400 to interact with various third-party applications.
- Such a module 410 may include one or more APIs.
- the communication module 420 may allow the other elements of the server-side application 400 to interact with various external applications (e.g., a client-side application accessed through a set of network interfaces, a third-party application, etc.).
- various external applications e.g., a client-side application accessed through a set of network interfaces, a third-party application, etc.
- the payment processing module 430 may be adapted to provide various payment processing tasks.
- functionality associated with payment processing such as collecting payment information (e.g., by receiving information from a client-side application), formatting the information for submission to a third-party payment processor, and/or interpreting a set of responses received from a payment processor.
- the rules engine 440 may be adapted to evaluate consumer information in relation to a set of program evaluation criteria to generate an appropriate set of actions based on a consumer (and/or third-party) interaction. For instance, some rewards programs may provide a bonus reward to a first time customer. As another example, some rewards programs may provide various promotional materials based on evaluations of consumer behavior.
- the storage access module 450 may be adapted to allow the server-side application 400 to access local storage associated with the server (e.g., storages 150 described above).
- the reward processing module 460 may be adapted to interact with various client devices, remote servers, and/or third-party components to collect, analyze, and/or distribute rewards information. Such information may be associated with a loyalty or reward program which may be associated with one or more establishments.
- the application 400 may be implemented in various different ways. For instance, different specific elements may be included or omitted. As another example, different communication pathways may be used. As still another example, various single elements may be divided into multiple elements and/or multiple elements may be combined into a single element.
- Figure 5 illustrates a data structure diagram of conceptual data structures 500 used by some embodiments. Such data structures may be used by the software applications described above in reference to Figures 2-4. As shown in Figure 5, the data structures 500 may include a member account 510 and third-party information 520.
- the member account element 510 may be associated with a particular user (or set of users such as a family, business, etc.) that has enrolled in a reward program.
- the member account may include a payment method 530 (e.g., credit card information, online payment account information, etc.), biographic information 540 regarding the user (e.g., name, email address, etc.).
- the transaction history 550 may include information related to previous interactions between the user and the establishment associated with the rewards program.
- the third-party information 520 may be associated with a particular third party (e.g., an establishment or group of establishments, a payment processing service, etc.).
- the third-party information element may include biographic information 560 (e.g., the name of the establishment, the type of reward program, etc.), a set of rules 570 (e.g., criteria for sending offers to a consumer, criteria for generating a reward to a user, etc.), and a set of templates 580 (e.g., forms, promotion email templates, etc.).
- the third-party information 520 may be collected, updated, and/or otherwise maintained by the system of some embodiments (e.g., each set of rules may be associated with an establishment and maintained by the system).
- data structures 500 are conceptual in nature and different embodiments may implement the structures in various different ways. For instance, some embodiments may include additional specific elements and/or sub- elements and/or may omit specific elements and/or sub-elements. As another example, various sub-elements may be combined into a single element or a single element may be divided into multiple sub-elements.
- Sub-section III. A provides a conceptual description of a payment process of some embodiments.
- Sub-section III.B then describes a conceptual enrollment process provided by some embodiments.
- Sub-section III.O follows with a description of a conceptual redemption process provided by some embodiments.
- sub-section III.D describes a conceptual process used by some embodiments to update existing account information.
- Sub-section III.E then provides a description of a conceptual process used by some embodiments to facilitate post-transaction marketing.
- sub-section III.F describes a conceptual process used by some embodiments to collect and provide user data.
- sub-section III.G describes a message flow used by some embodiments to implement various operations.
- FIG. 6 illustrates a flow chart of a conceptual process 600 used by some embodiments to facilitate payment and/or enrollment.
- a process may begin, for instance, when a consumer is provided payment options using a tableside tablet device, when a server or cashier initiates a payment operation, etc.
- the process may receive (at 610) selection of a payment option.
- Available options e.g., pay with cash, pay with credit card, pay with online account, etc.
- may be displayed in various appropriate ways e.g., as a list, as a set of selectable buttons, etc.
- a selection from among the options may be received in various appropriate ways (e.g., using a touchscreen, using a display screen and keypad, etc.).
- the process may perform different sets of operations depending at least partly on the selected payment option (for instance, if "cash" is selected as the payment option, the process may simply display or print a bill and end).
- the process may offer (not shown) one or more incentives to enroll to a reward program and/or otherwise encourage users to participate.
- Such an offer may include, for instance, marketing materials, a one-time discount, etc.
- the process may then determine (at 620) whether the recipient of the offer wishes to participate in the reward program. Such a determination may be made based on input received from the recipient, entered by a server or other associate, and/or other appropriate ways. If the process determines that the recipient does not wish to participate, the process may receive (at 625) payment information and then process (at 630) the payment. Such payment information may be received in various appropriate ways (e.g., swiping a credit card, entering credit card or banking information, providing account information for a web-based payment method, etc.) and processed as appropriate.
- the process may then receive (at 640) payment information.
- payment information may be received in various appropriate ways (e.g., swiping a credit card, entering credit card or banking information, providing account information for a web-based payment method, etc.).
- Process 600 may then determine (at 650) whether the payment information is recognized (and/or whether the user is an existing user). Such a determination may be made in various appropriate ways (e.g., by comparing the payment information to a database of accounts, by prompting the user to indicate whether the user is a new or existing member, etc.).
- the user after a consumer has enrolled in the rewards program using a particular payment method, the user will automatically be recognized as an existing member when the same payment method is used, without requiring any additional action by the user. For example, when a user swipes a credit card as payment (e.g., using a fixed terminal, using a mobile device such as a tablet, etc.) and the credit card is determined to be associated with an existing account, the reward information may be updated and/or applied to the bill without requiring the user to make any additional selections or take any actions other than those necessary to process the payment as if the user was not enrolled.
- a credit card as payment
- the credit card e.g., using a fixed terminal, using a mobile device such as a tablet, etc.
- the process may perform (at 660) enrollment and create (at 670) an account.
- the process may determine whether to update the account information associated with the user (e.g., by adding another payment method to the account). Such a determination may be made based on various appropriate factors (e.g., user selection, default setting, etc.).
- Enrollment may include the user being asked to provide an email address and/or other information.
- the payment method and information associated with the method e.g., the name, address, etc. of the recipient
- the payment method and information associated with the method may be automatically retrieved from the payment information received at 620 (e.g., a consumer's name may be encoded, along with an account number and/or other information on the magnetic strip on the back of a credit or bank card, a consumer's name may be known to a web-based payment service, etc.). Enrollment will be described in more detail in reference to process 700 below.
- process 600 may retrieve and/or update (at 680) account information associated with the user.
- Such retrieval and/or update may include communicating with a remote server or other element to determine a status of the user (e.g., number of points accumulated, purchase history, etc.) and/or sending information to the server regarding the current interaction (e.g., amount paid, participation election, etc.). Updating of account information will be described in more detail in reference to process 900 below.
- process 600 may apply (at 690) rewards to the account.
- rewards may be provided instantly in some embodiments (e.g., by automatically reducing the amount due from the consumer).
- the user's account may be updated to reflect additional rewards that have not been redeemed.
- a user may be able to select (not shown) from among a set of available rewards to apply. For instance, a list of options may be presented (e.g., apply points to balance, redeem points for additional merchandise, etc.) and a selection received from among the listed options.
- the process may process (at 630) payment for the transaction (e.g., by interacting with a third-party application and/or server to perform a credit card transaction, by interacting with a web-based service, etc.) and then may end.
- Process 600 may be performed in various different ways. For instance, different embodiments may include different operations, omit various operations, and/or perform the operations in a different order than shown. Some embodiments may divide the process into a set of sub-processes or perform the process as a sub-process of a larger macro process.
- Figure 7 illustrates a flow chart of a conceptual process 700 used by some embodiments to perform enrollment of a new member. Such a process may be performed, for example, when a user elects to participate in a rewards program and is identified as a new member.
- the process may retrieve (at 710) reward program information. Such information may include biographic information regarding an establishment or chain, rules, etc.
- the process may retrieve (at 720) user information associated with a payment method (e.g., name and credit card number, username, etc.).
- a payment method e.g., name and credit card number, username, etc.
- Such information may be retrieved in various appropriate ways depending on the payment method (e.g., payment information and biographic information may be retrieved from data stored in a magnetic strip on a bank card when the card is swiped, the information may be received from a third-party, etc.).
- the process may then receive (at 730) additional user information.
- additional user information may be received in various appropriate ways (e.g., by providing a user interface with various form elements such as text fields, check boxes, selection lists, etc. that allow a user to enter the information).
- the additional information may include contact and/or biographic information (e.g., email address, social networking page, birthday, mobile phone number, ZIP code, etc.), user preferences (e.g., prefer weekly emails, daily emails, etc.), and/or other appropriate information (e.g., number of times eating out per month, annual income, etc.).
- various rewards, marketing materials, etc. may be based at least partly on the contact and/or biographic information.
- the process may associate (at 740) the payment method with the user's account information and generate (at 750) a user loyalty account.
- the user loyalty account and associated payment method may be stored using a remote server and storage.
- the process may then offer (at 760) a reward (e.g., bonus reward, instant reward, etc.) and then may end.
- a reward e.g., bonus reward, instant reward, etc.
- Such rewards may be based on various appropriate criteria (e.g., money spent, number of visits, status of the user (e.g., new member, repeat customer, etc.), etc.).
- Such rewards may be at least partly based on a set of rules associated with the reward program.
- Process 700 may be performed in various different ways. For instance, different embodiments may include different operations, omit various operations, and/or perform the operations in a different order than shown. Some embodiments may divide the process into a set of sub-processes or perform the process as a sub-process of a larger macro process.
- Figure 8 illustrates a flow chart of a conceptual process 800 used by some embodiments to apply a redemption. Such a process may be performed, for example, when an existing user makes a purchase using a registered payment method at an establishment associated with a rewards program.
- process 800 may retrieve (at 810) reward program information (e.g., categories, thresholds, etc.) and then receive (at 820) payment information (e.g., by receiving a swiped credit card) and then retrieving (at 830) user information associated with the payment method.
- reward program information e.g., categories, thresholds, etc.
- payment information e.g., by receiving a swiped credit card
- user information e.g., by receiving a swiped credit card
- the process may determine (at 840) the redemption options (e.g., apply points to a purchase, receive a gift or promotional item, etc.). Such redemption options may be included with the retrieved reward program information.
- the process may then receive (at 850) a selection of a redemption option (e.g., by receiving a user input, performing a default selection, etc.) and apply (at 860) the selected option (e.g., by reducing the bill by an amount associated with a number of reward points, by applying a promotional reward such as a free dessert, etc.).
- the process may apply (at 870) the payment (e.g., by sending credit card information to a third- party processor) and then may end.
- Process 800 may be performed in various different ways without departing from the spirit of the invention. For instance, different embodiments may include different operations, omit various operations, and/or perform the operations in a different order than shown. Some embodiments may divide the process into a set of sub-processes or perform the process as a sub- process of a larger macro process. D. EXAMPLE EMBODIMENTS OF ACCOUNT UPDATE
- Figure 9 illustrates a flow chart of a conceptual process 900 used by some embodiments to update information associated with an existing member.
- a process may be performed, for example, when a user elects to participate in a rewards program and is identified as an existing member.
- an existing member may make a selection indicating that the user's information has changed (e.g., payment method, address, preferences, etc.).
- an existing user may pay with a payment method that has not been previously associated with the rewards account (e.g., a new credit card may be used and the user also indicates that the user has previously enrolled).
- the process may automatically be performed when a new credit card (or other payment method) is not recognized.
- the process may retrieve (at 910) reward program information and receive (at 920) user information.
- reward program information may include biographic information regarding an establishment or chain, rules, etc.
- user information may include user account information (e.g., username and password, email address, etc.) and/or updates to the user information (e.g., a new payment method, an additional or updated phone number, an updated email address, etc.). For example, if a user swipes an unrecognized credit card and also indicates that the user is an existing user, the user may be asked to provide an email address associated with the rewards account (or a username and password, and/or other appropriate identifying information).
- the process may retrieve (at 930) user account information.
- the user account information may include biographic information, payment method information, information related to interaction history, and/or other appropriate data.
- Such account information may be retrieved based at least partly on the user information received at 920 (e.g., a username or email supplied by the user may be used to identify an account associated with the user such that the account information may be retrieved).
- the process may then update (at 940) the user account information, if appropriate. For instance, if a credit card is used for payment and is not associated with any user account, but the user makes a selection indicating that the user has an existing account, the new payment method may be associated with the existing account (and thus automatically be recognized in the future, along with any other active payment methods).
- Process 900 may then offer (at 950) a reward and then may end.
- Such rewards may be based on various appropriate criteria (e.g., money spent, number of visits, status of the user (e.g., new member, repeat customer, etc.), etc.).
- Such rewards may be at least partly based on a set of rules associated with the reward program.
- process 900 has been described by reference to an example where a user adds a new payment method to an existing rewards account, a similar process may be used to add an existing payment method to a new rewards account. For instance, if a user has an existing rewards account with a first merchant associated with a payment method, and the user applies that payment method at a second merchant, some embodiments may automatically recognize the existence of an account with the first merchant and apply the user information (e.g., name, email, address, ZIP code, social media information, etc.) to creation of an account with the second merchant.
- user information e.g., name, email, address, ZIP code, social media information, etc.
- Process 900 may be performed in various different ways. For instance, different embodiments may include different operations, omit various operations, and/or perform the operations in a different order than shown. Some embodiments may divide the process into a set of sub-processes or perform the process as a sub-process of a larger macro process.
- Figure 10 illustrates a flow chart of a conceptual process 1000 used by some embodiments to optimize post-transaction marketing.
- Such a process may be executed at regular intervals (e.g., hourly, daily, weekly, etc.), may be executed based on various criteria (e.g., new user signup, update to existing account, during a holiday, at a specific time of day, etc.), and/or at other appropriate times (e.g., when a retailer initiates a promotional offer, when a threshold such as a spending threshold is reached, based on transaction history, based on customer spending behavior, etc.).
- criteria e.g., new user signup, update to existing account, during a holiday, at a specific time of day, etc.
- other appropriate times e.g., when a retailer initiates a promotional offer, when a threshold such as a spending threshold is reached, based on transaction history, based on customer spending behavior, etc.
- Such a process may trigger various appropriate actions such as receipt delivery (e.g., emailing a receipt with an included marketing offer, sending a marketing email with a coupon, etc.).
- a receipt may include a selectable element (e.g., a URL) that may allow a user to provide information regarding the expense (e.g., names of people met, items discussed, etc.) that may then be compiled for the user to utilize (e.g., when the user prepares tax information).
- a selectable element e.g., a URL
- the expense e.g., names of people met, items discussed, etc.
- the process may retrieve (at 1010) a database entry. Such a database entry may be associated with a reward program transaction performed using some embodiments.
- the process may determine (at 1020) whether the transaction involves a new member. If the process determines that the transaction does involve a new member, the process may then retrieve (at 1030) third-party information.
- third-party information may include marketing information (e.g., email
- templates, promotional content, etc. that may be retrieved from an establishment, chain, marketing firm, and/or other appropriate third party.
- the process may generate (at 1040) marketing information based at least partly on the user's transaction history and a set of marketing rules.
- the process may retrieve (at 1050) an appropriate marketing template (e.g., an email template) and send (at 1060) the marketing information to the member.
- an appropriate marketing template e.g., an email template
- Process 1000 may be performed in various different ways. For instance, different embodiments may include different operations, omit various operations, and/or perform the operations in a different order than shown. Some embodiments may divide the process into a set of sub-processes or perform the process as a sub-process of a larger macro process.
- Some embodiments may allow various merchants (or "users") such as
- Such data may include any information related to user purchases made using the systems of some embodiments.
- the information may include user status information (e.g., new enrollment, existing member, purchase history, ZIP code, social media account information, etc.), payment information such as payment method, purchase information (e.g., a bill, a list of items, a total amount, timestamp, purchase location, etc.), establishment information (e.g., type, location, size, promotions, etc.), rewards information (e.g., rewards points accrued, rewards points redeemed, etc.), and/or other information that may be compiled by the system of some
- user status information e.g., new enrollment, existing member, purchase history, ZIP code, social media account information, etc.
- payment information such as payment method
- purchase information e.g., a bill, a list of items, a total amount, timestamp, purchase location, etc.
- establishment information e.g., type, location, size, promotions, etc.
- rewards information e.g., rewards
- User data may be collected and/or compiled in various appropriate ways. For instance, some embodiments may continuously collect user data as the user data is received (e.g., when a user enrolls, when a user makes a payment with a registered merchant, etc.). As another example, user data may be collected from various establishments at various appropriate times and/or in various appropriate ways (e.g., a store may provide information at regular intervals, a regional chain may provide information formatted in a particular way, etc.). Such user data may include spending behavior, redemption behavior, demographic information, social media behavior (e.g., a tally of "likes" by enrolled users, sharing links with "friends", forwarding messages or links, etc.), etc.
- user data may include spending behavior, redemption behavior, demographic information, social media behavior (e.g., a tally of "likes" by enrolled users, sharing links with "friends", forwarding messages or links, etc.), etc.
- the data may be collected and/or made available in real time (i. e., as the data is provided to the system of some embodiments, the data may immediately be made available to various users).
- collected data may be used to provide rewards to enrolled users (e.g., by a providing a reward for "liking" a product or service, by awarding additional points when a user shares a link, etc.).
- Figure 11 illustrates a flow chart of a conceptual process 1 100 used by some embodiments to provide analytic data to third parties.
- a process may be executed continuously as user information is received.
- the process may receive (at 1110) a request (or "query") for user information.
- user information may be aggregated in various appropriate ways, as desired by a merchant requesting the information (e.g., all users who have purchased more than a threshold amount over a recent time period, all users who enrolled within a specific time frame, etc.).
- a request may be received in various appropriate ways (e.g., through an API, via a web site or other such portal, through an application of some embodiments, as a formatted message, etc.).
- the request may include various appropriate parameters (e.g., consumer type, establishment type, purchase amount, etc.) that may be used to identify appropriate information based on the request.
- the process may retrieve (at 1120) the requested user information. Such information may be retrieved by, for instance, accessing a remote storage of some embodiments. Process 1100 may then compile (at 1130) the retrieved information. The information may be compiled in various appropriate ways (e.g., based on the requested elements, based on user preference, based on various protocols, etc.).
- the process may provide (at 1140) the compiled information to the requestor and then may end.
- the information may be provided in various appropriate ways and/or formats based on various appropriate criteria, parameters, etc.
- Process 1100 may be performed in various different ways. For instance, different embodiments may include different operations, omit various operations, and/or perform the operations in a different order than shown. Some embodiments may divide the process into a set of sub-processes or perform the process as a sub-process of a larger macro process. G. EXAMPLE MESSAGE FLOWS
- Figure 12 illustrates a message flow diagram of a conceptual communication protocol 1200 used by some embodiments to facilitate payment and/or enrollment.
- the communication protocol may be implemented among various devices including a client device 1210, a local server 1220, a remote server 1230, and a third-party server 1240.
- the elements and message flow of Figure 12 is presented for example purposes only. Many different message flows may occur depending on various relevant factors (e.g., available system elements and/or sub- elements, selections made by users, approval and/or denial of various requests to third parties or external systems, etc.).
- the client device 1210 may be associated with a server at a restaurant
- the local server 1220 may be a point-of-sale system used by the restaurant
- the remote server 1230 may include a set of remote devices provided by the system of some embodiments
- the third-party server 1240 may include a set of remote devices provided by a third party payment processor.
- a server may initiate checkout for a customer by making a selection using a client device and client-side application of some embodiments. Such a selection may cause a message, 'a', to be sent to the local server 1220 from the client device 1210.
- the local server 1220 may compile a bill or tab associated with the customer and send a response, 'b', that includes the bill (e.g., a listing of items purchased by the consumer, applicable taxes, etc.).
- the client device 1210 may, in turn, send a message, 'c', to the remote server 1230 which may include the bill sent in response 'b' and information regarding a payment method for the user (e.g., credit card information swiped using the client device 1210) along with a request for processing.
- message 'c' may include information regarding user enrollment (for a new user) and/or updated payment information (e.g., when an existing user adds a new payment method).
- Such a message may include transaction information associated with the consumer interaction (e.g., bill amount, establishment location, etc.) that may be used to update reward program information associated with the user.
- the remote server 1230 may receive message 'c' and generate and send a request, 'd' for processing to the third-party server 1240.
- a request may include payment information (e.g., credit card number, name, authorization code, etc.), amount to be paid, and/or other appropriate information.
- the third-party server may analyze the request 'd' and determine whether to process the payment. Such a determination may be made based on various appropriate criteria (e.g., credit limit of the user, reputation of the establishment, etc.).
- the third-party server 1240 may send, to the remote server 1230, a response, 'e' that authorizes or rejects the payment request.
- a response may include various authorization codes, identifying information, etc.
- the remote server may, in rum, send a response, 'f to the client device 1210 indicating the result of the payment processing and/or any associated information.
- the client device 1210 may prompt the user to enter another form of payment and repeat messages 'c'-'f until a payment is authorized, at which point the client device 1210 may send a confirmation message, 'g' to the local server 1220 indicating the results of the payment processing.
- the local server may return a message, 'h' indicating that the payment has been applied and the consumer transaction is complete.
- the client device 1210 may then send a message, j' to the third-party server 1240 verifying the completed transaction. Finally, the client device 1210 may send a termination message, 'k' to the local server 1220 indicating that the consumer transaction has been completed and all information sent to the remote server 1230.
- message flow diagram 1200 is presented for example purposes only and that different embodiments may communicate in various different ways. For instance, in some embodiments a client device may not be able to
- a client device may communicate directly with a third-party server without use of a remote server.
- different embodiments may send different sets of messages, among different devices, and/or in different orders than shown.
- FIG. 15A and Figure 15B some embodiments of a data communication system in which user-controlled real-time data processing may be implemented, are disclosed.
- a user e.g., a consumer or customer who is paying a bill, or making a financial transaction, or is controlling processing of data in some other way, may be able to control data processing steps either via explicit control on a per-transaction basis, or based on implicit control from prior user selections or transactions, occurring on a remotely located server.
- Figure 15A shows an example data communication system 1500 that includes a client device 1502, using which consumers input payment information and a program enrollment option to the data communication system, a transaction processor 1506 communicatively coupled to the client device via a communication network 1504, the transaction processor 1506 receiving the input payment information and the program enrollment option and determining a response to the client device 1502, and an enrolling server 1508 communicatively coupled to the client device 1502 and the transaction processor to modify amount of payment from the input payment inforamtion based on a predefined set of rules and status of the consumers, the enrolling server 1508 including a database that stores a unique personal account number associated with each consumer.
- the client device 1502 may be, e.g., the cleint device 120.
- the transaction processor 1506 may be similar to the remote server 140.
- FIG. 15B shows an example embodiment in which the data communication system 1550 operates similarly to the data communication system 1500, except the transaction processor 1556 (generally similar to the transaction processor 1506) and the enrolling server 1558 (generally similar to the enrolling server 1508) may be co-located on a single hardware platform and may communicate with each other via internal communication mechanism such as an internal data bus of a computer system or software application programmer interface (APIs).
- the enrolling server 1558 may use explicit user selection, e.g., opt-in menu selection, and/or implicit user actions, e.g., accumulated rewards of a user based on the user's previous transactions, to modify data being processed by the transaction processor 1556.
- the transaction processor may pass the information about data (e.g., purchase amount) and identity of the patron or the user whose transaction is being processed, to the enrolling server 1558.
- the enrolling server 1558 may modify the transaction, e.g., provide a discount to the user, and return the resul in realtime to the transaction processor 1556.
- Payment processing of credit card transactions is mostly an automated process and currently there are no technical solutions available to alter the flow of the payment process, while still maintaining real-time responsiveness to the consumer who is making the payment.
- the payment processing flow can be interrupted, and changes can be made to the payment data, while maintaining the real-time nature of the payment.
- the process of altering the final payment amount can be sped up by using unique identifiers for tracking the consumers.
- the speed of processing is maintained, such that the consumer does not have to go through multiple menu screens or physical papers.
- the use of the enrolling server 1558 in conjunction with the transaction processor 1556 can thus identify, in real-time, whether the consumer is a known member of a rewards program or not, and when not a known memer, whether the consumer wishes to enroll in the program.
- Figure 16 illustrates a message flow diagram of a conceptual communication protocol 1600 used by some embodiments to perform data processing. As shown, the
- a communication protocol may be implemented among various devices including a client device 1602 (which may be similar to 1502 or 1210), a processing server 1604 (e. g., the remote server 1230), and a an enrolling server 1606.
- client device 1602 which may be similar to 1502 or 1210
- processing server 1604 e. g., the remote server 1230
- an enrolling server 1606 e.g., the public Internet Protocol (PS) server
- FIG. 12 the elements and message flow of Figure 12 is presented for example purposes only. Many different message flows may occur depending on various relevant factors (e.g., available system elements and/or sub-elements, selections made by users, approval and/or denial of various requests to third parties or external systems, etc.).
- the client device 1602 may transmit the message 1610 representing a business transaction, e.g., a credit card payment, to the processing server 1604.
- the message 1610 may include information uniquely identifying a user, e.g., credit card number, amount of money to be applied against the user's balance, user's phone number or email address, etc.
- the message 1610 may also include a filed indicating that the user wishes to opt into an enrollment plan.
- the reception of the message 1610 may cause the processing server 1604 to communication a message 1612, conditional upon whether the user has indicated to opt-in, to the enrolling server 1606.
- the processing server 1604 may identify the user to the enrolling server 1606, along with a unique additional information such as user's email address or phone number.
- the enrolling server 1606 may process the received user information and generate a message 1614 to the processing server 1604, indicating whether or not the user was enrolled and a reduction to be applied to the user's payment.
- the processing server 1604 subsequently sends the message 1616 completing the data processing transaction running on the client device 1602.
- the processing server 1604 may then send transaction completion message 1618 to the enrollment server 1606.
- the processing server 1604 may receive a confirmation message 1620 from the enrolling server, thereby completing the transaction.
- the processing server 1604 may process the received user information and generate a message 1614 to the processing server 1604, indicating whether or not the user was enrolled and a reduction to be applied to the user's payment.
- the processing server 1604 subsequently sends the message 1616 completing the data processing transaction running on the client device 1602.
- the processing server 1604 may then send transaction completion message 1618 to the enrollment server 1606.
- the processing server 1604 may receive a confirmation message 1620 from the enrolling server, thereby completing the transaction.
- communication protocol thus allows consumer, or user, control of transaction data being processed on the processing server 1604, wherein, in real-time, adjustments may be made to the transaction data, based on the consumer's selection of a preference to opt into the transaction or stay out, and may also modify the amount of transaction based on previous such transactions performed by the consumer (e.g., loyalty rewards).
- a method of performing real-time data processing includes receiving a first message including data comprising personal information about a consumer, information about a payment that the consumer is about to make, information about the consumer wanting to opt into a loyalty enrollment program, checking whether the personal information received in the message is already associated with an existing user account, when the received card payment is associated with the existing user account of the consumer, updating information regarding the existing user account, when the received card payment is not associated with the existing user account, then associating the existing user account to associate the received card payment with the existing user account, altering the information about the payment that the consumer is about to make based on the association, and sending a second message that includes the altered information about the payment and additional information for display to the consumer.
- the altering includes, in real-time, retrieving a set of rules associated with a rewards for the user account, evaluating the information regarding the existing user account based at least partly on the set of rules, and determining a redemption to be applied to the payment that the consumer is about to make based at least partly on the evaluation, wherein the at least one reward comprises at least one of an instant reward and an accrued reward reducing amount of the payment that the consumer is about to make based on a loyalty rule.
- Figure 13 illustrates various GUIs 1310-1340 and associated sub-elements provided by some embodiments to allow a user to participate in one or more programs offered by some embodiments. Such GUIs may be presented using an appropriate client device (e.g., client device 120 described above).
- client device 120 e.g., client device 120 described above.
- GUI 1310 may include a first graphic element 1350, a second graphic element 1355, and a set of selection elements 1360.
- the first graphic element 1350 may include an enrollment offer (e.g., enroll now to receive instant reward) while the second graphic element 1355 may include a listing of enrollment benefit and/or other information (e.g., "5% off future purchases", "participation is free", etc.).
- the set of selection elements 1160 may include buttons or other selectable elements and may be labeled with various appropriate selection options (e.g., "yes, enroll", “no thanks”, “already a member", “add new payment method”, etc.).
- GUI 1320 may include multiple graphic elements 1365-1370, one or more input elements 1375, and various selection elements 1360.
- Graphic element 1365 may include a set of instructions for enrollment while graphic element 1370 may include a combination of displayed text and text entry fields (e.g., name, card number, email, etc.).
- Each input element 1375 may allow a user to acknowledge terms and conditions, privacy policy, etc. (e.g., by checking a box).
- the selection elements 1360 may include various options (e.g., enroll, checkout, etc.).
- GUI 1330 may include a graphic element 1380 that may include a summary of the user's bill with rewards applied (if applicable) and a selection element 1360 (e.g., go to signature).
- GUI 1340 may include an input element 1385 (e.g., a region where a user may enter a signature on a touchscreen device) and a selection element 1360 (e.g., accept signature).
- GUI elements may include various different GUI elements than those shown in the example of Figure 13.
- some embodiments may include various GUIs intended for use by a server or cashier and may include appropriate elements for such use (e.g., table selection elements, menu selection elements, etc.).
- appropriate elements e.g., table selection elements, menu selection elements, etc.
- the various GUIs were shown as using a "portrait” orientation, different embodiments (and/or different GUIs) may utilize a "landscape” orientation (and/or be able to automatically shift among orientations).
- Many of the processes and modules described above may be implemented as software processes that are specified as at least one set of instructions recorded on a non-transitory storage medium.
- these instructions are executed by one or more computational element(s) (e.g., microprocessors, microcontrollers, Digital Signal Processors ("DSP”), Application-Specific ICs ("ASIC”), Field Programmable Gate Arrays (“FPGA”), etc.) the instructions cause the computational element(s) to perform actions specified in the instructions.
- DSP Digital Signal Processor
- ASIC Application-Specific ICs
- FPGA Field Programmable Gate Arrays
- Figure 14 conceptually illustrates a schematic block diagram of a computer system 1400 with which some embodiments may be implemented.
- the system described above in reference to Figure 1 may be at least partially implemented using computer system 1400.
- the processes described in reference to Figures 6-10 may be at least partially implemented using sets of instructions that are executed using computer system 1400.
- Computer system 1400 may be implemented using various appropriate devices.
- the computer system may be implemented using one or more personal computers (“PC"), servers, mobile devices (e.g., a Smartphone), tablet devices, and/or any other appropriate devices.
- the various devices may work alone (e.g., the computer system may be implemented as a single PC) or in conjunction (e.g., some components of the computer system may be provided by a mobile device while other components are provided by a tablet device).
- Computer system 1400 may include a bus 1405, at least one processing element 1410, a system memory 1415, a read-only memory (“ROM”) 1420, other components (e.g., a graphics processing unit) 1425, input devices 1430, output devices 1435, permanent storage devices 1440, and/or network interfaces 1445.
- the components of computer system 1400 may be electronic devices that automatically perform operations based on digital and/or analog input signals. For instance, the various examples of GUI elements described above in reference to
- Figure 13 may be at least partially implemented using sets of instructions that are run on computer system 1400 and displayed using the output devices 1435.
- Bus 1405 represents all communication pathways among the elements of computer system 1400. Such pathways may include wired, wireless, optical, and/or other appropriate communication pathways.
- input devices 1430 and/or output devices 1435 may be coupled to the system 1400 using a wireless connection protocol or system.
- the processor 1410 may, in order to execute the processes of some embodiments, retrieve instructions to execute and data to process from components such as system memory 1415, ROM 1420, and permanent storage device 1440. Such instructions and data may be passed over bus 1405.
- ROM 1420 may store static data and instructions that may be used by processor 1410 and/or other elements of the computer system.
- Permanent storage device 1440 may be a read-and-write memory device. This device may be a non-volatile memory unit that stores instructions and data even when computer system 1400 is off or unpowered.
- Permanent storage device 1440 may include a mass-storage device (such as a magnetic or optical disk and its corresponding disk drive).
- Computer system 1400 may use a removable storage device and/or a remote storage device as the permanent storage device.
- System memory 1415 may be a volatile read-and-write memory, such as a random access memory ("RAM").
- RAM random access memory
- the system memory may store some of the instructions and data that the processor uses at runtime.
- the sets of instructions and/or data used to implement some embodiments may be stored in the system memory 1415, the permanent storage device 1440, and/or the read-only memory 1420.
- Other components 1425 may perform various other functions.
- Input devices 1430 may enable a user to communicate information to the computer system and/or manipulate various operations of the system.
- the input devices may include keyboards, cursor control devices, audio input devices and/or video input devices.
- Output devices 1435 may include printers, displays, and/or audio devices. Some or all of the input and/or output devices may be wirelessly or optically connected to the computer system.
- computer system 1400 may be coupled to a network 1450 through a network interface 1445.
- computer system 1400 may be coupled to a web server on the Internet such that a web browser executing on computer system 1400 may interact with the web server as a user interacts with an interface that operates in the web browser.
- the network interface 1445 may include one or more APIs.
- the network interface and associated network(s) 1450 may allow the system 1400 to access various remote storages 1460 and/or other external components 1465 (e.g., third-party servers).
- non-transitory storage medium is entirely restricted to tangible, physical objects that store information in a form that is readable by electronic devices. These terms exclude any wireless or other ephemeral signals.
- the user may be identified using a unique identifier derived from unique user information such as a primary account number (PAN). If this PAN is cancelled (lost or stolen) and a new PAN is created by the issuer, the previous unique ID may be automatically associated with the new PAN. This also allows the update of unique ID's directly with the card Issuers themselves.
- PAN primary account number
- the techniques described in the present document can also be used to collect rating information from a user, e.g., filling a satisfaction survey by the user to review the service or product received. For example, if the user rating is below a pre-set threshold, then an SMS may be sent to a manager to alert the manager of user's dissatisfaction.
- a web link may be provided to a customer on the user interface when completing transaction, using which, customers can upload receipt information that will allow them to receive rewards for the cash transaction.
- NFC network communication
- the customer in addition to sending the payment credentials, the customer can send their unique ID credentials which includes all the same information that the enrolling server uses to uniquely identify a user.
- the user can actually bypass the inputting of information on the POS and actually just send it with their payment, including their opt in and also receiving an instant discount.
- beacon transmissions to track movement of a mobile phone that has Bluetooth enabled.
- the challenge is the beacon tracking mechanism is not connected to the actual transaction that takes places, therefore not being able to close the gap between tracking the customer's movements and the customer's transactions.
- the described technology can track a user and pair with other users when they have come in and compare the movements to transactions and ultimately determine which phone belongs to which unique id.
- the unique ID is triggered in the enrolling server. Using this correlation, user's email field with the existing email on file linked to the unique ID, which is linked to the PAN the customer is using.
- a customer can sign up for the rewards program at a merchant and instead of taking the redemption earned by their spending with that particular merchant, they can donate the redemption to a non-profit organization.
- Some embodiments may be in the form of a non-transitory computer-readable storage medium storing a software application including instructions that, when executed by one or more computers, cause the one or more computers to process a payment and to update rewards program information by a merchant by generating a bill for a set of goods or services provided to a consumer, receiving a method of payment from the consumer, displaying a user interface on the payment processing device, the user interface configured to receive additional personal information uniquely identifying the customer on the payment processing device, the additional personal information comprising at least one form element, sending the personal information to a first server, and receiving the at least one reward from the server.
- the first server is configured to use an application programming interface to identify at least one reward based on the at least one form element, the application programming interface configured to communicate with one or more servers, determine whether an existing user account of an rewards program of the merchant is associated with the method of payment.
- the server is configured to update the rewards program information associated with the existing user account based at least partly on the bill for a particular existing user account with which the received method of payment is determined to be associated and create a new user account associated with the rewards program for the consumer based at least on the method of payment for a consumer who has no existing user account of the rewards program.
- the method of payment is a credit card or ultimately linked to a credit card.
- the rewards program is associated with one of a restaurant, a grocery store, an automotive service establishment, a mobile commerce utility, an ecommerce site, and a retailer.
- the software application further comprises sets of instructions for generating a rewards program offer based at least partly on the updated rewards program information for the particular existing user account with which the received method of payment is determined to be associated.
- the software application further comprises sets of instructions for creating the new user account.
- the software application further comprises sets of instructions for generating an instant reward and offering the reward to the consumer.
- the software application comprises a client-side application executed by a client device configured to be communicatively coupled with a server-side application.
- a method for facilitating a consumer to enroll into a rewards program while making a payment for a purchase using a payment processing device having a user interface comprising: presenting a bill associated with a consumer purchase to the consumer using the payment processing device, receiving a selected payment option from the consumer in response to the bill, prompting the consumer to select from one of following options on the user interface: (1) enrolling into the rewards program as a new rewards program user; (2) having an existing user account of the rewards program, or (3) opting out the rewards program, and in response to the consumer selection of option (1): receiving payment information of the selected payment option by the consumer to make a payment, creating an user account of the rewards program based at least on the payment information, displaying a user interface on the payment processing device, the user interface configured to receive additional personal information uniquely identifying the customer on the payment processing device, the additional personal information comprising at least one form element, sending the additional personal information to a first server that is configured to use an application programming interface to identify at least one promotional reward based on the at least
- Clause 2 The method of clause 1, wherein the method further comprises: in response to the consumer selection of option (2), receiving payment information of the selected payment option by the consumer to make a payment, determining whether the received payment information is associated with the existing user account, and for a particular existing user account with which the received payment information is determined to be associated, updating information regarding the existing user account associated with the rewards program based at least on the bill; otherwise, updating the existing user account by associating the received payment information with the existing user account, and finalizing the payment to include an reward from the rewards program.
- Clause 3 The method of clause 1, wherein the method further comprises: in response to the consumer selection of option (3) receiving payment information of the selected payment option by the consumer to make a payment, and finalizing the payment.
- Clause 4 The method of clause 1, wherein the selected payment option is a credit payment.
- a method for facilitating a consumer to enroll into a rewards program while making a payment for a purchase using a payment processing device having an user interface comprising: presenting a bill associated with a consumer purchase to the consumer using the payment processing device, receiving payment information from the consumer to make a payment, prompting the consumer, on the user interface, to enroll into an rewards program to receive an instant discount, receiving an acknowledgement from the consumer to enroll into the rewards program, creating an user account of the rewards program based at least on the payment information, displaying a user interface on the payment processing device, the user interface configured to receive additional personal information uniquely identifying the customer on the payment processing device, the additional personal information comprising at least one form element, sending the additional personal information to a first server that is configured to use an application programming interface to identify at least one promotional reward based on the at least one form element, the application programming interface configured to communicate with one or more servers, and finalizing the payment to include the instant discount.
- Clause 9 The method of Clause 8, wherein prompting the consumer to enroll includes prompting the consumer to enter an email address, and wherein receiving the
- acknowledgement from the consumer including receiving an email address from the consumer.
- Clause 10 The method of Clause 9, wherein creating the user account of the rewards program further includes linking the email address to the user account.
- Clause 11 The method of Clause 8, wherein receiving the payment information includes receiving credit card information using a credit card swiping element.
- modules may be combined into a single functional block or element.
- modules may be divided into multiple modules.
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Development Economics (AREA)
- Engineering & Computer Science (AREA)
- General Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Marketing (AREA)
- General Physics & Mathematics (AREA)
- Economics (AREA)
- Theoretical Computer Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Game Theory and Decision Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Cash Registers Or Receiving Machines (AREA)
- Stored Programmes (AREA)
Abstract
Description
Claims
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/059,275 US10949870B2 (en) | 2013-06-25 | 2016-03-02 | Techniques for user-controlled real-time data processing |
PCT/US2017/020405 WO2017151890A1 (en) | 2016-03-02 | 2017-03-02 | Techniques for user-controlled real-time data processing |
Publications (2)
Publication Number | Publication Date |
---|---|
EP3408818A1 true EP3408818A1 (en) | 2018-12-05 |
EP3408818A4 EP3408818A4 (en) | 2019-07-03 |
Family
ID=59743234
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP17760795.9A Ceased EP3408818A4 (en) | 2016-03-02 | 2017-03-02 | Techniques for user-controlled real-time data processing |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP3408818A4 (en) |
JP (2) | JP7311969B2 (en) |
MX (1) | MX2018010497A (en) |
WO (1) | WO2017151890A1 (en) |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000353280A (en) | 1999-06-10 | 2000-12-19 | Omron Corp | Data processor |
CA2375048A1 (en) | 1999-06-23 | 2000-12-28 | Richard Postrel | System for electronic barter, trading and redeeming points accumulated in frequent use reward programs |
US7769630B2 (en) | 1999-06-23 | 2010-08-03 | Signature Systems Llc | Method and system for issuing, aggregating and redeeming rewards based on merchant transactions |
US8121941B2 (en) | 2000-03-07 | 2012-02-21 | American Express Travel Related Services Company, Inc. | System and method for automatic reconciliation of transaction account spend |
JP2002358433A (en) * | 2001-06-01 | 2002-12-13 | Casio Comput Co Ltd | System and method for contents sale management |
JP2003016526A (en) * | 2001-06-28 | 2003-01-17 | Fujitsu Ltd | Transaction system |
JP2005326967A (en) | 2004-05-12 | 2005-11-24 | Nec Fielding Ltd | Merchandise sales promotion service system and merchandise sales promotion service method |
JP2006004127A (en) | 2004-06-17 | 2006-01-05 | Dainippon Printing Co Ltd | Point service providing system and shopping site |
US20070288311A1 (en) | 2006-06-08 | 2007-12-13 | Underhill Jeremy P | Method and system for flexible incentive programs in sales organizations |
US20120101881A1 (en) | 2008-11-25 | 2012-04-26 | Mary Theresa Taylor | Loyalty promotion apparatuses, methods and systems |
US8655733B2 (en) * | 2009-08-27 | 2014-02-18 | Microsoft Corporation | Payment workflow extensibility for point-of-sale applications |
US20110307318A1 (en) * | 2010-06-11 | 2011-12-15 | Jeffrey Laporte | Mobile retail loyalty network |
US20120041808A1 (en) | 2010-08-13 | 2012-02-16 | Loylogic Licensing Inc. | Mobile System and Method for Loyalty Currency Redemption |
WO2013086437A1 (en) | 2011-12-08 | 2013-06-13 | Vpromos, Inc. | Systems and methods for registering consumers in a consumer program while accessing a network |
JP2013239054A (en) | 2012-05-16 | 2013-11-28 | Gourmet Navigator Inc | Settlement system |
JP5706866B2 (en) | 2012-11-22 | 2015-04-22 | ヤフー株式会社 | Member registration system and member registration method |
JP5943850B2 (en) | 2013-01-31 | 2016-07-05 | 三菱Ufjニコス株式会社 | Preferential information management system |
US20140379453A1 (en) * | 2013-06-25 | 2014-12-25 | Brian Booth | Automated Payment, Reward Program Enrollment, and Redemption |
JP2015103034A (en) | 2013-11-25 | 2015-06-04 | 株式会社アポロ | System and method for detecting premium member |
JP6334225B2 (en) | 2014-03-26 | 2018-05-30 | 株式会社エヌ・ティ・ティ・データ | Purchase support device, purchase support system, purchase support method, purchase support program |
JP6446812B2 (en) | 2014-03-31 | 2019-01-09 | セイコーエプソン株式会社 | POS system and control method of POS system |
JP6006385B2 (en) * | 2015-08-05 | 2016-10-12 | 東芝テック株式会社 | server |
-
2017
- 2017-03-02 JP JP2018546592A patent/JP7311969B2/en active Active
- 2017-03-02 WO PCT/US2017/020405 patent/WO2017151890A1/en active Application Filing
- 2017-03-02 MX MX2018010497A patent/MX2018010497A/en unknown
- 2017-03-02 EP EP17760795.9A patent/EP3408818A4/en not_active Ceased
-
2021
- 2021-10-01 JP JP2021162673A patent/JP7399145B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
MX2018010497A (en) | 2019-06-06 |
JP7399145B2 (en) | 2023-12-15 |
EP3408818A4 (en) | 2019-07-03 |
JP7311969B2 (en) | 2023-07-20 |
WO2017151890A1 (en) | 2017-09-08 |
JP2022002132A (en) | 2022-01-06 |
JP2019512782A (en) | 2019-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10949870B2 (en) | Techniques for user-controlled real-time data processing | |
US11727430B2 (en) | Tracking transactions across multiple payment processing networks | |
US11250414B2 (en) | Cloud based system for engaging shoppers at or near physical stores | |
US20200051117A1 (en) | Systems and Methods to Enable Offer and Rewards Marketing, and Customer Relationship Management (CRM) Network Platform | |
US20220237661A1 (en) | Linking a context environment to a context service | |
US20200250648A1 (en) | Systems and methods for facilitating bill payment functionality in mobile commerce | |
US8751298B1 (en) | Event-driven coupon processor alert | |
CA2819936C (en) | Secure payment system | |
US11308459B2 (en) | Processing cross-border transactions | |
US20210166260A1 (en) | Systems and methods for providing a merchant offer | |
US20140278965A1 (en) | Systems and methods for providing payment options | |
US20150310477A1 (en) | Systems and methods for enrolling consumers in a program | |
WO2013015846A1 (en) | System and method for coupon-less product level discounts | |
US9619792B1 (en) | Associating an account with a card based on a photo | |
US20140379453A1 (en) | Automated Payment, Reward Program Enrollment, and Redemption | |
US9892419B1 (en) | Coupon deposit account fraud protection system | |
US20210406923A1 (en) | Automatic determination of card data based on network category codes | |
JP7399145B2 (en) | Techniques for user-controlled real-time data processing | |
US20240020685A1 (en) | Method, apparatus, and computer readable medium for providing management of stored balance cards | |
CA3200021A1 (en) | Cryptocurrency rewards for a virtual cash card |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE |
|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
17P | Request for examination filed |
Effective date: 20180828 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
AX | Request for extension of the european patent |
Extension state: BA ME |
|
DAV | Request for validation of the european patent (deleted) | ||
DAX | Request for extension of the european patent (deleted) | ||
A4 | Supplementary search report drawn up and despatched |
Effective date: 20190604 |
|
RIC1 | Information provided on ipc code assigned before grant |
Ipc: G06Q 30/00 20120101AFI20190528BHEP |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: EXAMINATION IS IN PROGRESS |
|
17Q | First examination report despatched |
Effective date: 20200610 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: EXAMINATION IS IN PROGRESS |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R003 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION HAS BEEN REFUSED |
|
18R | Application refused |
Effective date: 20220617 |