Field of the invention
[0001] The invention relates to a digital loyalty program and, in particular, though not
exclusively, to a software-implemented method for a digital interactive loyalty program
and a computing system for a digital interactive loyalty program, a client and server
for use in such system and a computer program product for using such method.
Background of the invention
[0002] In retail loyalty programs are a very important marketing tool to tie customers to
a particular brand or product. Typically, loyalty programs such as Airmiles or the
like rely on the collection of a number of "points" or "credits" that can be used
to get a special offer or a discount. These credits may be collected when buying a
product in a shop or online. Credits may be physical credits tied to a physical product,
e.g. stamps that are printed on the product that need to be cut out before they can
be exchanged.
[0003] Currently, electronic loyalty programs are developed that allow collection of the
collection of credits in an electronic way. For example credits may be collected by
customers via scanning an QR code that is printed on a product using a mobile app.
The QR code may contain loyalty information, e.g. credits and one or more links URLs
to the website of the retailer. These credits may be electronically collected in a
user account and the URLs may be used to obtain further information about the sold
product or to access related products or offers. The mobile app may be configured
to produce user behaviour information that can be collected and analysed by a back-end
server.
[0004] These known electronic loyalty programs only have limited capabilities with regard
to maintaining customers tied to a brand or particular products via different marketing
or communication channels. Further, these programs offer little or no possibilities
for creating a loyalty program that is compatible with a multi-channel marketing strategy,
that allows simple integration with media platforms and television broadcasts and
that allows dynamic adjustment of the loyalty program during a campaign. Furthermore,
these programs offer participants little of no possibilities for interacting with
each other or to create a community of people that are all tied to the same program.
[0005] Hence, from the above it follows that there is a need in the art for improved loyalty
program, in particular digital loyalty program for use in a multi-channel marketing
platform that allows participants to collect digital loyalty stamps and to transfer
digital loyalty stamps from a first to a second participant.
Summary of the invention
[0006] As will be appreciated by one skilled in the art, aspects of the present invention
may be embodied as a system, method or computer program product. Accordingly, aspects
of the present invention may take the form of an entirely hardware embodiment, an
entirely software embodiment (including firmware, resident software, micro-code, etc.)
or an embodiment combining software and hardware aspects that may all generally be
referred to herein as a "circuit," "module" or "system." Functions described in this
disclosure may be implemented as an algorithm executed by a microprocessor of a computer.
Furthermore, aspects of the present invention may take the form of a computer program
product embodied in one or more computer readable medium(s) having computer readable
program code embodied, e.g., stored, thereon.
[0007] Any combination of one or more computer readable medium(s) may be utilized. The computer
readable medium may be a computer readable signal medium or a computer readable storage
medium. A computer readable storage medium may be, for example, but not limited to,
an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system,
apparatus, or device, or any suitable combination of the foregoing. More specific
examples (a non- exhaustive list) of the computer readable storage medium would include
the following: an electrical connection having one or more wires, a portable computer
diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an
erasable programmable read-only memory (EPROM or Flash memory), an optical fiber,
a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic
storage device, or any suitable combination of the foregoing. In the context of this
document, a computer readable storage medium may be any tangible medium that can contain,
or store a program for use by or in connection with an instruction execution system,
apparatus, or device.
[0008] A computer readable signal medium may include a propagated data signal with computer
readable program code embodied therein, for example, in baseband or as part of a carrier
wave, Such a propagated signal may take any of a variety of forms, including, but
not limited to, electromagnetic, optical, or any suitable combination thereof. A computer
readable signal medium may be any computer readable medium that is not a computer
readable storage medium and that can communicate, propagate, or transport a program
for use by or in connection with an instruction execution system, apparatus, or device.
[0009] Program code embodied on a computer readable medium may be transmitted using any
appropriate medium, including but not limited to wireless, wireline, optical fiber,
cable, RF, etc., or any suitable combination of the foregoing. Computer program code
for carrying out operations for aspects of the present invention may be written in
any combination of one or more programming languages, including an object oriented
programming language such as Java(TM), Smalltalk, C++ or the like and conventional
procedural programming languages, such as the "C" programming language or similar
programming languages. The program code may execute entirely on the user's computer,
partly on the user's computer, as a stand-alone software package, partly on the user's
computer and partly on a remote computer, or entirely on the remote computer or server.
In the latter scenario, the remote computer may be connected to the user's computer
through any type of network, including a local area network (LAN) or a wide area network
(WAN), or the connection may be made to an external computer (for example, through
the Internet using an Internet Service Provider).
[0010] Aspects of the present invention are described below with reference to flowchart
illustrations and/or block diagrams of methods, apparatus (systems), and computer
program products according to embodiments of the invention. It will be understood
that each block of the flowchart illustrations and/or block diagrams, and combinations
of blocks in the flowchart illustrations and/or block diagrams, can be implemented
by computer program instructions. These computer program instructions may be provided
to a processor, in particular a microprocessor or central processing unit (CPU), of
a general purpose computer, special purpose computer, or other programmable data processing
apparatus to produce a machine, such that the instructions, which execute via the
processor of the computer, other programmable data processing apparatus, or other
devices create means for implementing the functions/acts specified in the flowchart
and/or block diagram block or blocks.
[0011] These computer program instructions may also be stored in a computer readable medium
that can direct a computer, other programmable data processing apparatus, or other
devices to function in a particular manner, such that the instructions stored in the
computer readable medium produce an article of manufacture including instructions
which implement the function/act specified in the flowchart and/or block diagram block
or blocks.
[0012] The computer program instructions may also be loaded onto a computer, other programmable
data processing apparatus, or other devices to cause a series of operational steps
to be performed on the computer, other programmable apparatus or other devices to
produce a computer implemented process such that the instructions which execute on
the computer or other programmable apparatus provide processes for implementing the
functions/acts specified in the flowchart and/or block diagram block or blocks.
[0013] The flowchart and block diagrams in the figures illustrate the architecture, functionality,
and operation of possible implementations of systems, methods and computer program
products according to various embodiments of the present invention. In this regard,
each block in the flowchart or block diagrams may represent a module, segment, or
portion of code, which comprises one or more executable instructions for implementing
the specified logical function(s). It should also be noted that, in some alternative
implementations, the functions noted in the blocks may occur out of the order noted
in the figures. For example, two blocks shown in succession may, in fact, be executed
substantially concurrently, or the blocks may sometimes be executed in the reverse
order, depending upon the functionality involved. It will also be noted that each
block of the block diagrams and/or flowchart illustrations, and combinations of blocks
in the block diagrams and/or flowchart illustrations, can be implemented by special
purpose hardware-based systems that perform the specified functions or acts, or combinations
of special purpose hardware and computer instructions.
[0014] It is an objective of the invention to reduce or eliminate at least one of the drawbacks
known in the prior art. In an aspect the invention may relate to a computer-implemented
method enabling the transfer of one or more digital loyalty stamps from a first user
device to a second user device, wherein said first and second user device are in communication
with at least one server and a user database configured for storing loyalty stamps
that are collected by said first and second user device. In an embodiment, a loyalty
stamp may be associated with a loyalty stamp identifier, a digital image part and
a transfer indicator for indicating whether the loyalty stamp is in a transferable
or a non-transferable state.
[0015] In an embodiment, the method may comprise: a first user device, comprising at least
one first processor, a first memory and a touch-sensitive display, executing computer
readable program code for: rendering a (transfer offer) GUI comprising a first area
for displaying one or more first loyalty stamps that are selected for transfer to
a second user device and a third touch-sensitive area; and, in response to receiving
a user input via said touch-sensitive area, sending at least one transfer offer message
comprising one or more first loyalty stamp identifiers associated with said one or
more first loyalty stamps and a first user identifier for identifying said first user
and/or first user device to said server, wherein said transfer offer message may instruct
said server to set the state of said one or more first loyalty stamps of said first
user that are stored in said user database and identified in said transfer offer message
to transferable.
[0016] In another embodiment, the method may comprise: a first user device, comprising at
least one first processor, a first memory and a touch-sensitive display, executing
computer readable program code for: rendering a first (loyalty program) GUI comprising
a first touch-sensitive area for displaying one or more loyalty stamps that are collected
by said first user device, said one or more displayed loyalty stamps being associated
with one or more loyalty stamp identifiers that are stored in said first memory; receiving
a user input via said first touch-sensitive area for selecting one or more first loyalty
stamps for transfer to a second user device; in response to said selection, rendering
a second (transfer offer) GUI comprising a second touch-sensitive area for displaying
said one or more first loyalty stamps that are selected for transfer and a third touch-sensitive
area; and, in response to receiving a user input via said third touch-sensitive area,
sending at least one transfer offer message comprising one or more first loyalty stamp
identifiers associated with said one or more first loyalty stamps and a first user
identifier for identifying said first user and/or first user device to said server,
wherein said transfer offer message instructs said server to set the state of said
one or more first loyalty stamps of said first user that are stored in said user database
and identified in said transfer offer message to transferable.
[0017] Hence, the invention allows simple and efficient transfer of digital loyalty stamps
from a first to a second user device, e.g. a smart phone or an electronic table, wherein
the transfer includes offering the stamps to another user wherein during offering
the status of the offered stamps are changes from non-transferable to transferable
so that only during the time that the loyalty stamps are offered a transaction can
be established. As long as the offered stamps are in the transferable state, they
may be accepted by a second user device that is capable of receiving the offer.
[0018] In an embodiment, said user input via said third touch-sensitive area may comprise
the first user touching said third touch-sensitive area and wherein the one or more
loyalty stamps in said user database may be kept in said transferable state as long
as said first user keeps contact with said third touch-sensitive area. Hence, an area
of the GUI may be used to keep the status of the stamps during the offering into the
transferable state. In this embodiment, the transferable state is maintained if the
user keeps in touch with the third touch-sensitive area (e.g. a transfer offer button).
[0019] In an embodiment said method may further comprise: in response to said user releasing
contact with said third touch-sensitive area, sending a transfer stop message comprising
the one or more first loyalty stamp identifiers to said server, said transfer stop
message instructing said server to set the state of the loyalty stamps identified
in said transfer stop message (back) to non-transferable. Hence, as soon as the user
releases the third touch-sensitive area, a client in the first user device may notify
the server that state of the first loyalty stamps should be reversed back to non-transferable.
[0020] In an embodiment said third touch-sensitive area may be configured as a slidable
transfer offer button, wherein said user input is activated when said button is slided
from a first (default) position to a second (target) position. In another embodiment,
said second (transfer offer) GUI may render an indicator for showing the user that
the one or more first loyalty stamps that are selected for transfer to a second user
device are in a transferable state. In this embodiment, a slidable button may be used
that is moved from a first to a second position before the user input activates the
transmission of a transfer offer message to the server in order to set the offered
loyalty stamps into the transferable state.
[0021] In a further embodiment said method may further comprise: said first user device
executing computer readable program code for: generating one or more electronically
readable pick-up codes that can be picked-up by said second user device on the basis
of said one or more first loyalty stamp identifiers associated with said one or more
loyalty stamp that are selected for transfer. Hence, the loyalty stamp identifiers
may be used to generate electronically readable pick-up code, e.g. an QR code on the
display of the user device, a NFC message that can be transmitted to a second user
device that is in the vicinity of the first user device or an audio signal that can
be transmitted and recorded by to a second user device that is in the vicinity of
the first user device.
[0022] In another embodiment, said method may further comprise: a second user device, comprising
at least one processor, preferably a microprocessor, executing computer readable program
code for: detecting at least part of said one or more electronically readable pick-up
codes generated by said first user device; decoding said one or more electronically
readable pick-up codes into one or more second loyalty stamp identifiers; sending
said one or more second loyalty stamp identifiers and a second user identifier for
identifying said second user and/or second user device in at least one transfer acceptance
message to said server, wherein said transfer acceptance message may instruct said
user database to match said one or more second loyalty stamp identifiers with one
or more loyalty stamp identifiers in said user database that are in the transferable
state.
[0023] In an embodiment, said method may further comprise: receiving a notification message
from said server, said notification message notifying said first user device that
said one or more first loyalty stamps are transferred. In another embodiment, in response
to said notification message, said first user device may remove at least part of the
one or more loyalty stamp identifiers from said first memory.
[0024] In an embodiment said one or more loyalty stamps that are collected by said first
user are stored in a user account of said first user.
[0025] In another aspect, the invention may relate to a user device configured for enabling
the transfer of one or more digital loyalty stamps to another user device, wherein
said user devices are in communication with at least one server and a user database
configured for storing loyalty stamps that are collected by said user devices, a loyalty
stamp being associated with a loyalty stamp identifier, a digital image part and a
transfer indicator for indicating whether the loyalty stamp is in a transferable or
a non-transferable state, and wherein said user device may comprise a microprocessor
coupled to a touch-sensitive display, a communication module, and a computer-readable
first memory having computer readable program code embodied therewith, wherein responsive
to executing the computer readable program code.
[0026] In an embodiment, said microprocessor may be configured to perform executable operations
for: rendering a first (loyalty program) GUI on said touch-sensitive display, said
first GUI comprising a first touch-sensitive area for displaying one or more loyalty
stamps that are collected by said first user device, said one or more displayed loyalty
stamps being associated with one or more loyalty stamp identifiers that are stored
in said first memory; receiving a user input via said first touch-sensitive area for
selecting one or more first loyalty stamps for transfer to a second user device; in
response to said selection, rendering a second (transfer offer) GUI on said touch-sensitive
display, said second GUI comprising a second touch-sensitive area for displaying said
one or more first loyalty stamps that are selected for transfer and a third touch-sensitive
area; and, in response to receiving a user input via said third touch-sensitive area,
sending at least one transfer offer message comprising one or more first loyalty stamp
identifiers associated with said one or more first loyalty stamps and a first user
identifier for identifying said first user and/or first user device via said communication
module to said server, wherein said transfer offer message instructs said server to
set the state of said one or more first loyalty stamps of said first user that are
stored in said user database and identified in said transfer offer message to transferable.
[0027] In an embodiment, said user input received via said third touch-sensitive area may
comprise a user touching said third touch-sensitive area and wherein the one or more
loyalty stamps in said user database are kept in said transferable state as long as
said user keeps contact with said third touch-sensitive area.
[0028] In an embodiment, said executable operations may further comprise: in response to
said user releasing contact with said third touch-sensitive area, sending a transfer
stop message comprising the one or more first loyalty stamp identifiers to said server,
said transfer stop message instructing said server to set the state of the loyalty
stamps identified in said transfer stop message (back) to non-transferable.
[0029] In an embodiment, said third touch-sensitive area may be configured as a slidable
tranfer offer button, wherein said user input is activated when said button is slided
from a first (default) position to a second (target) position; preferably said second
(transfer offer) GUI rendering an indicator for showing the user that the one or more
first loyalty stamps that are selected for transfer to a second user device are in
a transferable state.
[0030] In an embodiment, said executable operations may further comprise: generating one
or more electronically readable pick-up codes that can be picked-up by said second
user device on the basis of said one or more first loyalty stamp identifiers associated
with said one or more loyalty stamp that are selected for transfer.
[0031] The invention may further relate to a computer program product comprising software
code portions configured for, when run in the memory of a computer, executing the
method steps as described above.
[0032] The invention will be further illustrated with reference to the attached drawings,
which schematically will show embodiments according to the invention. It will be understood
that the invention is not in any way restricted to these specific embodiments.
Brief description of the drawings
[0033]
Fig. 1 schematically depicts a digital loyalty program system according an embodiment of
the invention.
Fig. 2 depicts a flow diagram of a process for collecting loyalty stamps according to an
embodiment of the invention.
Fig. 3 depicts a data model for a digital loyalty program system according an embodiment
of the invention.
Fig. 4 schematically depicts part of a data model and a graphical user interface for a digital
loyalty program system according an embodiment of the invention.
Fig. 5A and 5B schematically depict the transfer of a loyalty stamp from one user to another user
according to an embodiment of the invention.
Fig. 6 schematically depicts a flow diagram of a process for the transfer of a loyalty stamp
from one user to another user according to an embodiment of the invention.
Fig. 7 schematically depicts the transfer of a loyalty stamp from one user to another user
according to another embodiment of the invention.
Fig. 8 schematically depicts a graphical user interface for transferring a loyalty stamp
to another user device according to an embodiment of the invention.
Fig. 9 schematically depicts an exemplary graphical user interface for accepting a loyalty
stamp from another user device according to an embodiment of the invention.
Fig. 10 depicts a schematic of a client or server system for use in a system according to
the invention.
Detailed description
[0034] Fig. 1 schematically depicts a digital loyalty program system according an embodiment of
the invention. The loyalty program system may comprise one or more servers
102 that are configured to execute a loyalty server application
104 (a server application). The server application may be configured to communicate with
one or more loyalty client applications
1061,2 (clients) that are installed on (mobile) user devices
1081,2. The system may be configured to publish and distribute loyalty stamps, e.g. a piece
of content representing a digital collectable, in particular a digital image part
representing pictures (e.g. players of a soccer team, celebrities, products, etc.)
that can be electronically distributed and published. As will be explained hereunder
in more detail, the server application and the client application may be configured
for collecting published loyalty stamps and for exchanging loyalty stamps between
clients. To that end, a loyalty stamp may be linked to one or more (unique) identifiers
(a loyalty stamp identifier). The process of collecting and transferring loyalty stamps
will be discussed hereunder in more detail. The digital image parts may be stored
in a content database
128 that is connected to the server hosting the server application. A predetermined set
of loyalty stamps may form a loyalty stamp collection, which may be linked to a certain
marketing campaign.
[0035] A client in a user device may be configured to collect published digital loyalty
stamps using for example a sensor input of the user device (e.g. a camera), to connect
to the server application and send a collected loyalty stamp to the server application.
The server application may store the collected stamps
140 as a set of loyalty stamp identifiers in a user database
120 that is connected to the server application. The loyalty stamp identifiers are linked
to the digital imaging parts in the content database. In an embodiment, the user database
and the content database may be part of a single (distributed) database platform.
The loyalty stamp that is collected by a user may be stored in a user account
138 of the user database. Collected stamps in a user account may be referred to as a
user collection. The user may collect the missing pieces
142 of a loyalty stamp collection until the user collection is complete.
[0036] The user collection may also be stored (in the form of loyalty stamp identifiers
and associated image parts) in the memory of the user device so that the client is
able to render a graphical user interface (GUI) for displaying and manipulating (part
of) the user collection, e.g. the collected digital image parts. The GUI may be further
configured for displaying the loyalty stamps that still need to be collected in order
to get a complete loyalty collection.
[0037] The loyalty program system may further comprise one or more loyalty stamp dispenser
modules
1181-3 that are configured for publication of collectable loyalty stamps directly via a
web application or for enabling third parties to publish collectable loyalty stamps.
A dispenser module may comprise an encoding function
1221-3 for encoding a loyalty stamp identifier associated with the loyalty stamp into an
electronically readable pick-up code
124. In an embodiment, an electronically readable pick-up code may be a graphically readable
pick-up code such as a QR code, a bar code, a logo, photo, fingerprint, etc. that
can be scanned by a suitable image sensor in the user device. In another embodiment,
the electronically readable pick-up code may be implemented as an audio signal that
may be picked up and sampled by a microphone in the user device. In yet another embodiment,
the electronically readable pick-up code may be implemented an radiofrequency (RF)
signal, e.g. a near field communication signal or an RFID signal, that can be picked-up
by a suitable receiver in the user device. The electronically readable pick-up code
may be picked-up by the user device and decoded into a loyalty stamp identifier.
[0038] In order to pick-up and decode an electronically readable pick-up code, the client
may configured to control sensor electronics (e.g. a digital camera, audio receiver
and/or an RF receiver) in the mobile user device. For example, the client may be configured
to control the camera for scanning the electronically readable pick-up code by e.g.
taking one or more samples (e.g. images or audio samples) of at least part of the
pick-up code. The client may comprise a digital signal-processing (DSP) module (e.g.
a QR code scanner module or an image and/or audio recognition module) and a decoding
function that is configured for decoding the pick-up code into (at least part of)
a loyalty stamp identifier or a reference (e.g. an URL or an IP address) to a loyalty
stamp identifier.
[0039] If the scanned pick-up code is decoded by the client into a loyalty stamp identifier,
the loyalty stamp identifier and a user ID associated with the client or user may
be sent to the loyalty application that may correlate the scanned loyalty stamp identifier
with a loyalty stamp in the user database. It may further associate the user ID with
a user account and store the scanned loyalty stamp identifier in the user account.
If needed, the server application may use the loyalty stamp identifier to look in
the content database for the digital image part that is linked to the loyalty stamp
identifier. The digital image part may be sent to the user device so that the client
may store the collected loyalty stamp, i.e. the image part and the loyalty stamp identifier,
in the memory so that the GUI may display the collected loyalty stamp to the user.
This way, a user may collect and add loyalty stamps to his or her collection (a user
collection). Once a user has collected all the loyalty stamps that belong to a certain
loyalty stamp collection, the user may exchange the set of loyalty stamps for a reward
or a discount.
[0040] A dispenser module may be a static dispenser that is configured to provide or publish
predetermined loyalty stamp identifiers (or associated pick-up codes) that may be
generated by a code server
110. A loyalty stamp identifier may be static in the sense that they are valid for a relatively
long period, e.g. during the entire marketing campaign. In an embodiment, the server
application may send (static) loyalty stamp identifiers to the dispenser modules,
which use the encoding function for transforming the identifier into an electronically
readable format, e.g. a graphically readable QR code, that can be picked-up by the
clients.
[0041] Dispenser modules may be part of an larger entity, e.g. a control system of an production
entity such as a production facility, a printing facility, a functional network e.g.
a multimedia platform or a content delivery network (CDN), or a software application
or platform, e.g. a web application that is hosted on a loyalty server. For example,
loyalty stamp identifiers (LS_IDs) and associated digital image parts may be provided
(e.g. electronically sent) to a controlling system of a production facility
1181 so that during the production pick-up codes and, in some embodiments, associated
digital image parts may be printed onto products
120 or printables
122 such as magazines or posters.
[0042] Similarly, loyalty stamp identifiers may be electronically sent to a multimedia platform
123, e.g. a broadcast system and/or streaming system
1182, which may transmit the loyalty stamp identifiers in an electronic signal
124, e.g. a television signal such as a broadcast or multicast signal, a media streaming
signal or an out-of-band signal to one or more media processing devices
1261. A media processing device may be for example relate to a digital television, an electronic
tables, a set-top box or a computer. The loyalty stamp identifiers may be embedded
as an optically readable code
128 (e.g. a QR code) or an audio signal
130 in the content that is sent to the media processing devices, so that during rendering
of the content the pick-up code is published, e.g. displayed to the user or exposed
to the user via an audio signal.
[0043] In another embodiment, the loyalty stamp identifier may be sent as metadata to the
media processing device, which may use an encoding function for encoding the identifier
into an electronically readable pick-up code so that it can be published to the user.
For example, an application in an HbbTV may use the encoding function for generating
a graphically readable pick-up code or an audio pick-up code. The graphically readable
pick-up code may be displayed as a graphical overlay over the displayed content of
the television or media-streaming signal.
[0044] In yet another embodiment, a reference to a pick-up code, e.g. an URL, an IP address
or an equivalent thereof, may be sent to the media-processing device. An application
in the media-processing device may present the pick-up code reference as a selectable
item to the user. The pick-up code reference may point to a location of a loyalty
server
1183 that may be accessible via a web-browser on a media-processing device
1262. The media device may display the graphically readable pick-up code and, optionally,
associated image parts to the user. Alternatively, the pick-up code may be presented
to the user as a wireless signal, e.g. a near field communication (NFC) signal or
a Bluetooth signal.
[0045] As loyalty stamp identifiers of a static dispenser module may be re-used during a
relatively long period of time they can be relatively easy copied (photographed) and
published on the Internet by an unauthorized user. Therefore, in another embodiment,
a dispenser module may (also) be configured as a dynamic dispenser module that is
dynamically generating loyalty stamp identifiers in time.
[0046] A dynamically generated loyalty stamp identifier is only valid for a short time period
so that it can only be published once or a few times. Hence, in that case, a loyalty
stamp may be linked to a set of loyalty stamp identifiers wherein each loyalty stamp
identifier is linked to time information, e.g. a certain time period in which the
loyalty stamp identifier is valid. The dispenser module will sequentially published
loyalty stamp identifiers in accordance with the time information, so that when a
loyalty stamp identifier is published (in the form of a electronically readable pick-up
code), a user has a limited time to collect a loyalty stamp. This way, the effects
of unauthorized copying and publication of loyalty stamps can be eliminated or at
least substantially reduced.
[0047] Fig. 2 depicts a flow diagram of a process for collecting loyalty stamps according to an
embodiment of the invention. The process may start with a user activating the client,
e.g. by activating a collection button of a GUI that is rendered by the client on
the screen of the user device. By activating the collection button, a sensor (e.g.
an image sensor or a RF sensor) may be trigger to detect (e.g. scan or pick-up) an
electronically readable pick-up code that is e.g. displayed on the television, printed
on a product or transmitted via an RF signal to the user device (step
202). Then the client may decode the pick-up code into a loyalty stamp identifier (step
204) and send the loyalty stamp identifier and a user ID associated with the client to
the server application (step
206), which may forward the identifiers to the user database. In an embodiment, other information
associated with the pick-up code may also be sent with the identifiers to the user
database. For example, in an embodiment, a timestamp associated with the scanning
or pick-up of the electronically readable pick-up code may be sent with the loyalty
stamp to the server application. Alternatively and/or in addition, location information,
e.g. the GPS location, of the client may be sent along with the loyalty stamp identifier
to the server application.
[0048] The user database may then identify the loyalty stamp identifier in order to determine
to which loyalty stamp collection it belongs to (step
208) and use the user ID to check whether the user has the right to collect the loyalty
stamp (step
210). For example, in certain embodiments, a user may only collect one copy of a predetermined
loyalty stamp. In another embodiment, the loyalty stamp may only be valid within a
certain time period. For example, if a dynamic dispenser publishes the collected loyalty
stamp, the stamp may only be collected within a predetermined time period. Hence,
when the client scans the loyalty stamp and decodes it into a loyalty stamp identifier,
it may generate a timestamp associated with the scanning of the loyalty stamp. The
time stamp may be used by the user database to determine whether the loyalty stamp
was collected in time.
[0049] The user database may notify the server application whether the user has the right
to collect the loyalty stamp (step
212). If it is determined that the user has the right to collect the loyalty stamp, the
server application may trigger the collection of the loyalty stamp (step
214) by instructing the user database to add the loyalty stamp to the user collection
(step
216,218). The user database may then notify the server application that the stamp was successfully
collected (step
220). In an embodiment, the notification message may comprise the loyalty stamp identifier
of the collected loyalty stamp. In another embodiment, the notification message may
further comprise the image part associated with the loyalty stamp identifier. Further,
the server application may forward the notification message (which may include the
loyalty stamp identifier and the image part of the collected loyalty stamp) to the
client (step
222). In response, the client may update the user collection that is stored in the memory
of the user device (step
224) and render an updated GUI displaying the loyalty stamps of the user collection, including
the newly collected loyalty stamp, to the user.
[0050] Fig.
3 depicts a data model for a digital loyalty program system according an embodiment
of the invention. The data model may represent a data format that may be used by the
user database for storing information that is needed to set-up and execute a loyalty
service by the loyalty program system as described in this application. The loyalty
program system, in particular the server application, may be configured to set-up
a service account
302 for a company or organization (e.g. a media company, a retail chain or an online
shop) that would like to use digital loyalty services. In an embodiment, a service
account may have one or more loyalty program projects
3041-3. Such project may e.g. relate to a television program that is produced by a media
company or a marketing campaign for a retail chain or a certain brand or product.
A loyalty program project may be linked to one or more loyalty stamp collections
3061-3. A loyalty stamp collection
3063 may define a predetermined set of different loyalty stamps (e.g. images of players
of a soccer team, digital bingo card, a digital scratch card, etc.) that belong together,
wherein each loyalty stamp may be identified by one or more loyalty stamp identifiers
316. A loyalty stamp identifier may be linked to digital part reference
317 that points to a digital image part that that is stored in a content database and
that may be used by the client to display collected digital loyalty stamps from the
user collection to the user.
[0051] A dispenser module may be linked to a project or a collection. In that case, a dispenser
may publish loyalty stamps (loyalty stamp identifiers and/or electronically readable
pick-up codes associated with such identifiers) on the basis of publication information
that may be stored in the loyalty project and/or loyalty collection data field. Publication
information for publishing loyalty stamps may include at least one of:
- A weight parameter associated with a loyalty stamp (a weight parameter may determine
whether a loyalty stamp is rare or not (e.g. a small weight parameter may be associated
with a rare loyalty stamp thereby instructing a dispenser module to published the
loyalty stamp at a low frequency);
- Allowance of the publication of a predetermined number of the same loyalty stamp;
- The time period in which a loyalty stamp may be validly collected (the collection
period).
[0052] For example, in case a loyalty stamp is linked to a plurality of loyalty stamp identifiers
(e.g. for use in a dynamic dispenser module), a loyalty stamp identifier may be linked
to a publication time, i.e. the time in which a loyalty stamp should be published
and a collection period
318, i.e. the time period after publication in which the published loyalty stamp can be
collected), the type of pick-up code 318 (e.g. QR code or the like) and/or the publication
frequency, i.e. the number of times in a time period that a loyalty stamp identifier
may be published by a dispenser module. In an embodiment, the publication information
for publishing loyalty stamps may dynamically modified by the server application on
the basis of the number of loyalty stamps that are collected by clients and/or transferred
between clients. This way, the collecting and/or transfer behavior of participants
of a loyalty program may be influenced.
[0053] A user may subscribe to one or more loyalty projects using an online subscription
procedure, which will create a new user account
308. A user account may be identified using a unique user ID, e.g. a telephone number,
a SIM card number, an IP number, chipset ID, or another suitable ID that may uniquely
link the account to the user device. Further, the user account may identify one or
more loyalty program projects in which the user is participating. After having obtained
a user account for a particular loyalty program project, a user may install a client
in one or more user devices. The connection information associated with mobile user
devices, e.g. an IP address, may be stored in an installation data field of the user
account. The connection information may be used to push notifications to a mobile
user device on which a client is installed.
[0054] Loyalty stamps (i.e. loyalty stamp identifiers and associated image parts) that are
collected by a user may be stored in the user account as user collections
3101-3. A user collection
3103 may comprise loyalty stamp identifiers
315 of loyalty stamps that are collected ("owned") by the user. Each loyalty stamp identifier
may comprise status information. In an embodiment, the status information may comprise
a transfer flag
312 for indicating the transfer status of a loyalty flag. For example, if the transfer
flag is set, the loyalty stamp associated with a loyalty stamp identifier or associated
with set of loyalty stamp identifiers may be transferred to another user that participates
in the same loyalty project.
[0055] As is shown in
Fig. 1 and
3, the loyalty program system may use dispensing modules that publish loyalty stamps
of the same project via different communication channels. In particular, it may allow
the publication of one part of the loyalty stamps of a loyalty collection via one
communication channel (e.g. television or the website) and another part via another,
different communication channel (e.g. magazine or product). This way, the loyalty
program may be compatible with a multi-channel marketing strategy. Furthermore, as
the dispenser modules may be dynamically controlled and adjusted on the basis of the
behavior of the clients, e.g. the number of loyalty stamps that are collected by users
(or a part thereof) of a loyalty project via publication via a particular dispenser,
the publication frequency of one or more of the dispenser modules may be adjusted,
etc. This way, users may be stimulated to access loyalty stamps one or more communication
channels. For example, the publication of loyalty stamps of a loyalty collection via
dispensing modules may be controlled such that in order to collect a complete collection,
a user has to access each of the communication channels that is used for publishing
the loyalty stamps.
[0056] Fig. 4 schematically depicts a user device comprising a client for collecting and transferring
loyalty stamps according to an embodiment of information. In particular,
Fig.
4 depicts a user device, e.g. a smart phone or an electronic table or the like, a memory
module
436, one or more sensors module
428, a (touch-sensitive) display module
426, a user interface module
432, a collection/transfer module
434 and a communication interface module
438 connected via a databus to a microprocessor
430. The microprocessor may run client software that is stored in the memory module for
controlling the processes that are executed by and between the different modules and
that enable collection of digital loyalty stamps and the transfer of loyalty stamps
to other user devices.
[0057] In particular, the collection/transfer module
434 may be configured to control collection of loyalty stamps by triggering a sensor
in the sensor module for scanning or pick-up an electronically readable pick-up code
422 and for decoding the pick-up code into a loyalty stamp identifier. Further, the communication
interface module may be used to access the server application in order to execute
a process for collecting and storing the loyalty stamp in the user account of the
user as e.g. described with reference to
Fig. 2.
[0058] After the collection process, the user collection
404 in the memory of the user device comprising the collected loyalty stamps (i.e. loyalty
stamp identifiers LS2, LS4, LS6-LS12 and their associated image parts) may be updated.
[0059] The user collection, including the loyalty stamp identifiers and their image parts,
may be used by the user interface (UI) module in order to render a GUI
410 on the screen of the user device. The UI module may render a GUI that allows intuitive
control and handling of a user collection. For example, in an embodiment, the GUI
may comprise a first graphical area
412 comprising the collected loyalty stamps
414 in a predetermined order. In an embodiment, the first graphical area may display
the collected loyalty stamps in a predetermined arrangement wherein each loyalty stamp
may be configured as a touch-screen selectable item. The image parts of the user collection
may be arranged such that it is clear which loyalty stamps
4161-3 still need to be collected in order to complete the collection. The GUI may be configured
to be touch-sensitive for selecting a loyalty stamp of the user selection. The graphical
user interface may further comprise a second graphical area that may be configured
as a collection and/or transfer button
420. The second graphical are configured such that a collection or a transfer may be confirmed
a decision by the user (e.g. the collection of a loyalty stamp or the transfer of
a loyalty stamp to another user). The interactions of a user with the GUIs rendered
by the loyalty program during the process of transferring a loyalty stamp from a first
to a second user device are described in more detail with reference to
Fig. 5, 6, 8 and
9. The loyalty program system may allow a user to collect loyalty stamps by receiving
a loyalty stamp from another user that participates in the loyalty program.
Fig. 5A and
5B schematically depict the transfer of a loyalty stamp from a first user device
502 to another second user device
504 according to an embodiment of the invention.
[0060] Fig. 5A(i) depicts a first phase of the transfer process wherein the first user desires to transfer
a loyalty stamp
510 from the first user collection
506 to the second user collection of the second user (e.g. because the selectable loyalty
stamp in the first user collection is missing in the second user collection). In that
case, the first user may instruct the first user device
502, in particular the first client in the first user device, to render a loyalty program
GUI
504 for selecting the loyalty stamp
510 from the first user collection
506 for transfer. For example, the first client may render a loyalty program GUI
504 on the screen comprising a first graphical area
506 depicting the selectable loyalty stamps in the first user collection, including the
selectable loyalty stamp
510 that needs to be transferred. The second client in the second user device may render
a loyalty program GUI
512 depicting the second user collection, including the loyalty stamp
516 that is missing.
[0061] Fig. 5A(ii) depicts a second phase of the transfer process wherein, in response to the selection
of the loyalty stamp that needs to be transferred (e.g. by touching the area displaying
the selectable loyalty stamp in the loyalty program GUI), the client may render a
transfer offer GUI
518 for offering the transfer of at least one selected loyalty stamp to another user
device. In an embodiment, the transfer offer GUI may comprise a transfer offer button
522 which may activate the offer of a transfer of the selected loyalty stamp. When activating
the transfer offer button
522, the first client may be triggered to encode the first loyalty stamp identifier of
the selected loyalty stamp into an electronically readable pick-up code
520 (e.g. a QR code, an RF signal such as an NFC or Bluetooth signal). In case of a graphically
readable pick-up code, the transfer offer GUI may render the code
520 on the screen of the first mobile user device.
[0062] Upon activation of the transfer offer button, the client may send a transfer offer
message comprising the first loyalty stamp identifier and a first user ID to the server
application in order to inform the server application that the first user wants to
offer the selected loyalty stamp for transfer (the communication between the clients
and the server application is described in more detail with reference to
Fig. 6). To that end, the server application may instruct the user database to set the transfer
flag associated with the selected loyalty stamp in the first user account (e.g. from
"0" to "1"). For example, setting the transfer flag from "0" to "1" may be interpreted
by the server application that the loyalty stamp is in the transfer state (i.e. a
state wherein the loyalty stamp may be transferred). The user database may keep a
list of transferable loyalty stamps (i.e. loyalty stamps identified by a loyalty stamp
identifier and a transfer flag indicating that the loyalty stamp is in the transfer
state) in a cache memory.
[0063] In an embodiment, the selected loyalty stamp may be held in the transfer state as
long as the first user presses and/or holds down the transfer offer button
522 of the transfer offer GUI of the first user device. If the first user prematurely
releases the transfer offer button
522, the client may send a notification (comprising the loyalty stamp identifier and the
user ID) to the server application for setting the transfer flag of the loyalty stamp
back to the non-transfer state. In that case, the server application may instruct
the user database to set the transfer flag from "1" to "0". Further, the server application
may instruct removal of the loyalty stamp from the list in the cache memory. Hence,
in that case acceptance of the transfer offer is no longer possible.
[0064] If the second user would like to accept the offer of the first user, the second client
of a second mobile user device
504 may activate the second client to render a transfer acceptance GUI
524 for accepting a transfer offer of a loyalty stamp from another user device. The transfer
acceptance GUI may comprise a transfer acceptance button
526. Pressing and/holding down the transfer acceptance button
526 may scan the electronically readable pick-up code and decode the pick-up code in
to a second loyalty stamp identifier. For example, in
Fig. 5A and
5B, the second client may scan the QR code
520 displayed by the first mobile user device and decode the scanned QR code into a second
loyalty stamp identifier. In an embodiment, the transfer acceptance GUI may comprise
a display area
528 for displaying the scanned QR code.
[0065] The second client may send a transfer accept message comprising the second loyalty
stamp identifier and a second user ID to the server application. When receiving the
second loyalty stamp identifier, the server application (or the user database) may
look in the list of transferable loyalty stamps for a loyalty stamp identifier that
matches the second loyalty stamp identifier. When a match is found, the server application
may transfer the loyalty stamp from the first user collection to the second user collection.
[0066] In case the first user has released the transfer offer button before the second user
pressed the transfer acceptance button, no transfer will take place. In that case,
the server application will determine that the loyalty stamp is in the non-transfer
state (transfer flag is "0"). In that case, the second user may receive a message
that the requested loyalty stamp is not available for transfer.
[0067] Transferring the loyalty stamp may include: removing the loyalty stamp entry of the
transferred loyalty stamp from the first user collection in the user database; adding
the loyalty stamp entry of the transferred loyalty stamp to the second user collection
in the user database; setting the loyalty stamp in the non-transfer state (e.g. by
setting the transfer flag to "0").
[0068] Fig. 5A(iii) depicts a third phase of the transfer process wherein the server application has
notified the clients that the transfer has been successfully completed. After the
transfer, the GUIs of the first and second user device may be switched back to the
loyalty program GUI
528, 536. The notification message of the server application that is sent to the first client
may trigger the first client to update the loyalty program GUI showing that the transferred
loyalty stamp
534 has been removed from the first user collection
532. The notification message of the server application that is sent to the second client
may comprise the image part of the transferred loyalty stamp so that the second client
may render an updated loyalty program GUI
540 showing that the transferred loyalty stamp
542 has been added to the second user collection.
[0069] Fig. 5B depicts an exemplary graphical user interface of clients during the process of transferring
a loyalty stamp from a first mobile user device
502 to a second mobile user device
504. In this particular example, the first client renders a transfer offer GUI on the
screen of the first user device
520 comprising an image of a graphically readable pick-up code
508 of the loyalty sample that is selected for transfer and the second clients renders
a transfer acceptance GUI on the screen comprising an image of the scanned graphically
readable pick-up code that is displayed by the first user device. During the transfer
first and second user may activate a transfer button offer button and a transfer acceptance
button respectively in order to control the transfer.
[0070] Although the examples in
Fig. 5A and
5B illustrate the transfer of one loyalty stamp on the basis of a graphical QR pick-up
code, it is submitted that the same scheme may be easily expanded to a scheme wherein
more than one loyalty stamp may be transferred in one go on the basis of different
pick-up code. For example, multiple loyalty stamps may be selected for transfer, multiple
electronically readable pick-up codes in the form of NFC messages may be generated
for pick-up by a second user device.
[0071] The process of transferring a loyalty stamp on the basis of the transfer offer and
transfer acceptance GUIs provide a simple and intuitive way of executing the transfer
of a loyalty stamp. This way, participants to a loyalty project may transfer a loyalty
stamp thereby allowing interaction between the participants.
[0072] Fig. 6 schematically depicts a flow diagram of a process for the transfer of a loyalty stamp
from a first user device to a second user device according to an embodiment of the
invention. In particular,
Fig. 6 depicts an exemplary flow diagram of the communication between the clients and the
server application and the user database during the transfer of a loyalty stamp. The
process may start with a first user of a first (mobile) user device selecting a loyalty
stamp for transfer to another second mobile user device. The first user may interact
with a GUI that is rendered on a touch-sensitive screen for selecting a loyalty stamp
from the user collection that is displayed to the user (step
602). The loyalty stamps of the user collection that are displayed on the screen may
have corresponding loyalty stamp identifiers that are stored in the memory of the
user device. After selecting a loyalty stamp from the user collection, the client
may render a transfer offer GUI comprising a transfer offer button for activating
the transfer process. When activating the transfer offer button (step
604), the first client may send the first loyalty stamp identifier and the first user ID
associated with the first client in a transfer offer message (step
606) to the server application, which may forward the identifiers to the user database.
[0073] The user database may determine the user account on the basis of the first user ID
and uses the first loyalty stamp identifier in order to identify a corresponding loyalty
stamp in a user collection of the identified user account (step
608). When the loyalty stamp in the user account is successfully identified, the status
of the loyalty stamp in the user collection may be set to the transfer state (step
610). In an embodiment, the status of the loyalty stamp remains in the transfer state
as long as the first user keeps the transfer offer button of the transfer offer GUI
activated.
[0074] At the client side, the client may generate an electronically selectable pick-up
code of the selected loyalty stamp identifier (step
612). In an embodiment, the rendered transfer offer GUI may display the pick-up code to
the user indicating that the loyalty stamp that is offered for transfer may be accepted
by the second user. The second user may activate the second client in the second user
device render a transfer acceptance GUI comprising a transfer acceptance button. When
activating the transfer acceptance button, a sensor (e.g. an image sensor or an RF
or audio receiver) in the second user device may be activated to detect the pick-up
code (step
614) and to decode the pick-up code in a second loyalty stamp identifier (step
616). The client may send the second loyalty stamp identifier and a second user ID associated
with the second client in a transfer accept message to the server application, which
may forward the identifiers to the user database (step
618). The user database may be configured to maintain a list of transferable loyalty stamps
(i.e. loyalty stamps that are in the transfer state) in a cache memory. The user database
may look in the list of transferable loyalty stamps for a loyalty stamp that matches
the second loyalty stamp identifier (step
620). When a match is found, the database may use the second user ID to identify the second
user account and to add the loyalty stamp identifier to the second user collection
(step
622). Further, the user database may remove the loyalty stamp identifier from the first
user collection (step
624) in order to complete the transfer.
[0075] As already described with reference to
Fig.
5, in case the first user releases the transfer offer button before the second user
activates the transfer acceptance button, the first client may instruct the server
application to set the loyalty stamp into the non-transfer state (i.e. a state in
which the loyalty stamp cannot be transferred). Hence, in that case the server application
may determine that the loyalty stamp associated with the second loyalty stamp identifier
is not available for transfer.
[0076] After updating the user collections in the user database, the server application
may send a message to the first client to notify that the transfer was successful
(step
626). In response, the first client may render an updated loyalty stamp GUI showing that
the selected stamp is removed from the first user collection (step
628). Similarly, the server application may send a message to the second client notifying
that the transfer was successful (step
630) and in response the client may render an updated loyalty stamp GUI which displays
the loyalty stamps of the second user collection, including the loyalty stamp that
has been transferred to the second user collection (step
632). Hence, the system allows a user to collect loyalty stamps by transfer of a stamp
from a first user to a second user. This way, interaction between the users that participate
in the same loyalty program may be enhanced.
[0077] It is submitted that the sequence of messages in the flow diagram of
Fig. 6 may be altered without changing the advantageous effects of the invention. Further,
other information associated with the pick-up code may be sent with the identifiers
(the loyalty stamp identifier and user ID) to the user database. For example, in an
embodiment, a timestamp associated with the scanning or pick-up of the electronically
readable pick-up code may be sent with the loyalty stamp to the server application.
Alternatively and/or in addition, location information, e.g. the GPS location, of
the client may be sent along with the loyalty stamp identifier to the server application.
[0078] Fig. 7 schematically depicts the transfer of a loyalty stamp from one user to another user
according to another embodiment of the invention. In this particular embodiment, first
and second user devices
704, 706 comprising first and second clients respectively are in communication with a server
application
702 and a user database
708 in a similar way as described with reference to
Fig. 6. In this case however, the user devices may be configured to set-up a local communication
connection between the two devices using e.g. Bluetooth, NFC or WiFi. In that case,
instead of using an electronically readable pick-up code, the loyalty stamp identifier
may be sent from the first to the second user device over the local communication
connection
710 between the two devices. Hence, in this embodiment there is no need for a scan of
a graphically and/or audio pick-up code, when transferring a loyalty sample from a
first to a second user device.
[0079] Fig. 8 schematically depicts the process of a user interacting with an exemplary graphical
user interface (GUI) for transferring a loyalty stamp to another user device according
to an embodiment of the invention. The GUIs may be rendered by the user interaction
module on a touch-sensitive screen of a user device. Graphical areas may define touch-sensitive
areas that are associated with a certain function that executed when the user interacts
with those areas in a predetermined way. In an embodiment, the user interaction module
in the user device may render a loyalty program GUI
802 comprising a first area displaying the user collection of the user comprising collected
loyalty stamps
810 and loyalty stamps (in this case blank spaces) that are still missing
812 (that still need to be collected). The loyalty program GUI may further comprise a
button
808 that may be activated by the user.
[0080] In an embodiment, the button is a slidable button and may be used for collecting
a loyalty stamp that is published by a dispenser (as e.g. described with reference
to
Fig. 2) or for accepting a transfer offer from another user (as e.g. described with reference
to
Fig. 6). In that case, the button may be configured as a slidable button that has a first
default position and that may be activated by touching the button and sliding the
button downwards (i.e. towards the user) to a second position. The downwards movement
towards the user may provide a user experience of physically accepting the loyalty
stamp that is collected or that is accepted from another user.
[0081] In an embodiment, the button is a slidable button and may be used for offering a
loyalty stamp to another user (as e.g. described with reference to
Fig. 6). In that case, the button may be configured as configured as a slidable button that
has a first default position and that may be activated by touching the button and
sliding the button upwards (i.e. away from the user) to a second position. The upwards
moment away from the user may provide a user experience of physically offering the
loyalty stamp to another user.
[0082] The button may comprise an indication for the sliding direction (e.g. an arrow or
the like) towards the second position. Further, when releasing the button, the button
may automatically move back towards the first default position. Hence, in order to
keep the button activated in the second position, the user has to keep the button
in the second position.
[0083] The loyalty stamp GUI
802 in
Fig. 8 may allow a user to select a loyalty stamp
810 from the displayed loyalty stamps of the user collection. Selection may be realized
by touching the area in which the loyalty stamp that needs to be transferred is displayed.
In response to the selection, the client may be triggered to render a transfer offer
GUI
804 comprising a first graphical area
820 displaying the selected loyalty stamp. The first graphical area
820 may be part of an image carousel comprising the loyalty stamps. A sliding movement
over the first graphical area may allow a user to browse through the loyalty stamps.
Further information may be displayed along with the displayed loyalty stamp in the
first graphical area in order to navigate through the user collection. For example,
a small schematic representation of the loyalty stamp collection may indicate: the
loyalty stamp that is currently displayed
814, the one or more loyalty stamps
816 that are collected (the user collection) and the loyalty stamps that are still missing
from the user collection.
[0084] When the first graphical area depicts the loyalty stamp that the user wants to transfer,
the user may activate the slidable button
822 by sliding it (in the direction of the indicator) from the first default position
to a second position. Keeping the slidable button in the second position, will trigger
the client to decode the loyalty stamp identifier associated with the selected loyalty
stamp into an electronically readable pick-up code.
[0085] In certain embodiments, the client may render the electronically readable pick-up
code on screen. For example, if the electronically readable pick-up code is a graphical
code, e.g. a barcode, a QR code, a symbol and/or predetermined picture, it may be
displayed in the first graphical area
824. The client may also instruct the server application to set the selected loyalty stamp
into the transfer state. In an embodiment, the GUI may comprise an indicator that
may inform the user that the loyalty stamp is transferable. In an embodiment, the
indicator may be integrated or associated with the button
826. In an embodiment, the color and/or shape of the button may change when the loyalty
stamp is set in the transferable state.
[0086] Fig. 9 schematically depicts the process of a user interacting with an exemplary graphical
user interface for accepting a loyalty stamp from another user device according to
an embodiment of the invention. In this figure, the user interaction module in the
user device may render a loyalty program GUI comprising a first area displaying the
user collection of the user comprising collected loyalty stamps
910 and loyalty stamps (in this case blank spaces) that are still missing
912 (that still need to be collected) in a similar way as described with reference to
Fig. 8.
[0087] Now, instead of a loyalty stamp, the user may select a "missing" loyalty stamp
912 (in this case an empty space). In response to the selection, the client may be triggered
to render a first transfer acceptance GUI
904 comprising a first graphical area
920 displaying a first graphical area and a slidable button
918. Upon selecting the missing loyalty stamp, the client may render a transfer acceptance
GUI
904 comprising a first graphical area and a slidable (transfer acceptance) button
918. The slidable button may configured to be moved from a first (default) position to
a second (target) position. Once the button is in the second position, the client
may be triggered to detect an electronically readable pick-up code. In an embodiment,
the transfer acceptance button may be moved downwards (i.e. towards the user) thereby
providing the user the experience of physically "accepting" the loyalty stamp that
is collected or that is accepted from another user.
[0088] In case a loyalty stamp is rendered as graphically readable pick-up code on the screen
of a first user device (e.g. as a graphical code, e.g. a barcode, a QR code, a symbol
and/or predetermined picture), moving the button into the second position may activate
an image sensor in the second user device. Images that are captured by the image sensor
may be displayed in the first graphical area
920 of the GUI
906. If the image sensor captures the graphically readable pick-up code of the first user
device (e.g. part of the GUI
806 of
Fig. 8), it may process the captured image and decode the pick-up code into a loyalty program
identifier that may be sent to the server for a match with loyalty stamps in the user
database that are in the transfer state. The GUI may comprise an indicator for signaling
to the user that the pick-up code is successfully decoded into a loyalty stamp identifier.
In an embodiment, the indicator may be integrated or associated with the button
826. In an embodiment, the color and/or shape of the button may change when the pick-up
code is successfully decoded into a loyalty stamp identifier.
[0089] Fig. 10 is a block diagram illustrating an exemplary data processing system that may be used
in as described in this disclosure. Data processing system
1000 may include at least one processor
1002 coupled to memory elements
1004 through a system bus
806. As such, the data processing system may store program code within memory elements
1004. Further, processor
1002 may execute the program code accessed from memory elements
1004 via system bus
1006. In one aspect, data processing system may be implemented as a computer that is suitable
for storing and/or executing program code. It should be appreciated, however, that
data processing system
1000 may be implemented in the form of any system including a processor and memory that
is capable of performing the functions described within this specification.
[0090] Memory elements
1004 may include one or more physical memory devices such as, for example, local memory
1008 and one or more bulk storage devices
1010. Local memory may refer to random access memory or other non-persistent memory device(s)
generally used during actual execution of the program code. A bulk storage device
may be implemented as a hard drive or other persistent data storage device. The processing
system 1000 may also include one or more cache memories (not shown) that provide temporary
storage of at least some program code in order to reduce the number of times program
code must be retrieved from bulk storage device
1010 during execution.
[0091] Input/output (I/O) devices depicted as input device
1012 and output device
1014 optionally can be coupled to the data processing system. Examples of input device
may include, but are not limited to, for example, a keyboard, a pointing device such
as a mouse, or the like. Examples of output device may include, but are not limited
to, for example, a monitor or display, speakers, or the like. Input device and/or
output device may be coupled to data processing system either directly or through
intervening I/O controllers. A network adapter
1016 may also be coupled to data processing system to enable it to become coupled to other
systems, computer systems, remote network devices, and/or remote storage devices through
intervening private or public networks. The network adapter may comprise a data receiver
for receiving data that is transmitted by said systems, devices and/or networks to
said data and a data transmitter for transmitting data to said systems, devices and/or
networks. Modems, cable modems, and Ethernet cards are examples of different types
of network adapter that may be used with data processing system.
[0092] As pictured in
FIG. 10, memory elements
1004 may store an application
1018. It should be appreciated that data processing system
1000 may further execute an operating system (not shown) that can facilitate execution
of the application. Application, being implemented in the form of executable program
code, can be executed by data processing system
1000, e.g., by processor
1002. Responsive to executing application, data processing system may be configured to
perform one or more operations to be described herein in further detail.
[0093] In one aspect, for example, data processing system
1000 may represent a client data processing system. In that case, application
1018 may represent a client application that, when executed, configures data processing
system
1000 to perform the various functions described herein with reference to a "client". Examples
of a client can include, but are not limited to, a personal computer, a portable computer,
a mobile phone, or the like.
[0094] In another aspect, data processing system may represent a server. For example, data
processing system may represent an (HTTP) server in which case application
1018, when executed, may configure data processing system to perform (HTTP) server operations.
In another aspect, data processing system may represent a module, unit or function
as referred to in this specification.
[0095] The terminology used herein is for the purpose of describing particular embodiments
only and is not intended to be limiting of the invention. As used herein, the singular
forms "a," "an," and "the" are intended to include the plural forms as well, unless
the context clearly indicates otherwise. It will be further understood that the terms
"comprises" and/or "comprising," when used in this specification, specify the presence
of stated features, integers, steps, operations, elements, and/or components, but
do not preclude the presence or addition of one or more other features, integers,
steps, operations, elements, components, and/or groups thereof.
[0096] The corresponding structures, materials, acts, and equivalents of all means or step
plus function elements in the claims below are intended to include any structure,
material, or act for performing the function in combination with other claimed elements
as specifically claimed. The description of the present invention has been presented
for purposes of illustration and description, but is not intended to be exhaustive
or limited to the invention in the form disclosed. Many modifications and variations
will be apparent to those of ordinary skill in the art without departing from the
scope and spirit of the invention. The embodiment was chosen and described in order
to best explain the principles of the invention and the practical application, and
to enable others of ordinary skill in the art to understand the invention for various
embodiments with various modifications as are suited to the particular use contemplated.