U.S. patent application number 12/714259 was filed with the patent office on 2010-06-17 for printing dynamic image content on receipts.
Invention is credited to Roberto C. Aguilar, Bradley G. Bennett, Nicholas Matthew Bolton, Jay Ferro.
Application Number | 20100153225 12/714259 |
Document ID | / |
Family ID | 42241671 |
Filed Date | 2010-06-17 |
United States Patent
Application |
20100153225 |
Kind Code |
A1 |
Ferro; Jay ; et al. |
June 17, 2010 |
Printing Dynamic Image Content on Receipts
Abstract
A method, apparatus, and computer readable storage medium for
printing a receipt. Receipt data may be generated at a
point-of-sale terminal. At least one value adding message including
a graphical image may be automatically selected and dynamic content
for the value adding message may be automatically generated. A
receipt may be printed by a point-of-sale printer, the receipt
including the receipt data, the graphical image, and the dynamic
content, wherein the dynamic content is printed in a window
embedded within the graphic image.
Inventors: |
Ferro; Jay; (Goleta, CA)
; Bennett; Bradley G.; (Santa Barbara, CA) ;
Aguilar; Roberto C.; (Goleta, CA) ; Bolton; Nicholas
Matthew; (Goleta, CA) |
Correspondence
Address: |
SoCAL IP LAW GROUP LLP
310 N. WESTLAKE BLVD. STE 120
WESTLAKE VILLAGE
CA
91362
US
|
Family ID: |
42241671 |
Appl. No.: |
12/714259 |
Filed: |
February 26, 2010 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
11690912 |
Mar 26, 2007 |
|
|
|
12714259 |
|
|
|
|
60767408 |
Mar 26, 2006 |
|
|
|
Current U.S.
Class: |
705/24 ;
235/3 |
Current CPC
Class: |
H04N 1/41 20130101; G06Q
20/209 20130101; G06K 15/1868 20130101; G07G 5/00 20130101; G07G
1/0009 20130101; B42D 15/0053 20130101; G06K 15/1852 20130101; G07F
17/42 20130101 |
Class at
Publication: |
705/24 ;
235/3 |
International
Class: |
G06Q 30/00 20060101
G06Q030/00; G07G 1/00 20060101 G07G001/00 |
Claims
1. A method for printing a receipt, comprising: generating receipt
data at a point-of-sale terminal automatically selecting at least
one value adding message, the value adding message comprising a
graphical image automatically generating dynamic content for the
value adding message printing a receipt by a point-of-sale printer,
the receipt including the receipt data, the graphical image, and
the dynamic content, wherein the dynamic content is printed in a
window embedded within the graphic image.
2. The method of claim 1, wherein automatically selecting at least
one value adding message comprises selecting the value adding
message based, at least in part, on the receipt data.
3. The method of claim 1, wherein automatically generating dynamic
content comprises generating dynamic content based, at least in
part, on the receipt data.
4. The method of claim 3, wherein the dynamic content includes a
date derived from a transaction date included in the receipt
data.
5. The method of claim 3, wherein the dynamic content includes an
item description included in the receipt data.
6. The method of claim 3, wherein the receipt data is generated to
document a transaction the dynamic content includes at least one of
a store location, a register number, an employee identifier, and a
receipt number associated with the transaction.
7. The method of claim 1, wherein printing the receipt further
comprises: printing one or more horizontal bands containing
full-width portions of the graphical image printing one or more
horizontal bands containing dynamic content and one or more
partial-width portions of the graphical image.
8. The method of claim 7, further comprising: retrieving full-width
portions of the graphic image from respective image data files
stored in a memory within the point-of-sale printer.
9. The method of claim 7, wherein printing a horizontal band
containing dynamic content and one or more partial-width portions
of the graphical image further comprises: a) extracting
corresponding lines for each partial-width portion of the graphic
image and the dynamic content b) concatenating the extracted
corresponding lines to form a complete print line c) printing the
complete print line proximate to a previously printed line d)
repeating a) thru c) for each successive line of the horizontal
band.
10. The method of claim 9, wherein actions a) and b) are performed
at the point-of-sale terminal and printing a horizontal band
containing dynamic content and one or more partial-width portions
of the graphical image further comprises: retrieving partial-width
portions of the graphic image from respective image data files
stored in a memory within the point-of-sale terminal.
11. A receipt synthesizer, comprising: a processor a memory coupled
to the processor, the memory storing instructions which, when
executed, cause the receipt synthesizer to perform actions
comprising: receiving receipt data from a point-of-sale terminal
automatically selecting at least one value adding message, the
value adding message comprising a graphical image automatically
generating dynamic content for the value adding message generating
print data to cause a point-of-sale printer to print a receipt, the
receipt including the receipt data, the graphical image, and the
dynamic content, wherein the dynamic content is printed in a window
embedded within the graphic image.
12. The receipt synthesizer of claim 11, wherein automatically
selecting at least one value adding message comprises selecting the
value adding message based, at least in part, on the receipt
data.
13. The receipt synthesizer of claim 11, wherein automatically
generating dynamic content comprises generating dynamic content
based, at least in part, on the receipt data.
14. The receipt synthesizer of claim 13, wherein the dynamic
content includes a date derived from a transaction date included in
the receipt data.
15. The receipt synthesizer of claim 13, wherein the dynamic
content includes an item description included in the receipt
data.
16. The receipt synthesizer of claim 13, wherein the receipt data
is generated to document a transaction the dynamic content includes
at least one of a store location, a register number, an employee
identifier, and a receipt number associated with the
transaction.
17. The receipt synthesizer of claim 11, wherein generating print
data further comprises: printing one or more horizontal bands
containing full-width portions of the graphical image printing one
or more horizontal bands containing dynamic content and one or more
partial-width portions of the graphical image.
18. The receipt synthesizer of claim 17, that actions performed
further comprising: retrieving full-width portions of the graphical
image from respective image data files stored in a memory within
the point-of-sale printer.
19. The receipt synthesizer of claim 17, wherein generating print
data corresponding to a horizontal band containing dynamic content
and one or more partial-width portions of the graphical image: a)
extracting corresponding lines for each partial-width portion of
the graphical image and the dynamic content b) concatenating the
extracted corresponding lines to form a complete line of print data
c) repeating a) and b) for each successive line of the horizontal
band.
20. The receipt synthesizer of claim 19, wherein the actions
performed further comprise: retrieving partial-width portions of
the graphic image from respective image data files stored in a
memory within the point-of-sale terminal.
21. A computer-readable storage medium storing instructions which,
when executed, cause a point-of-sale system to perform actions
comprising: generating receipt data at a point-of-sale terminal
automatically selecting at least one value adding message, the
value adding message comprising a graphical image automatically
generating dynamic content for the value adding message printing a
receipt at point-of-sale printer, the receipt including the receipt
data, the graphical image, and the dynamic content, wherein the
dynamic content is printed in a window embedded within the graphic
image.
22. The computer-readable storage medium of claim 21, wherein
automatically selecting at least one value adding message comprises
selecting the value adding message based, at least in part, on the
receipt data.
23. The computer-readable storage medium of claim 21, wherein
automatically generating dynamic content comprises generating
dynamic content based, at least in part, on the receipt data.
24. The computer-readable storage medium of claim 23, wherein the
dynamic content includes a date derived from a transaction date
included in the receipt data.
25. The computer-readable storage medium of claim 23, wherein the
dynamic content includes an item description included in the
receipt data.
26. The computer-readable storage medium of claim 23, wherein the
receipt data is generated to document a transaction the dynamic
content includes at least one of a store location, a register
number, an employee identifier, and a receipt number associated
with the transaction.
27. The computer-readable storage medium of claim 21, wherein
printing the receipt further comprises: printing one or more
horizontal bands containing full-width portions of the graphical
image printing one or more horizontal bands containing dynamic
content and one or more partial-width portions of the graphical
image.
28. The computer-readable storage medium of claim 27, further
comprising: retrieving full-width portions of the graphic image
from respective image data files stored in a memory within the
point-of-sale printer.
29. The computer-readable storage medium of claim 27, wherein
printing a horizontal band containing dynamic content and one or
more partial-width portions of the graphical image further
comprises: a) extracting corresponding lines for each partial-width
portion of the graphic image and the dynamic content b)
concatenating the extracted corresponding lines to form a complete
print line c) printing the complete print line proximate to a
previously printed line d) repeating a) thru c) for each successive
line of the horizontal band.
30. The computer-readable storage medium of claim 29, wherein
actions a) and b) are performed at the point-of-sale terminal and
printing a horizontal band containing dynamic content and one or
more partial-width portions of the graphical image further
comprises: retrieving partial-width portions of the graphic image
from respective image data files stored in a memory within the
point-of-sale terminal.
Description
RELATED APPLICATION INFORMATION
[0001] This patent is a continuation in part of prior-filed
copending non-provisional patent application Ser. No. 11/690,912,
filed Mar. 26, 2007, titled POS Receipt Bearing Real-Time
Time/Geographic Advertisement, which in turn claimed benefit under
35 USC 119(e) of provisional patent Application No. 60/767,408,
filed Mar. 26, 2006.
NOTICE OF COPYRIGHTS AND TRADE DRESS
[0002] A portion of the disclosure of this patent document contains
material which is subject to copyright protection. This patent
document may show and/or describe matter which is or may become
trade dress of the owner. The copyright and trade dress owner has
no objection to the facsimile reproduction by anyone of the patent
disclosure as it appears in the Patent and Trademark Office patent
files or records, but otherwise reserves all copyright and trade
dress rights whatsoever.
BACKGROUND
[0003] 1. Field
[0004] This disclosure relates to point-of-sale (POS) systems and
specifically to printing value adding messages with dynamic content
on POS receipts.
[0005] 2. Description of the Related Art
[0006] POS systems commonly print receipts to provide each customer
with a record of a purchase or other commercial transaction. Each
receipt may include receipt data such as the name and location of
the vendor or store; identification, quantity, and price of each
item purchased; identification of a total amount paid and a method
of payment; and, in some cases, information identifying the
customer and/or a sales associate or another vendor employee. POS
systems may also print additional information in addition to
receipt data on each receipt. The additional information may be
intended to add value to the customer's experience. The additional
information may include advertisements, coupons, game tokens,
invitations, and other information, all of which will be referred
to herein as "value adding messages" (VAMs).
[0007] Current VAMs are commonly either only text messages or only
graphical images. Text messages are typically stored and
transmitted as strings of symbols. The possible symbols include
alphanumeric characters and special symbols, and may include simple
graphics elements such line segments and corners. Each symbol in a
string is represented by a code which may be, for example, 8 bits
in length. The symbol codes may be, or may be adapted from, the
ASCII (American Standard Code for Information Interchange) code.
Symbols strings may include control characters and sequences of
characters to control printing functions such as starting a new
line and selecting a character font. To print a text message, the
corresponding symbol string is transmitted to a printer, where each
symbol is converted into an array of picture elements or dots for
printing. Each symbol code may be converted to 100 or more picture
elements.
[0008] In this patent, the term "graphical image" includes any
printable image that cannot be conveyed or represented as a symbol
string. Examples of graphical images include photographs, line
drawings, logos, and unusual text (i.e. text where adjacent letters
overlap) that cannot be represented as a string of characters.
Graphical images are typically organized as two-dimensional arrays
of picture elements. Graphical images are stored and transmitted as
image data files which contain at least some data for each picture
element. Uncompressed image data files, such as bitmap (BMP) data
files, include a predetermined number of bits corresponding to each
picture element. A simple graphical image without color or gray
tones may be stored in an uncompressed image data file with one bit
per picture element. A high quality color photographic image may
require 24 or more bits per picture element. Image data files may
be compressed to reduce the amount of data required to convey a
graphical image. Examples of compressed image data file formats
include JPG (Joint Photographic Experts Group), EXF (exchangeable
image file), TIF (tagged image file), PNG (portable network
graphics), and GIF (graphic interchange format).
[0009] Text messages may be composed, at least in part, within POS
systems. Graphical images may be stored as image data files within
a POS terminal or POS printer and are typically printed on the
receipt without dynamic content. Within this document, the term
"dynamic content" means content that depends, at least in part,
upon information that is not known until a transaction occurs and
thus cannot be predetermined. The dynamic content may depend, for
example, on the items purchased, the customer identity, the
customer service representative, and/or the day, time of day, or
date of the transaction.
[0010] The process of printing to a POS printer may be different
from printing to a standard PC-based computer printer. Each printer
manufacturer may define a specific protocol for their printers.
Most part POS printer manufacturers support a basic level of "Epson
emulation" by supporting a subset of the ESC-POS specification
created by Epson. Graphical images are printed to the printer
either by streaming bit data to the printer, or by referencing a
graphical data file previously stored in the printer's non-volatile
memory. Graphical images recalled from memory typically have to be
printed at the full width of the printer.
DESCRIPTION OF THE DRAWINGS
[0011] FIG. 1A is a view of an exemplary graphical value adding
message (VAM) with dynamic content.
[0012] FIG. 1B is a view of another exemplary graphical VAM with
dynamic content.
[0013] FIG. 2 is a flow chart of a process for printing graphical
VAMs with dynamic content.
[0014] FIG. 3 is a representation of a screen for editing a
VAM.
[0015] FIG. 4 is a graphical representation of VAM data files.
[0016] FIG. 5A is a graphical representation of VAM data files.
[0017] FIG. 5B is a graphical representation of VAM data files.
[0018] FIG. 6 is a flow chart of a process for printing a graphical
VAM with dynamic content.
[0019] FIG. 7 is a block diagram of a system for printing graphical
VAMs with dynamic content.
[0020] Throughout this description, elements appearing in figures
are assigned three-digit reference designators, where the most
significant digit is the figure number where the element is first
introduced. An element that is not described in conjunction with a
figure may be presumed to have the same characteristics and
function as a previously-described element having the same
reference designator.
DETAILED DESCRIPTION
[0021] In this description, the term "point of sale system"
encompasses point of sale systems, checkout systems, electronic
cash registers, and other electronic and/or computing devices used
to conduct and document sales, orders, and other commercial
transactions. A point of sale system may print a document
containing information relating to, or supplemental to, each
transaction. The document printed by the POS system may be a
receipt, a guest check, an invoice, a voucher, a sales order, a
delivery confirmation, a promotion or coupon offering, or other
document, all of which will be referred to herein as "receipts".
For ease of description, the data to be printed on the document
will be referred to herein as "receipt data" regardless of the
actual function of the document.
[0022] Description of Processes
[0023] Referring now to FIG. 1A, an exemplary VAM 102 may include a
graphical image 103 and a window 104 containing dynamic content
printed within the graphical image 103. In this example, the
graphical image 102 is an invitation for a customer to participate
in an on-line survey, with a reward of a free food item if the
customer participates. The information printed within the dynamic
content window 104 may be a code conveying information such as a
store location or number, a date, a POS terminal number or cashier
number, a receipt number or time of day, and other information to
allow the customer's responses to be correlated with a particular
store location and/or employee. The extent of the dynamic content
window 104 is outlined by a dash-dot rectangle in FIG. 1A, but
would not necessarily be outlined on an actual POS receipt.
[0024] Referring now to FIG. 1B, another exemplary VAM 105 may also
include a graphical image 106 and a dynamic content window 107
(outlined by a dash-dot rectangle) embedded within the graphical
image 106. In this example, the graphical image 106 is a coupon for
an unspecified food item. The information printed within the
dynamic content window 107 specifies the free food item and an
expiration date. The free food item may be, for example, selected
from the items purchased by the customer, and thus be of known
value to the customer. The free food item may be selected from menu
items not purchased by the customer to attempt to expand the
customer's taste palette and thus encourage larger future
purchases. The expiration date may be derived from the date of the
purchase, such as one week or ten days or one month from the date
of purchase.
[0025] Within this description, a dynamic content window is
considered to be "embedded within" a graphical image if at least
portions of two sides of the dynamic content window touch the
graphical image. A dynamic content window may be surrounded on four
sides by the graphical image, as shown in FIG. 1A and FIG. 1B. A
dynamic content window may be tangential to an edge of a graphical
image, may be positioned in a corner of the graphical image, or may
extend beyond an edge of the graphical image and still be
considered to be "embedded within" the graphical image.
[0026] Referring now to FIG. 2, a process 200 for printing one or
more VAMs on a POS receipt may include a content creation process
210 and a transaction process 230. The content creation process 210
may be performed once for each VAM. The content creation process
210 may be performed by a user in conjunction with a content
creation software tool operating on an administrator computing
device, which may be the POS terminal or may be another computing
device such as personal computer, a portable computer, a personal
digital assistance, or other computing device. The transaction
process 230 may be performed repetitively at a POS terminal for
each sale or transaction.
[0027] FIG. 3 shows an exemplary graphical user interface (GUI) 300
that may be displayed by the content creation software tool to
assist a user to create a VAM using the content creation process
210. The GUI 300 is representative of an unlimited number of
possible graphical interfaces for the content creation tool.
Throughout the content creation process 210, a user may exercise
control of the process via the graphical interface. The user may
exercise control via a mouse or other pointing device, a touch
screen display, a keyboard or other data entry device, or in some
other manner. In the exemplary GUI 300, the user may exercise
control by activating (for example, using a pointing device and/or
touch screen) one or more of a plurality of virtual "buttons"
presented within the GUI. Alternative GUIs may incorporate other
techniques for user control, such as check boxes, lists, and/or
pull-down menus presented within the GUI, or by entering selections
via a keyboard or other data entry device. Additionally, the names
assigned to the virtual buttons, entry windows, and other elements
of the GUI 300 are exemplary and numerous other names could be
assigned to the same or similar control and data entry
functions.
[0028] The exemplary VAM shown in FIG. 3 is coupon 306 for a
predetermined free food item including a variable content window
310 for defining an expiration date of the coupon. The content
creation process 210 may be understood through reference to FIG. 2
and FIG. 3, wherein references designators from 200 to 240 refer to
elements of FIG. 2 and reference designators from 300 to 334 refer
to elements of FIG. 3.
[0029] At 212, a digitized image of the graphic content of the VAM
at 212 may be provided to the content creation software tool. The
digitized image may be provided by retrieving a digital image file
from a storage device within or coupled to the computing device.
The digital image file may be retrieved in response to the user
entering a file name in a window 302 provided in the GUI 300. A
conventional "browse" function, activated by a browse button 304
may be provided to assist the user in locating the digital image
file. The graphical image may be displayed in a window 306 on the
GUI when the digitized image is provided at 212. Information
relating to the retrieved graphical image, such as the image size,
may also be displayed at 312.
[0030] The retrieved digital image file may have been previously
created and stored on the computing device by the user operating a
graphic arts software tool. The retrieved digital image file may
have been previously uploaded and stored on the computing device
via a network or other communications link, or may have been
previously uploaded from a portable memory device such as a flash
drive. If the desired digital image file is not stored on a storage
device within or coupled to the computing device, the content
creation software tool may assist the user in retrieving the
desired file via a network (not shown in FIG. 3).
[0031] The digitized image provided at 212 may be in the form of a
compressed image data file, such as a JPG (Joint Photographic
Experts Group) file, an EXF (exchangeable image file) file, a TIF
(tagged image file) file, a PNG (portable network graphics) file,
or a GIF (graphic interchange format) file. The digitized image may
be in the form of an uncompressed image data file, such as a BMP
(bitmap) file.
[0032] At 214, one or more windows for dynamic information may be
defined within the graphical image provided at 212. For example,
the GUI 300 may provide a "dynamic content" button 308 that the
user may select to indicate that the VAM being created will include
dynamic content. In response to activation of the dynamic content
button 308, a user-controllable rectangle 310 may be overlaid on
the displayed graphical image 306. The position and size of the
rectangle 310 may be controlled by the user to define a dynamic
content window within the graphical image. The position and size of
the rectangle 310 may be controlled, for example, by the user
dragging the sides or corners of the rectangle using a mouse or
other pointing device. When the user is satisfied with the position
and size of the dynamic content window defined by the rectangle
310, the user may activate a "set window" button 314 to freeze the
size and position of the dynamic content window. Information
relating to the dynamic content window, such as the size and text
capacity of the window, may be displayed at 316 during and after
the size and position of the dynamic content window are defined.
The window size may be expressed in inches, as shown in FIG. 3, in
picture elements, or in some other manner.
[0033] After the size and position of a dynamic content window are
defined at 214, the content to be inserted into the window may be
defined at 216. The content to be inserted may be a graphical image
or text. When the content to be inserted is a graphical image, the
user may enter a name of a graphical image data file into a window
(not shown in FIG. 3) similar to the window 302. A browse button
(not shown in FIG. 3) similar to the browse button 304 may be
provide to assist the user in locating the desired image data file.
In some situations, a user may enter a plurality of image data file
names along with criteria for the POS terminal to dynamically
select one image from the plurality of images at the time a receipt
is printed. For example, a VAM may be coupon including a graphical
image of a free food item selected, at the time of purchase, from
the items purchased (or not purchased) by a customer.
[0034] When the content to be inserted in a dynamic content window
is text, the user may enter the content using a keyboard or other
data entry device. The entered content may appear in a window 318
within the GUI 300. The entered content may include fixed text and
variable-content fields. The entered content may be a single line
or may be multiple lines and may be formatted as allowed by the
printer, including the ability to set bold, italic, underline, set
line justification, and font size or typeface. A dynamic content
window within a VAM may contain one or more variable content
fields. In the example of FIG. 3, "Valid until" may be fixed text
and <date> may be a variable content field. The variable
content field <date> may be one of a predetermined plurality
of variable content fields recognized by the content creation
software tool. For example, the <date> field may have been
selected using a pull-down menu 320 of possible variable content
fields and an "Enter Field" button 322. In addition to
<date>, the plurality of variable content fields listed in
the pull-down menu may include some or all of <time>,
<month>, <year>, <item>, <location>,
<register number>, <receipt number>, <employee>,
and other variable content fields. In some circumstances, such as a
POS system that only prints coupon VAMs, <date> may be the
only variable content field. In this case, the GUI 300 may not
include the pull down menu 320.
[0035] When a variable content field is selected using the "Enter
Field" button 322, additional windows 330 may appear in the GUI to
allow the user to enter additional information relating to the
variable content field. In the example of FIG. 3, the user may
define a duration or expiration date for the coupon by entering a
numeric value in the window 332 and selecting a unit from the
pull-down menu 334. As shown in FIG. 3, the coupon is valid for up
to 72 hours after the date of the receipt. Although not shown in
FIG. 3, the GUI 300 may present additional options for a
<date> field, including how a calculated future date may be
rounded (i.e. to the nearest day) and/or how the date may appear
within the VAM (i.e. "2/19/2010" or "Feb. 19, 2010").
[0036] Similar additional windows may be provided, where necessary,
to allow a user to enter information relating to other variable
content fields. Some variable content fields may not require any
additional information to be entered during the content creation
process. For example, the content of fields such as
<location>, <register number>, <receipt number>,
and <employee> may be extracted from receipt information
generated by a POS terminal and thus may not require a user to
enter additional information during the content creation
process.
[0037] When the content of a first dynamic content window has been
defined at 216, the user may optionally elect to return to 214, as
indicated by the dashed arrow 215, to define another dynamic
content window. For example, after the dynamic content for a first
window has been defined, the user may select an "Add Window" button
338 to indicate that another dynamic content window is required.
The size, location, and content of the new dynamic content window
may then be defined as previously described. Alternatively, the
user may define the size and location of two or more dynamic
content widows at 214 and then sequentially define the content of
each window at 216.
[0038] When all dynamic content windows have been defined, the
content creation application may generate and save VAM data in the
form of one or more data files containing all information necessary
for a POS terminal to print the VAM. For example, the user may
cause the VAM data to be saved by selecting a "Save" button 340 on
the GUI 300. The GUI 300 may also provide the user with an option
(for example, "Cancel" button 342) to terminate the content
creation process without saving the VAM data. As will be discussed
subsequently, the VAM data may be stored in a plurality of image
data files and a file or date structure defining the content to be
printing within each dynamic content window.
[0039] VAM data generated by the content creation process 210 may
be transferred to at least one POS system as indicated by the
dashed arrow 220. VAM data may be transferred from the computing
device running the content creation application to the POS system
via a network or other communications link. VAM data may be
recorded on a portable storage media, such as a flash drive, at the
computing device running the content creation application and then
may be physically carried to the POS system for upload. When the
computing device running the content creation application is a
portion of the POS system, VAM data may be simply stored on a
storage device accessible to a transaction processing application
running in the POS system. VAM content transferred or uploaded to a
POS system may be stored within a POS terminal, within a POS
printer, or distributed between a POS terminal and a POS
printer.
[0040] The transaction process 230 may be performed each time a
sale or other transaction is completed using the POS system. At
232, transaction data may be entered into the POS system.
Transaction data may include, for example, the identification and
quantity of items ordered or purchased. The transaction data may be
entered by a customer service representative manually or with the
assistance of a laser scanner or other automatic entry device.
Transaction data may also include data identifying the customer,
which may be provided by the customer or may be, for example,
extracted from the customer's loyalty card, membership card, or
credit card.
[0041] At 234, after all transaction data has been entered at 232,
the POS system may generate receipt data which may include some or
all of the transaction data entered at 232. In addition to the
transaction data, the receipt data may include some or all of the
identification and location of the merchant, the date and time of
the transaction, the total amount paid, the method of payment, and
other information.
[0042] At 236, one or more VAMs may be automatically selected for
printing on the receipt to be given to the customer. In this
description, the term "automatically" means "without operator
involvement". The one or more VAMs may be automatically selected
based, at least in part, on receipt data such as the items
purchased, customer identity, location, date and/or time, method of
payment, and other information accessible to the POS system. The
one or more VAMs may be automatically selected based on receipt
data and other information. The one or more VAMs may be selected
based on customer loyalty data, which the POS system may retrieve
from internal memory or from a remote server (not shown in FIG. 2).
The one or more VAMs may be automatically selected independently of
the receipt data. For example, VAMs may be selected in cyclic order
or randomly. In some cases, VAMs may be selected by default. For
example, the number of available VAMs may be low enough to allow
all VAMs to be printed on every receipt. At least one VAM selected
at 236 may have dynamic content.
[0043] When the receipt will be printed on a printer capable of
two-sided printing, different VAMs may be selected for both sides
of the receipt. For example, the receipt data from 234 may be
printed on the front side of a receipt, and VAMs may be printed on
both the front side (i.e. before or after the receipt data) and the
back side of the receipt. The total number of VAMs selected may be
based, in part, on the length of the printed receipt data, which
may define the total available length for printing VAMs on the
reverse side of the receipt.
[0044] Dynamic content for at least one VAM selected at 236 may be
generated based on stored VAM data. The dynamic content, as defined
during the content creation process 210, may include variable
content fields which are filled or populated based, at least in
part, on receipt data such as the date and/or time of purchase,
items purchased, store location, register number, employee number
of a sales associate, receipt number, customer loyalty information,
method of payment, and other information accessible to the POS
system.
[0045] At 240, a receipt may be printed. The printed receipt may
include the receipt data from 234 and the one or more VAMs selected
at 236 including dynamic content generated at 238.
[0046] POS printers typically print on one or both sides of rolled
paper of various widths. The most common paper widths are 2.25''
(58 mm) and 3.125'' (80 mm), but other widths may also be used. POS
printers commonly use thermal printing on special paper, but other
printing techniques including impact, laser, and ink-jet may also
be used.
[0047] POS printers commonly receive print data from a POS terminal
via a data communications link. The communications link may be, for
example, a serial link conforming to a standard such as RS232C,
RS485, or USB (universal serial bus); a parallel link conforming to
a standard such as IEEE 1284; a wireless link conforming to a
standard such as IEEE 802.11; or an Ethernet link such as 10/100
Base TX. The data communicated from a POS terminal to a POS printer
may include text strings which are converted into character dot
patterns within the POS printer. The data communicated from a POS
terminal to a POS printer may also include graphical images.
Graphical images may be transmitted from the POS terminal to the
POS printer on a line-by-line basis. Since a relatively long time
may be required to transmit graphical images from a POS terminal to
a POS printer via the serial communications link, POS printers may
include memory for storing graphical images within the printer.
[0048] To facilitate printing VAMs with dynamic content, the VAM
data generated at 218 may consist of a plurality of data files, as
represented in FIG. 4. A VAM 400 may include a graphical image 402
and a dynamic content window outlined by the dash-dot rectangle
404. The VAM data 405 generated at 218 during the content creation
process 210 may include a top image data file containing a top
portion 450 of the graphical image above the dynamic content window
and a bottom image data file contain a bottom portion 452 of the
graphical image below the dynamic content window. The VAM data
generated at 218 may also include a left image data file containing
a left portion 454 of the graphical image to the left of the
dynamic content window and a right image data file contain a right
portion 456 of the graphical image to the right of the dynamic
content window. The top, bottom, left, and right image data files
450/452/454/456 may be automatically generated, for example, by
cropping the original graphical image 402 using a conventional
image processing software tool. The edges of the dynamic content
window (as indicated by the rectangle 404) may be used to determine
the lines along which the original graphical image is cropped. The
VAM data may also include a file or data structure with information
relating to the dynamic content 458 to be printed within the
dynamic content window. In this context, the terms "top", "bottom",
"left" and "right" refer to the orientation of the VAM as it is
printed, with the "top" portion printed first and the "bottom"
portion printed last. In the example of FIG. 4, the orientation
during printing is assumed to be consistent with the orientation in
which the VAM will be read.
[0049] The VAM data generated at 218 may not include all of the
top, bottom, left, and right image data files. For example, the VAM
data for a VAM where the dynamic content window extends to or
beyond the lower edge of a graphical image may not include a bottom
image data file. Similarly, the VAM data for a VAM where the
dynamic content window extends to or beyond the left edge of a
graphical image may not include a left image data file. The VAM
data for a VAM where the dynamic content window is positioned at a
corner of the graphical image may only include two image data files
(top or bottom and left or right).
[0050] Referring now to FIG. 5A, a VAM 500 may include two dynamic
content windows, identified as "Dynamic Content A" and "Dynamic
Content B", embedded within a graphic image indicated by
cross-hatched areas. The VAM 500 may be divided into five
horizontal (as shown in FIG. 5A) bands 501, 502, 503, 504, 505. The
number of horizontal bands may depend on the number and location of
dynamic content windows. For example, the VAM of FIG. 4 may be
divided into three bands.
[0051] In the example of FIG. 5A, horizontal bands 501, 503, and
505 include only portions 511, 514, and 517, respectively, of the
graphical image. Horizontal band 502 includes the window for
dynamic content A and left and right adjacent portions of the
graphical image 512 and 513. Similarly, horizontal band 505
includes the window for dynamic content B and left and right
adjacent portions of the graphical image 515 and 516. The content
of portions 511-517 of the graphical image may be stored in
respective image data files.
[0052] Referring now to FIG. 5B, another VAM 520 may also include
two dynamic content windows, identified as "Dynamic Content C" and
"Dynamic Content D", embedded within a graphic image indicated by
cross-hatched areas. The VAM 520 may also be divided into five
horizontal (as shown in FIG. 5A) bands 521, 522, 523, 524, 525. In
this example, horizontal bands 521 and 525 include only portions
531 and 539, respectively, of the graphical image. Horizontal band
522 includes part of the window for dynamic content C and left and
right adjacent portions of the graphical image 532 and 533.
Similarly, horizontal band 524 includes part of the window for
dynamic content C and left and right adjacent portions of the
graphical image 537 and 538. Horizontal band 523 includes part of
the window for dynamic content C, all of the window for dynamic
content D, and left, center, and right adjacent portions of the
graphical image 534, 535, and 536. The content of portions 531-539
of the graphical image may be stored in respective image data
files.
[0053] Referring now to FIG. 6, an exemplary process 600 for
printing VAM data may be suitable for use at 240 in the process
200. The process 600 prints a single VAM, and may be repeated as
necessary to print multiple VAMs on a receipt. Although not shown
in FIG. 6, the process 600 may be performed before, after, or
concurrently (in the case of two-sided printing) with a
conventional process for printing receipt data. The process 600
assumes that the VAM may be divided into a plurality of horizontal
bands as shown in FIG. 5A and FIG. 5B.
[0054] The process 600 may start at 605 when VAM data is available
for printing, and may end at 695 after the VAM is printed. The
process 600 may be cyclic in nature, and the actions from 610 to
660 may be repeated for each horizontal band within a VAM.
[0055] From the start at 605, the process 600 may proceed to 610
where a determination may be made whether or not the first
horizontal band of the VAM contains dynamic content. If a
determination is made at 610 that the first horizontal band does
not contain a dynamic content window, a full-width portion of the
VAM may be printed from an image data file. For example, the
full-width image data file may be retrieved from a memory and
converted to print data sent line-by-line to a POS printer.
Alternatively, to minimize the time required to print a receipt,
the full-width image data file may be stored in memory within the
POS printer and printed in response to a command sent from a POS
terminal to the POS printer. The full-width portion of the VAM may
be, for example, the portion 450 in FIG. 4, the portion 511 in FIG.
5A, or the portion 531 in FIG. 5B.
[0056] After the full-width image band is printed at 615, a
determination is made at 660 whether or not the VAM contains
additional horizontal bands. When a determination is made at 660
that there are no more horizontal bands to be printed, the process
600 may finish at 695. For example, in the case of a graphical
image VAM with no dynamic content, the VAM may be considered a
single horizontal band. In that case, the entire graphical image
VAM may be printed at 615 from a single image date file and the
process may subsequently finish at 695. When a determination is
made at 660 that there are one or more horizontal bands still to be
printed, the process 600 may return to 610 to print the next
horizontal band.
[0057] When a determination is made at 610 that a horizontal band
contains one or more dynamic content windows, the horizontal band
including the dynamic content and adjacent graphic image portions
may be printed line-by-line from 630 to 655. Specifically, from 630
to 645, print data for a next print line of the band may be
prepared by extracting corresponding lines from one or more image
data files and generating the corresponding lines of one or more
dynamic content windows. At 630, a corresponding line may be
extracted from a left image data file. At 635, a corresponding line
of a first (in order from left to right) dynamic content window may
be generated. At 640, a corresponding line may be extracted from a
next image data file that contains content for a graphical image
portion to the right of the first dynamic content window. At 645 a
determination may be made if the current horizontal band contains
another dynamic content window (DCW).
[0058] When a determination is made at 645 that the current
horizontal band contains another dynamic content window, the
process may return to 635 to generate a corresponding line of a
next dynamic content window. A corresponding line of a next graphic
image portion (a portion to the right of the next dynamic image
window) may be extracted at 640. The actions from 645 to 635 may be
repeated as required until the corresponding lines of all portions
of the current horizontal band have been extracted or
generated.
[0059] When a determination is made at 645 than the current
horizontal band does not contain another dynamic content widow, the
process 600 may proceed to 650. At 650, the corresponding lines
from the one or more image data files and the corresponding line of
the one or more dynamic content windows may be concatenated to form
a complete line of print data for the next print line. The complete
line of print data may be sent to the POS printer for printing. The
complete line of print data may be sent to the POS printer before
the printing of the previous line or portion of the image is
completed. The complete line of print data may be printed proximate
to a previously printed line. In this context, the term "proximate"
has the usual meaning of "immediately adjoining".
[0060] At 655, a determination may be made that additional lines
within the current horizontal band must be printed. In this case,
the actions from 630-650 may be repeated for a succession of print
lines until the entire current horizontal band has been
printed.
[0061] For example, consider the horizontal band 523 in FIG. 5B. On
the first cycle through the actions from 630 to 655, a first line
of image portion 534 may be extracted at 630, a corresponding line
of dynamic content C may be generated at 635, and a corresponding
line of image portion 535 may be extracted at 640. Subsequently, a
determination made at 645 may be "yes" and the process may return
to 635 to generate a first line of dynamic Content D. A first line
of image portion 536 may be extracted at 640 and a subsequent
determination at 645 may be "no". The extracted/generated content
may be concatenated to form a full-width line of print data for
printing at 650. The actions from 655 top 630 may then be repeated
until all lines of the horizontal band 523 had been printed.
[0062] When a determination is made at 655 that the current
horizontal band has been printed, the process 600 may proceed to
660, where a determination may be made whether or not the VAM
contains additional horizontal bands. When a determination is made
at 660 that there are no more horizontal bands to be printed, the
process 600 may finish at 695. When a determination is made at 660
that there are one or more horizontal bands to be printed, the
process 600 may return to 610 to print the next horizontal
band.
[0063] FIG. 6 and the associated description of the process 600
were based on an assumption that the content of dynamic content
windows is generated on a line-by-line basis. Alternatively, the
content of the dynamic content windows may be generated and stored
in respective image data files. In this case, dynamic content may
be extracted from the previously generated image data files at
635.
[0064] Description of Apparatus
[0065] Referring now to FIG. 7, a POS system 700 may consist
functionally of a POS terminal (or electronic cash register) 710, a
receipt synthesizer 720, a POS printer 730, and an administrator
computing device 740. Each of the POS terminal 710, the receipt
synthesizer 720, the POS printer 730, and the administrator 740 may
include specialized units, circuits, processors, software, and
interfaces for providing functionality and features described
herein.
[0066] The POS terminal 710, the receipt synthesizer 720, the POS
printer 730, and the administrator 740 may each include a
respective processor 712, 722, 732, 742. Each processor 712, 722,
732, 742 may include one or more of logic arrays, analog circuits,
digital circuits, firmware, microprocessors, field programmable
gate arrays (FPGAs), application specific integrated circuits
(ASICs), programmable logic devices (PLDs) and programmable logic
arrays (PLAs). Each processor 712, 722, 732, 742 may execute
software which may be in the form of firmware, an application
program, an applet (e.g., a Java applet), a browser plug-in, a COM
object, a dynamic linked library (DLL), a script, one or more
subroutines, or an operating system component or service.
[0067] The POS terminal 710, the receipt synthesizer 720, the POS
printer 730, and the administrator 740 may each include a
respective memory 714, 724, 734, 744. Each memory 714, 724, 734,
744 may include read-only memory and/or random access memory. Each
memory 714, 724, 734, 744 may include a storage device. As used
herein, a storage device is a device that allows for nonvolatile
reading and/or writing to a storage medium. Storage devices include
hard disk drives, CD drives, DVD drives, flash memory devices, and
others. Each storage device may include removable or non-removable
storage media. These storage media include, for example, magnetic
media such as hard disks, floppy disks and tape; optical media such
as compact disks (CD-ROM and CD-RW) and digital versatile disks
(DVD and DVD.+-.RW); flash memory cards; and other
computer-readable non-transitory storage media.
[0068] The partitioning of the POS system 700 into POS terminal,
receipt synthesizer, POS printer, and administrator functional
units for ease of discussion does not imply a corresponding
physical division or structure. For example, the POS terminal 710
and the POS printer 730 may be, in some systems, housed within a
common physical unit. In some systems, the functions of the POS
terminal 710 and the receipt synthesizer 720 may be performed by
common hardware located within a single physical unit (for example,
the processor 712 and the processor 722 may be or share common
circuit components). Similarly, in some systems, the functions of
the POS terminal 710 and the administrator 740 may be performed by
common hardware located within a single physical unit. The
functions of the receipt synthesizer 720 may be distributed between
a first physical unit that houses the POS terminal 710 and a second
physical unit that houses the POS printer 730. In some systems, the
POS terminal 710, the receipt synthesizer 720, the POS printer 730,
and the administrator 740 may be independent physical units.
[0069] In addition to the processor 712 and the memory 714, the POS
terminal 710 may include a user interface 718. The user interface
may include a keypad or keyboard, a display which may include a
touch-screen, a bar code scanner, and/or other elements that allow
a customer service representative or other operator to enter
transaction data relating to a business transaction. After the
transaction data has been entered, the operator may instruct the
POS terminal 710 to cause a receipt documenting the transaction to
be printed. In response, the POS terminal 710 may prepare receipt
data including some or all of the entered transaction data and
additional information.
[0070] The receipt data may be transferred from the POS terminal
710 to the receipt synthesizer 720 via first data path 715. When
the POS terminal 710 and the receipt synthesizer 720 share common
hardware, the first data path 715 may be, for example, an interface
between software modules. When the POS terminal 710 and the receipt
synthesizer 720 are separate units, the first data path may be a
wired, wireless, or optical communications link. The first data
path 715 may be a network connection, a serial or parallel data
bus, or some other communications link.
[0071] Before, while, or after the POS terminal 710 prepares
receipt data, the receipt synthesizer 720 may automatically select
one or more VAMs to be printed on the receipt. The one or more VAMs
may be automatically selected based, at least in part, on receipt
data such as the items purchased, customer identity, location, date
and/or time, method of payment, and other information accessible to
the POS system. The one or more VAMs may be automatically selected
based on receipt data and other information. The one or more VAMs
may be automatically selected independently of the receipt data.
For example, VAMs may be selected in cyclic order or randomly. In
some cases, VAMs may be selected by default. For example, the
number of available VAMs may be low enough to allow all VAMs to be
printed on every receipt. At least one VAM selected at 236 may have
dynamic content.
[0072] The receipt synthesizer 720 may generate dynamic content for
at least one VAM selected at 236 based on stored VAM data 728. The
dynamic content, as defined during the content creation process
210, may include variable content fields which are filled or
populated based, at least in part, on receipt data and other
information received from the POS terminal 710.
[0073] The receipt synthesizer 720 may then combine the receipt
data and the VAM data including the generated dynamic content to
provide print data for the POS printer 730. The print data may be
transferred from the receipt synthesizer 720 to the POS printer 730
via a second data path 725. The second data path 725 may be, for
example, a wireless communications link, a parallel printer
interface, or a serial communications link which may conform to a
specification such as RS232C, RS485, USB, IEEE 802.11, IEEE 1284,
or Ethernet 10/100 Base TX.
[0074] In addition to the processor 732 and the memory 734, the POS
printer may include a print mechanism 736 to print the print data
received from the receipt synthesizer 720 onto paper or another
medium. The print mechanism 736 may be a thermal print mechanism.
The print mechanism 736 may be an ink-jet, laser, impact, or other
type of print mechanism.
[0075] The POS system 700 may include hardware and software to
perform a transaction process, such as the transaction 230, which
prints VAMs including dynamic content. Software instructions, which
may be executed to cause the POS system 700 to perform the
transaction process, may be stored on a computer-readable storage
media within or coupled to the POS terminal 710, the receipt
synthesizer 720, and/or the POS printer 730.
[0076] In addition to the processor 742 and the memory 744, the
administrator 740 may contain a user interface 748. The user
interface may include, for example, a display device, a data entry
device such as a keyboard, and a pointing device such as a mouse.
The administrator 740 may include hardware and software to perform
a content creation process, such as the content creation process
210, which generates VAM data defining VAMs including dynamic
content. Software instructions, which may be executed to cause the
administrator 740 to perform the content creation process, may be
stored on a computer-readable storage media within or coupled to
the administrator 740.
[0077] VAM data created by the administrator 740 may be transferred
to the receipt synthesizer 720 over a third data path 745. When the
administrator 740 and the receipt synthesizer 720 share common
hardware, the third data path 745 may be, for example, an interface
between software modules. When the administrator 740 and the
receipt synthesizer 720 are separate units, the first data path may
be a wired, wireless, or optical communications link. The third
data path 745 may be a network connection, a serial or parallel
data bus, or some other communications link. The third data path
745 may include storing the VAM data on a removal storage media at
the administrator 740, physically transporting the removal storage
media to the receipt synthesizer 720, and uploading the VAM data
from the removable storage media to the receipt synthesizer
720.
[0078] Closing Comments
[0079] Throughout this description, the embodiments and examples
shown should be considered as exemplars, rather than limitations on
the apparatus and procedures disclosed or claimed. Although many of
the examples presented herein involve specific combinations of
method acts or system elements, it should be understood that those
acts and those elements may be combined in other ways to accomplish
the same objectives. With regard to flowcharts, additional and
fewer steps may be taken, and the steps as shown may be combined or
further refined to achieve the methods described herein. Acts,
elements and features discussed only in connection with one
embodiment are not intended to be excluded from a similar role in
other embodiments.
[0080] As used herein, "plurality" means two or more. As used
herein, a "set" of items may include one or more of such items. As
used herein, whether in the written description or the claims, the
terms "comprising", "including", "carrying", "having",
"containing", "involving", and the like are to be understood to be
open-ended, i.e., to mean including but not limited to. Only the
transitional phrases "consisting of" and "consisting essentially
of", respectively, are closed or semi-closed transitional phrases
with respect to claims. Use of ordinal terms such as "first",
"second", "third", etc., in the claims to modify a claim element
does not by itself connote any priority, precedence, or order of
one claim element over another or the temporal order in which acts
of a method are performed, but are used merely as labels to
distinguish one claim element having a certain name from another
element having a same name (but for use of the ordinal term) to
distinguish the claim elements. As used herein, "and/or" means that
the listed items are alternatives, but the alternatives also
include any combination of the listed items.
* * * * *