`Deaton et al.
`
`[54]
`
`[75]
`
`[73]
`
`METHOD AND SYSTEM FOR SELECTIVE
`INCENTIVE POINT-OF-SALE MARKETING
`IN RESPONSE TO CUSTOMER SHOPPING
`HISTORIES
`
`Inventors: David W. Deaton; Rodney G. Gabriel,
`both of Abilene, Tex.
`
`Assignee: Credit Verification Corporation,
`Abilene, Tex.
`
`[21]
`
`Appl. No.: 457,299
`
`[22]
`
`Filed:
`
`Jun. 1, 1995
`
`US005649114A
`[11] Patent Number:
`[45]
`Date of Patent:
`
`5,649,114
`Jul. 15, 1997
`
`1/1991 Girouard et al.
`ssssusnunenssen 364/550
`4,982,346
`
`4/1991 Bigadi sssascssosnemeennseen 364/408
`5,010,485
`10/1991 Peach et al. cesses 364/401
`5,053,955
`5,056,019 10/1991 Schultz, et al. sessusseanesesnse 364/405
`2/1992 Finch et al. sssssssnnenuenue 235/375
`5,091,634
`
`ermine 235/375
`5,128,520
`7/1992 Rando et al.
`
`sercssnsusnnennenne 364/401
`5,173,851
`12/1992 Off et al.
`
`1/1993 Dick et al. sessnsssnnenenense 340/825
`5,179,375
`
`.....
`364/401
`5,185,695
`2/1993 Pruchnicki
`
`4/1993 Deaton et al. sesssnsunnssnsnnen 382/7
`5.201,010
`
`.. 364/401
`5,245,533
`9/1993 Marshall
`......
`9/1993 Von Kobomt sstunstsnsnnneenes 358/86
`5,249,044
`
`FOREIGN PATENT DOCUMENTS
`
`5547560A of 0000
`
`Japan .
`
`Related U.S. Application Data
`
`OTHER PUBLICATIONS
`
`Continuation of Ser. No. 139,983, Oct. 20, 1993, abandoned,
`which is a continuation-in-part of Ser. No. 96,921, Jul. 23,
`1993, which is a continuation-in-part of Ser. No. 63,413,
`May 17, 1993, Pat. No. 5,621,812, which is a continuation
`of Ser. No. 886,383, May 19, 1992, abandoned, whichis a
`continuation-in-part of Ser. No. 826,255, Jan. 24, 1992,
`abandoned, which is a continuation of Ser. No. 345,475,
`May 1, 1989, abandoned.
`Tint, CUS caeesessosssssssesesessossscessnscssseseeeessseesees GO6F 17/60
`
`cecceccccccsccssstesssssesssccocsnssssncssceececesesesenesenee 395/214
`TLS. C1.
`Field of Searcy au...cccccssesssssseseeeeees 235/375, 381,
`235/383; 395/214, 221
`
`Article, Direct Marketing, v53, n9, Jan. 1991, Neal, Quak-
`er’s direct hit. (Quaker Oats Co.’s advertising subsidiary
`Quaker Direct), pp. 1-5.
`“Front End Electronic Marketing Frequent Shopper & Other
`Programs” Food Marketing Institute, 1991, Carlene A. This-
`sen.
`
`“Perspectives on Electronics Marketing with Emphasis on
`Promotion Inside Supermarkets”, Food Marketing Institute,
`1990, Carlene A. Thissen.
`“What’s New in Supermarket Promotion”, New York Times,
`Jun. 18, 1989, Lynette D. Hazelton.
`
`[63]
`
`[51]
`[52]
`[58]
`
`[56]
`
`3,959,624
`4,109,238
`4,554,446
`4,670,853
`4,674,041
`4,723,212
`4,748,668
`4,750,119
`4,791,281
`4,821,186
`4,882,675
`4,908,761
`4,910,672
`4,941,090
`4,949,256
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`(List continued on next page.)
`
`Primary Examiner—Jack B. Harvey
`Assistant Examiner—Xuong Chung-Trans
`Attorney, Agent, or Firm—Baker & Botts, L.L.P.
`
`[57]
`
`ABSTRACT
`
`5/1976 Kaslow .....
`sersseeorees 2395/61.11 E
`
`8/1978 Creekmore ...
`wee 340/149 A
`11/1985 Murphyetal.
`wee 235/487
`
`
`6/1987 Stepien .........ceecssessssesceesssesereee 364/70
`A system and method for customer promotion. A terminal
`
`w-- 364/401
`6/1987 Lemonet al....
`enters a customer’s identification code, along with customer
`2/1988 Mindrum etall. ........scccsseeese 364/401
`5/1988 Shamir et ab...eeeesseseee 380/30
`transaction data, at the point-of-sale. A memory stores a
`ww 364/401
`6/1988 Cohen et al.
`....
`databaseof previously entered customeridentification codes
`
`wee 235/383
`12/1988 Johnsenetal. ..
`and transactions data. Circuitry is provided for generating a
`
`4/1989 Munakata etal. ...
`.. 364/405
`signal representative of a customer’s shopping history,
`11/1989 Nichtberger et al.
`ww. 364/401
`wherein incentive coupons may be issued to customers in
`
`sssscrsorssseasece
`- 364/401
`3/1990 Tai
`dependence uponthesignal.
`3/1990 Offetal.
`we 364/405
`.....
`
`.. 364/405
`7/1990
`
`
`23 Claims, 65 Drawing Sheets
`
`8/1990
`
`PROVI-1021 - Page 1
`
`PROVI-1021 - Page 1
`
`
`
`5,649,114
`Page 2
`
`OTHER PUBLICATIONS
`
`“In this Computer Age, Who Needs Coupons”, New York
`Times, Jun. 15, 1989, Michael Freitag.
`Progressive Grocer, vol. 66, No. 5, May 1987, pp. 133-134,
`136, Ronald Tanner.
`
`Less H. Sun, “Checking Out The Customer”, The Washing-
`ton Post, Sunday, Jul. 9, 1989.
`“A New Dimension in Marketing,” Progressive Grocer, vol.
`66, No. 5, May 1987, pp. 133-136.
`
`“UKROP’s Test Data Base Marketing Program Eletronic
`Couponing Tracks Buying Behavior of Valued Customers”,
`Chain Store Age Executive, Sep. 1987.
`“Grocery Stores Copies Airlines a Frequent Flyer Bonuses”,
`Wall Street Journal & Stoh, Eastera, Aug. 7, 1986.
`“S&H, Soffer Reece and Frequent Shoppers”, Advertising
`Age, Mar. 16, 1987, p. 22.
`“Frequent Buyer Programs Get off the Ground”, Dairy
`Foods, Nov. 1989, p. 64.
`“Giant to List Supermarket Cash Rebates”, Washington
`Post, Jua. 14, 1989, pp. A1,A32.
`
`PROVI-1021 - Page 2
`
`PROVI-1021 - Page 2
`
`
`
`US. Patent
`
`Jul. 15, 1997
`
`Sheet 1 of 65
`
`5,649,114
`
`m7
`FIG.
`
`1
`
`110
`
`—--—~WE
`
`10.
`
`CESSO
`POS
`PROCESSOR
`.
`TRANSACTION
`te ERMINALS
`
` \ aTRANSACTION
`
`Poa at Fic
`
`PROVI-1021 - Page 3
`
`PROVI-1021 - Page 3
`
`
`
`
`
`
`F138 CHARACTER|op
`
`
`CHARACTER[|RECOGNITION
`
`
`LOGIC
`1294
`TABLE
`0Gi
`
`
`
`
`INPUT/
`
`QUTPUT
`
`
`
`
`PROCESSOR
`STORAGE
`OUTPUT
`REGISTERS
`ob
`
`DEVICE
`3
`1280
`12b,|
`
`
`
`
`
`
`
`US. Patent
`
`5,649,114
`
`Jul. 15, 1997
`Sheet 2 of 65
`
`1250 iene 125b
`
`
`
`
`ANALOG/
`MAGNE TIC
`
`
`DIGITAL
`WAVE FORM
`
`
`CONVERTER
`ANALYZER
`
`1260
`
`
`
`
`
`DISK OR EEPROM
`TRANSIT|bapsnc|FUG. 2B
`
`
`
`
`CODE|PROGRAM
`TABLE
`
`
`
`
`
`
`VERIFY/
`QUERY
`
`GLOBAL
`UPDATE
`
`UPDATE
`
`
`LOCAL
`
`
`STATUS
`
`
`
`
`CUSTOMER
`
`DATABASE
`
`MANAGEMENT
`
`
`REMOTE/
`HOST
`COMMUNICATIONS
`
`
`
`SCREEN
`
`SYSTEM
`UTILITIES
`
`
`
`PROVI-1021 - Page 4
`
`PROVI-1021 - Page 4
`
`
`
`U.S. Patent
`
`Jul. 15, 1997
`
`Sheet 3 of 65
`
`5,649,114
`
` ADDRESS/DATA
`
`BUS
`
`BUZZER
`
`124
`
`LCDDISPLAY
`
`LD
`
`ADDRESSBUS
`
`2
`
`wo
`
`|
`
`
`
` va)ti
` 5-PINDIN|SIG+CONNECTOR
`
`ao
`Soa
`
`=o
`
`O
`tod-
`oO
`boc
`oO
`
`[kt
`
`oO
`
`=|
`
`|b
`& ©en
`GND
`
`m1|folie BWol|Sho
`
`C3|Ola Oleic +
`Qa
`ee
`=mIz
`oc
`S
`a
`Sle we
`we Ne S28
`—
`ce
`uw
`*& THSESS
`oS
`wy BO
`pan“>
`es
`
`PROVI-1021 - Page 5
`
`PROVI-1021 - Page 5
`
`
`
`U.S. Patent
`
`Jul. 15, 1997
`
`Sheet 4 of 65
`
`5,649,114
`
`FIG. 44-1
`
`¢
`
`CHECK IS RECEIVED
`AT RETAIL STORE
`
`MICR CODE IS READ
`USING A CHECK
`SCANNING DEVICE
`
`SCANNING DEVICE SEND'S
`MICR READING TO
`PARSING PROCESSOR
`
`PARSE_MICR;
`
`BANK’S TRANSIT NUMBER
`IS LOCATED BETWEEN
`SYMBOLS AT POSITIONS
`33 AND 43
`
`BANK'S TRANSIT NUMBER
`IS USED 10 FORM FIRST
`PART OF CUSTOMER'S ID
`
`LOCATE_SEQUENCE_#,
`
`BANK'S TRANSIT NUMBER
`IS USED TO KEY 1 OR
`MORE ENTRIES IN
`TRANSIT CODE TABLE
`
`24
`
`
`CHECK TRANSIT CODE
`TABLE FOR FIRST
`ENTRY FOR THIS
`BANK’S TRANSIT
`NUMBER
`
`
`IN_TABLE)
` IF (CODE_FOUND_
`
`CHECK FOR PRESENCE
`OF AUXILIARY ON US
`(POSITION 45 THRU 65)
`
`IF (AUX_ON_US_PRESENT)
`
`z
`
`32
`
`AUXILIARY ON US IS
`SEQUENCE NUMBER
`
`USE ON US (POSITION
`14 THRU 31) FOR
`ACCOUNT NUMBER
`
`3
`
`USE SEPARATORS 10
`DETERMINE DISCRETE
`NUMBERS IN ON US
`(POSITION 14 THRU 3t)
`
`TO FIG. 4A-2
`
`CHECK TRANSIT CODE
`TABLE FOR NEXT ENTRY
`FOR THIS BANK'S
`TRANSIT NUMBER
`
`IF (FORMAT_MATCHES)
`
`COMPARE RAW MICR DATA
`WTH MICR TEMPLATE
`CONTAINED IN TRANSIT
`CODE TABLE
`
`PROVI-1021 - Page 6
`
`PROVI-1021 - Page 6
`
`
`
`U.S. Patent
`
`Jul. 15, 1997
`
`Sheet 5 of 65
`
`5,649,114
`
`FROM FIC. 44-1
`
`READ PARAMETERS GIMNG
`LOCATION OF SEQUENCE
`J AND CUSTOMER'S
`ACCOUNT
`
`USE PARAMETERS TO
`REMOVE SEQUENCE # AND
`IDENTIFY CUSTOMER'S
`ACCOUNT 4
`
`TABLE CONTAINS
`INFORMATION PERTAINING
`TO ANY CHANGE IN
`BANK ACCOUNT
`
`SEQUENCE NUMBER
`CANNOT BE DETERMINED
`
`SIGNAL OPERATOR THAT
`SEQUENCE NUMBER MUST
`BE MAUALLY SPECIFIED
`
`36
`
`ON US SYMBOLS AND
`SPACING OF 2 OR MORE
`SPACES SEPARATE
`DIFFERENT NUMBERS
`
`COMPRESS DASHES OR
`
`SEPARATORS FROM
`EACH NUMBER
`
`20
`
`21
`
`IF (NUMBER COUNT |
`= 1 OR > 3)
`
`40
`
` 4
`
`CUSTOMER'S UNIQUE
`
`9
`
`APPENDED 10 ACCOUNT #
`
`63
`
`COMBINE ID CODE WITH
`ANY ACCOUNT CHANGE
`INFORMATION INTO DATA
`MANAGER PACKET
`
`10 FIG, 44-3
`
`FIG. 4A-2
`
`PROVI-1021 - Page 7
`
`(46)SWITCH (NUMBER_COUNT)
`
` CASE THREE_DISCRETE_
`CASE TWO_DISCRETE_
`NUMBER:
`NUMBERS:
`
`42
`
`FIND ACTUAL NUMERIC
`
`
`VALUE OF THREE
`FIND ACTUAL NUMERIC
`
`_VALUE OF TWO NUMBERS
`NUMBERS
`
`
`
`USE SWALLER VALUE FOR
`
`
`
`43
`LARGEST VALUE USED
`SECUENCEWER
`
`
`FOR ACCOUNT NUMBER
`
`
`
`
`
`ACCOUNT NUMBER
`
`
`COMBINE TRANSIT # WITH
`
`
`
`54 ACCOUNTJTO FORFORSEOUENGETriuBER ay
`
`USE SEQUENCE NUMBER
`INPUT 10 DETERMINE
`PARAMETERS FOR
`LOCATION IN ON US
`WeTRANSIT # T0
`TRANSIT CODE TABLE
`OR FUTURE USE
`
`WRITE
`
`PARAMETERS FOR
`
`F
`
`PROVI-1021 - Page 7
`
`
`
`US. Patent
`
`Jul. 15, 1997
`
`Sheet 6 of 65
`
`5,649,114
`
`FROM FIG. 44-2
`
`SEND ID CODE PACKET 10
`THE DATA MANAGER
`ACCESSING STORED
`DATABASE OF iD CODES
`
`/_65_/ DATA_MANAGER_PROCESSING;
`
`BREAK PACKET INTO
`PRIMARY !D CODE KEY
`AND ACCOUNT CHANGE
`INFORMATION
`
`READ_CHECK_DATABASE:
`
`<8>>iF (RECORDFOUND
`
`
`
` BUILD PRIMARY KEY
`ACCOUNT CHANGES
`
`
`BASED ON GIVEN ID
`CODE AND SAID
`
`
`
`TRANSFER INFORMATION .
`FROM OLD RECORD TO
`NEW RECORD WITH NEW
`1D CODE
`
`
`
`
`
`DELETE OLD RECORD
`
`WRITE. NEW RECORD
`
`
`IF (ACCOUNT_CHANGES)
`
`PERFORM VERIFICATION
`PROCESS
`
`(FUNCTION RETURN)
`
`FIG.
`
`4A-—8
`
`PROVI-1021 - Page 8
`
`PROVI-1021 - Page 8
`
`
`
`U.S. Patent
`
`Jul. 15, 1997
`
`Sheet 7 of 65
`
`5,649,114
`
`REQUEST VERIFICATION STATUS|999
`[CHECK ID/FUNCTION
`CODE/$AMOUNT]
`
`FIG. 4B
`
`
`204
`
` CUSTOMER
`
`FILE INCLUDES
`RECORD
`
`CUSTOMER
`
`206
`
`
`
`
`CREATE
`CUSTOMER RECORD
`[STATUS=CAUTION ]
`
`
`RETRIEVE
`CUSTOMER RECORD
`
`208
`
`Pe eee ‘7
`
`ROLL ACCESS
`DATE/TIME CURRENT
`
`212
`
`na
`
`214
`
`TRANSACTION
`
`INTERVAL EXCEEDS
`STATUS RESET/CAUTION
`
`~S,YES O15
`
`CAUTION
`
`| | | | | | { \ | |
`
`I | I | | I l I | I I i
`
`[ { | | | | | I | | I
`
`210
`
`-
`
`220
`
`ADD CURRENT
`TRANSACTION DATA
`[INCREMENT DWT FREQUENCY]
`
`[ADD DWT $AMOUNTS]
`
`MANAGER
`ONLY
`OR MANAGER
`ONLY USER
`
`MANAGER
`FLAG
`NEITHER
`RESPONSE
`yo FREGUENCY/SAMGUNT.
`|...
`225
`EXCEED CALL
`MANAGER
`ROLL
`LIMITS
`[DWT FREQUENCY]
`
`
`[DWT $AMOUNT]|~218 |[NORMAL 798[CALL
`t||
`STATUS
`MANAGER
`
`
`L__se "J [RESPONSE]~226 929-7|RESPONSE
`
`-TNo
`PRE-
`|
`
`|| APPROVED
`216
`|
`TRANSACTION
`
`INTERVAL EXCEEDS
`YES 5 |
`|
`
`
`
`p_
`
`i
`
`PROVI-1021 - Page 9
`
`PROVI-1021 - Page 9
`
`
`
`USS. Patent
`
`Jul. 15, 1997
`
`Sheet 8 of 65
`
`5,649,114
`
`RECEIVE RECORD
`
`FROM REMOTE
`
`
`FIG.
`
`6A
`
`
`
`SET STATUS
`EQUAL TO REMOTE
`
`SET BAD DATA
`EQUAL TO REMOTE
`
`ARBITRATE/ASSIGN
`STATUS
`
`243
`
`
`
` 244
`
`
`
`
`
`
`SELECT GREATER
`
`DWT DATA
`
`OF HOST/REMOTE
`232
`SET STATUS
`ACTIVE_INACTIVE
`
`RETRIEVE OR CREATE
`NEGATIVE STATUS RECORD
`FOR THAT LOCATION
`
`230
`
`ADD TRANSFER
`DWT DATA TO
`HOST DWT DATA
`
`SET BAD DATA
`{BAD FREQUENCY]
`[BAD $AMOUNT]
`
`233
`
`ADD
`
`ADD
`OR DELETE
`
`DELETE
`
`236
`
`234
`
`NEGATIVE
`STATUS RECORD
`FOR OTHER
`LOCATIONS
`<0
`235
`RETRIEVE OR CREATE
`RETRIEVE OR CREATE
`CUSTOMER RECORD CUSTOMER RECORD|~237
`
`
`ROLL/UPDATE
`
`SET STATUS
`
`[938
`
`739
`
`FIG. 5
`
`PROVI-1021 - Page 10
`
`PROVI-1021 - Page 10
`
`
`
`U.S. Patent
`
`Jul. 15, 1997
`
`Sheet 9 of 65
`
`5,649,114
`
`FIG. 6B
`
`RECEIVE RECORD
`FROM HOST
`
`
`
`290
`
`
`
`
`RETRIEVE OR CREATE
`CORRESPONDING
`
`
`
`
`REMOTE RECORD
`
`
`NEGATIVE STATUS
`(OTHER
`LOCATIONS)
`
`253
`
` 254
`
`
`
`
`COPY
`HOST RECORD
`
`295
`
`SELECT HOST
`DWT DATA
`
`25/
`
`ROLL ACCESS
`DATE/TIME
`
`
`
`
`ARBITRATE/ASSIGN
`STATUS
`
`256
`
`258
`
`FIG. 7
`
`
`
`TERMINAL
`MANAGER
`
`
`
`
`
`SERVICE
`REQUEST
`
`DATA
`
`700
`
`
`
`
`
`TT
`REQUEST
`800
`SERVICE
`400
`300
`
`
`REQUEST
`QUES
`DATABASE
`R
`T
`
`
`
`
`
`SYSTEMTPewtREQUEST|ysovey
`
`
`
`MANAGER [EME REQUEST|WANAGERKERNAL
`
`
`
`SCREEN REQUEST
`SYSTEM REQUEST
`
`
`
`
`SERVICE
`
`
`REQUEST
`REQUEST
`
`MANAGER
`
`
`SCREEN
`
`"|
`
`
`950
`
`MODEM
`MANAGER
`
`SYSTEM
`UTILITIES
`
`960
`
`PROVI-1021 - Page 11
`
`PROVI-1021 - Page 11
`
`
`
`US. Patent
`
`~ Jul. 15, 1997
`
`Sheet 10 of 65
`
`5,649,114
`
`INTERNAL
`FUNCTIONS
`
`503
`
`
`READ INTERTASK
`
`REQUEST PACKET
`
`504
`
`FIG. QA
`
`
`
`
`506
`
`508
`
`FIG. 8
`
`SYSTEM
`FUNCTIONS
`
`REMOTE GLOBAL UPDATE
`CUSTOMER RECORDS
`
`630
`
`660
`
`
`
`SPAWN
`SUBTASK
`
`REQUEST
`
`SET STOP
`SEMAPHORE
`
`
`
`580
`DELETE NEGATIVE
` MONITOR
`
`
`
`SERVICE REQUEST
`HOST GLOBAL UPDATE
`600
`
`QUEUE
`NEGATIVE STATUS
`
`
`RECORDS
`
`404
`STOP
`
`HOST GLOBAL UPDATE
`rouES
`
`
`CUSTOMER RECORDS
`
`
`
`
`
`BUILD
`
`INTERTASK REQUEST PACKET
`REQUESTING TASK ID
`
`
`FUNCTION CODE
`ADDRESS OF REQUEST DATA
`
`ADDRESS FOR RESPONSE DATA
`STOP SEMAPHORE
`
`
`
`WRITE
`
`
`INTERTASK REQUEST PACKET
`TO RESPONDING TASK QUEUE
`
`
`PROVI-1021 - Page 12
`
`PROVI-1021 - Page 12
`
`
`
`U.S. Patent
`
`Jul. 15, 1997
`
`Sheet 11 of 65
`
`5,649,114
`
`FIG. 9B
`
`500
`
`DISPATCH FROM
`DATA MANAGER
`
`508
`
`READ REQUEST DATA
`[CHECK ID/$AMOUNT]
`FROM REQUEST DATA ADDRESS
`
`512
`
`
`514
` CUSTOMER
`
`FILE CONTAINS
`
`
`CUSTOMER
`
`RECORD
`
`
`CREATE
`915
`CUSTOMER RECORD
`
`[STATUS= CAUTION]
`
`
`
`
`
`
`
`
`
`
`CALL ROLL ROUTINE
`[ACCESS DATE]
`[STATUS]
`[DWT FREQUENCY]
`[DWT $AMOUNT]
`
`
`
`RETRIEVE
`CUSTOMER RECORD
`
`920
`
`
`
`ADD TRANSACTION DATA
`
`
`
`DWT FREQUENCY
`[DWT $AMOUNT]
`
`WRITE CUSTOMER
`RECORD TO DISK
`
`WRITE CUSTOMER RECORD
`TO RESPONSE DATA ADDRESS
`
`SEND STOP REQUEST
`[INTERTASK REQUEST PACKET]
`
`540
`
`542
`
`[544
`
`[546
`
`516
`
`PROVI-1021 - Page 13
`
`PROVI-1021 - Page 13
`
`
`
`US. Patent
`
`Jul. 15, 1997
`
`Sheet 12 of 65
`
`5,649,114
`
`ROLL ACCESS
`DATE/TIME
`
`CALCULATE
`TRANSACTION INTERVAL
`
`522
`
`524
`
`FIG. 9C
`
`READ STATUS
`RESET/CAUTION LIMIT
`FROM SYSTEM
`CONTROL FILE
`
`596
`
`220
`
`528
`
`
`TRANSACTION
`ES
`INTERVAL EXCEEDS
`
`RESET/CAUTION
`
`STATUS ROLL SUBROUTINE|-530
`[ROLL CAUTION]
`[ROLL STATUS CHANGE DATE]
`
`
`
`
`
`
`
`STATUS
`VES
`
`NO
`
`532
`
`CAUTION
`
`READ
`CAUTION/POSITIVE. LIMIT
`FROM SYSTEM CONTROL FILE
`
`534
`
`STATUS
`CHANGE DATE EXCEEDS. YES
`AUTION/POSITIVE
`
`LIMIT
`
` CALL
`
`STATUS ROLL SUBROUTINE
`[ROLL POSITIVE]
`
`
`[ROLL STATUS CHANGE DATE]
`
`957
`
`936
`
`ROLL
`[DWT FREQUENCY]
`[DWT $AMOUNT]
`
`938
`
`RETURN
`
`539
`
`PROVI-1021 - Page 14
`
`PROVI-1021 - Page 14
`
`
`
`US. Patent
`
`Jul. 15, 1997
`
`Sheet 13 of 65
`
`5,649,114
`
`DISPATCH FROM
`DATA MANAGER
`
`508
`
`READ REQUEST DATA
`[CHECK 1D/LOCATION /$AMOUNT]
`FROM REQUEST DATA ADDRESS
`
`551
`
`552
`
`NEGATIVE
`STATUS FILE
`CONTAINS NEGATIVE
`
`NO
`
`FIG. 9D
`
`390
`
`STATUS RECORD CREATE NEGATIVE|-554
`
`Ke
`STATUS
`RECORD
`RETRIEVE NEGATIVE
`|-553
`STATUS RECORD
`
`RECOR
`
`TATUS
`
`996
`
`STATUS EQUAL TO
`
`
`
`
`CALL STATUS ROLL SUBROUTINE
`[ROLL NEGATIVE STATUS ACTIVE]
`
`907
`
`ADD TRANSACTION DATA
`[BAD FREQUENCY]
`[BAD $AMOUNT]
`
`598
`
`WRITE NEGATIVE STATUS
`
`NEGATIVE STATUSFILE
`
`CALL STATUS ROLL
`
`[ROLL NEGATIVE]
`
`
`
` CUSTOMER
`FILE CONTAINS
`
`
`CUSTOMER
`
`560
`
`YES
`
`RECORD
`RETRIEVE
`SEND STOP REQUEST
`
`
`561-~|
`CUSTOMER RECORD
`[INTERTASK REQUEST PACKET]|-572
`
`WRITE CUSTOMER RECORD
`TO CUSTOMERFILE
`
`WRITE CONFIRMATION TO
`RESPONSE DATA ADDRESS
`
`568
`
`570
`
`564
`
`CALL ROLL
`ROUTINE
`
`:
`
`PROVI-1021 - Page 15
`
`PROVI-1021 - Page 15
`
`
`
`USS. Patent
`
`Jul. 15, 1997
`
`Sheet 14 of 65
`
`5,649,114
`
`580
`
`51~{
`
`NO
`
`DISPATCH FROM
`
`DATA MANAGER
`
`READ REQUEST DATA
`[CHECK iD/LOCATION]
`
`582
`
`AIEGATIVE
`STATUS FILE
`CONTAINS NEGATIVE
`STATUS RECORD FOR
`THAT LOCATION
`
`YES
`RETRIEVE NEGATIVE
`STATUS RECORD FOR
`THAT LOCATION
`
`CALL STATUS ROLL
`SUBROUTINE
`ROLL ACTIVE TO INACTIVE
`
`DELETE
`omnia
`
`WRITE. NEGATIVE
`STATUS RECORD TO
`NEGATIVE STATUS FILE
`
`FIG. QF
`
`580580
`
`CEGATIVE
`STATUS FILE
`CONTAINS ACTIVE NEGATIVE
`STATUS RECORDS FOR
`OTHER LOCATIONS
`
`DYES
`
`NO
`RETRIEVE CUSTOMER
`RECORD FROM
`CUSTOMER FILE
`
`CAIL STATUS ROL
`SUBROUTINE
`[ROLL TO PREMOUS STATUS]
`
`WRITE CUSTOMER RECORD
`TO CUSTOMER FILE
`
`59?
`
`994
`
`595
`
`096
`
`584
`
`586
`
`587
`
`588
`
`WRITE. CONFIRMATION
`TO RESPONSE DATA ADDRESS|“597
`
`SEND STOP REQUEST
`
`598
`
`PROVI-1021 - Page 16
`
`PROVI-1021 - Page 16
`
`
`
`U.S. Patent
`
`Jul. 15, 1997
`
`Sheet 15 of 65
`
`5,649,114
`
`908
`
`602
`
`DISPATCH FROM HOST
`DATA MANAGER
`
`READ NEGATIVE STATUS
`RECORDS RECEIVED
`FROM REMOTE
`
`NO
`
`NEGATIVE
`STATUS FILE
`CONTAINS NEGATIVE
`STATUS RECORD
`
`6
`
`06
`
`YES
`
`607
`
`RETRIEVE NEGATIVE
`STATUS RECORD
`
`COPY REMOTE
`NEGATIVE STATUS
`RECORD
`
`REPLACE HOST STATUS
`WITH REMOTE STATUS
`
`REPLACE HOST BAD
`FREQUENCY/$AMOUNT
`WITH REMOTE BAD
`
`FREQUENCY/$AMOUNT
`
`ROLL ACCESS DATE/TIME
`
`608
`
`61
`
`0
`
`61
`
`2
`
`614
`
`WRITE NEGATIVE STATUS
`RECORD TO NEGATIVE
`STATUS FILE
`
`FIG. QF
`
`600
`
`NEGATIVE
`STATUS FILE
`ONTAINS ACTIVE NEGATIVE
`STATUS RECORDS FOR
`OTHER LOCATIONS
`
`VES
`
`NO
`
`RETRIEVE CUSTOMER RECORD
`FROM CUSTOMER FILE
`
`CALL ROLL ROUTINE
`
`CALL STATUS ROLL
`SUBROUTINE
`ROLL TO PREVIOUS STATUS]
`
`[
`
`WRITE CUSTOMER RECORD
`TO CUSTOMER RECORD FILE
`
`SEND STOP REQUEST
`
`[-618
`
`620
`
`622
`
`624
`
`626
`
`PROVI-1021 - Page 17
`
`PROVI-1021 - Page 17
`
`
`
`US. Patent
`
`Jul. 15, 1997
`
`Sheet 16 of 65
`
`5,649,114
`
`508
`
`632~|
`
`DISPATCH FROM
`HOST DATA MANAGER
`
`READ CUSTOMER RECORD
`RECEIVED FROM REMOTE
`
`
`
`NO
`
`
`654
`CUSTOMER
`
`
`FILE CONTAINS
`
`CUSTOMER
`
`RECORD
`
`YES
`
`RETRIEVE
`
`CUSTOMER RECORD
`
`636
`
`CALL ROLL ROUTINE
`
`
`
`
`COPY REMOTE
`
`CUSTOMER RECORD
`
`cat DWT DATA]
`
`
`fost,
`
`STATUS IS
`
`CAUTION, POSITIVE
`OR STOLEN AND IS NOT
`EQUAL TO REMOTE
`STATUS
`.
`YES
`
`SET TO ZERO
`
`640
`
`ARBITRATE/ASSIGN
`STATUS
`
`642
`
`FIG. 9G
`
`530
`
`|
`
`
`
`ADD
`REMOTE [TRANSFER FREQUENCY]
`REMOTE [TRANSFER $AMOUNT]
`TO
`HOST [DWT FREQUENCY]
`HOST [OWT $AMOUNT]
`
`HOST>
`REMOTE
`
`646
`
`HOST<
`REMOTE
`
`
` COMPARE
`
`
`HOST/REMOTE
`
`
`[DWT FREQUENCY]
`[OWT $AMOUNT]
`
`
`
`
`SELECT
`SELECT
`HOST
`REMOTE
`DWT DATA
`DWT DATA
`
`WRITE CUTOMER RECORD
`TO CUSTOMER
`RECORD FILE
`
`650
`
`SEND STOP REQUEST
`
`652
`
`PROVI-1021 - Page 18
`
`PROVI-1021 - Page 18
`
`
`
`U.S. Patent
`
`Jul. 15, 1997
`
`Sheet 17 of 65
`
`5,649,114
`
`DISPATCH FROM
`REMOTE DATA MANAGER
`
`308
`
`662
`
` RETRIEVE
`
`CUSTOMER RECORD
`
`
`
`
`
`664
`
`CUSTOMER
`
`FILE CONTAINS
`CUSTOMER
`
`
`RECORD
`
`
`
`COPY HOST
`SET TO ZERO
`CUSTOMER RECORD
`
`LOCAL DWT DATA)
`
`
`FIG. GH
`
`560
`
`671
`
`PROVI-1021 - Page 19
`
`
`
`ARBITRATE/ASSIGN
`STATUS
`
`WRITE CUTOMER RECORD
`TO CUSTOMER FILE
`
`SEND STOP REQUEST
`
`676
`
`
`
`678
`
`
`
`PROVI-1021 - Page 19
`
`
`
`U.S. Patent
`
`Jul. 15, 1997
`
`Sheet 18 of 65
`
`5,649,114
`
`FIG.
`
`10A
`
`EXECUTE
`
`POLLING SEQUENCE
`POLL TERMINAL ADDRESS
`0-31 SEQUENTIALLY
`
`
`
`
` POLLING
`
`703
`
`
`TMT REQUEST MONITOR
`
`TMT QUEUE
`
`
`
`
`NO REQUESTS
`
`
`
`
`
`
`SEQUENCE
`
` TERMINAL
`
`722
`DATA
`
`
`POLL STATE
`
`
`FLAGS
`
`READ RESPONSE
`
`
`
`DATA FROM
`
`TERMINAL BUFFER
`
`SEND POLL TOKEN
`
`
`
`
`
`
`
`SEND RXDATA TOKEN
`
`
`RECEIVE TX DATA
`[RESPONSE DATA]
`ANSWER
`
`[REQUEST DATA]
`
`RECEIVE
`NODATA ANSWER
`
` 724
`
`WRITE REQUEST DATA
`TO TERMINAL BUFFER
`
`SET WAIT STATE FLAG
`
`
`
`
`SPAWN TERMINAL
`REQUEST SUBTASK
`
`PROVI-1021 - Page 20
`
`PROVI-1021 - Page 20
`
`
`
`US. Patent
`
`Jul. 15, 1997
`
`Sheet 19 of 65
`
`5,649,114
`
`| | | { | I I |
`
`750
`
` VERIFY/
`752 QUERY STATUS
`FUNCTIONS ONLY |
`
`
` MANAGER
`ONLY FLAG IN
`CUSTOMER
`
`FUNCTION CODE
`
`
`RESPONSE
`
`732
`
`READ REQUEST DATA
`FROM TERMINAL BUFFER
`
`PARSE REQUEST DATA
`[FUNCTION CODE/OTHER
`DATA REQUEST DATA
`
`DISPATCH TO REQUEST/
`FUNTION ROUTINE
`
`736
`
`740
`
`BUILD SERVICE REQUEST
`RESPONDING TASK
`REQUESTING TASK
`FUNCTION CODE
`ADDRESS OF REQUEST DATA
`ADDRESS OF RESPONSE DATA
`STOP SEMAPHORE
`
`SEND SERVICE REQUEST
`TO SYSTEM KERNAL
`
`
`MONITOR
`SEMAPHORE
`FLAG
`
`
`
`744
`
`SET
`READ RESPONSE DATA
`
`16
`
`| | | | | | | | | | | | | | l { | | | |
`
`L
`
` PREAPPROVED
`FLAG IN CUSTOMER
`RECORD
`
`
` $AMOUNT EXCEED
`ANY CALL MANAGER
`
`
`LIMITS
`
`BUILD CALL
`
`MANAGER
`
`l l I I l i I 1 l I 1 ! { l
`
`
`CLEAR
`
`BUILD NORMAL RESPONSE
`
`WRITE RESPONSE INTO
`TERMINAL BUFFER
`
`SET TERMINAL
`DATA STATE FLAG
`
`766
`
`768
`
`vn
`
`PROVI-1021 - Page 21
`
`PROVI-1021 - Page 21
`
`
`
`US. Patent
`
`Jul. 15, 1997
`
`Sheet 20 of 65
`
`5,649,114
`
`FIG. 174
`
`
`
`EVENT—ACTIVE
`
`
`SEMAPHORE 812
`FROM EVENT FILE SPAWN EVENT SUBTASK
`
`READ NEXT EVENT/RECORD
`
`
`[EVENT RECORD]
` 816
`
`PROVI-1021 - Page 22
`
`PROVI-1021 - Page 22
`
`
`
`U.S. Patent
`
`Jul. 15, 1997
`
`Sheet 21 of 65
`
`5,649,114
`
`822
`
` RECEIVE EVENT
`
`TIME RECORD
`
`
`[1-10 ACTIMTIES]
`
`
`
`850
`
`SEND CUSTOMER
`RECORD ROUTINE
`
`FIC.
`
`17B
`
`SET EVENT
`824
` READ PREVIOUS ENDING
`
`
`ACTIVE SEMAPHORE}=59
`EVENT TIME FROM
`
`
`ROUTINE-DATA BLOCK
`
`
`854
`
`REQUEST DMT RETRIEVE
`CUSTOMER RECORD
`[TIME/CHECK ID]
`
`
`858
`
`8
`
`55
`
`YES(8)
`
`85
`
`6
`
`SET
`
`READ RESPONSE DATA
`
`~
`
`
`
`
`
`
`EXTRACT ACCESS
`TIME/CHECK ID
`
`FROM CUSTOMER
`
`RECORD
`
`
` EVENT
`TIME GREATER
`
`
`THAN ACCESS
`TIME
`
`YES
`
`
`
`READ ACTIVITIES IN
`SEQUENCE FROM
`ACTIMTY TABLE
`
`
`
`
` ACTIVITY SEQUENCE
`
`
`
` 828
`
`ACTIMTY
`
`SEQUENCE
`COMPLETE.
`
`
`
`
`
`
`NO
`
`DISPATCH TO
`ACTIVITY ROUTINE
`
`ORGINATE CALL
`ROUTINE
`
`REQUEST MMT
`DIAL HOST
`
`840
`
`842
`
`8453
`
`SET
`
`REQUEST MNT
`SEND LOG-IN
`
`844
`
`Katsiem
`
`45
`
`SET
`
`SET MODEM FLAG
`
`
`
` CLEAR EVENT
`
`
`ACTIVE
`SEMAPHORE
`
`
`
`878
`
`PROVI-1021 - Page 23
`
`PROVI-1021 - Page 23
`
`
`
`U.S. Patent
`
`Jul. 15, 1997
`
`Sheet 22 of 65
`
`5,649,114
`
`
` EXECUTE[.-904
`
`7
`
`908
`
`RING
`LOCATION
`
`YES
`
`932
`
`on.
`
`933
`
`YES
`
`RECEIVE COMM
`PACKET
`
`BUILD SERVICE
`REQUEST
`
`SEND SERVICE
`REQUEST 10
`SYSTEM KERNAL
`
`READ STOP
`REQUEST
`FROM QUEUE
`
`
`
`
`
`
`
`
`934
`
`936
`
`938
`
`940
`
`944
`
`946
`
`906
`
`READ INTERTASK
`REQUEST PACKET
`
`910
`
`DECODE AND DISPATCH
`
`912
`
`914
`
`916
`
`918
`
`READ REQUEST DATA
`FROM REQUEST
`DATA LOCATION
`
`BUILD COMM
`PACKET
`
`SEND COMM
`PACKET
`
`RECEIVE REPLY
`
`920
`
`922
`
`924
`
`SEND STOP
`REQUEST
`
`929
`
`
`
` RESEONSE DATA
`
`
`STOP REQUEST
`READ
`
`RESPONSE DATA|~942
`
`
`WRITE REPLY TO
`RESPONSE DATA
`
`ADDRESS
`
`BUILD REPLY
`
`RESPONSE DATA
`STOP REQUEST
`
`SEND REPLY
`
`FIC.
`
`12
`
`YES
`
`948
`
`DISCONNECT
`
`949
`
`PROVI-1021 - Page 24
`
`PROVI-1021 - Page 24
`
`
`
`U.S. Patent
`
`Jul. 15, 1997
`
`Sheet 23 of 65
`
`5,649,114
`
`FROM
`FIG. 138
`
`|3
`
`START;
`
`FIG.
`
`713A
`
`CHECK [IS RECEIVED AT
`RETAIL STORE
`
`MICR CODE IS READ
`USING A CHECK
`SCANNING DEVICE
`
`PARSE_MICR;
`
`BANK'S TRANSIT NUMBER
`IS LOCATED BETWEEN
`SYMBOLS AT POSITIONS
`33 AND 43
`
`BANK'S TRANSIT NUMBER
`IS USED TO FORM FIRST
`PART OF CUSTOMER'S ID
`
`LOCATE.SEQUENCE_f:
`
`CHECK TRANSIT CODE
`TABLE FOR THIS BANK'S
`TRANSIT NUMBER
`
`[F (CODE_FOUND_IN_
`TABLE
`
`READ PARAMETERS GIVING
`LOCATION OF SEQUENCE #
`AND CUSTOMER'S
`ACCOUNT #
`
`USE PARAMETERS TO
`REMOVE SEQUENCE # AND
`IDENTIFY CUSTOMER'S
`ACCOUNT #
`
`0
`
`22
`
`AUXILIARY ON US [S
`SEQUENCE NUMBER
`
`USE ON US (POSITION
`14 THRU 31) FOR
`ACCOUNT NUMBER
`
`19
`
`CHECK FOR PRESENCE OF
`AUXILIARY ON US
`(POSITION 45 THRU 65)
`
`(%¢
`
`<a>
`
`N
`
`5
`
`26
`
`27
`
`IF (AUX_ON_US_PRESENT)
`USE SEPARATORS T0
`DETERMINE. DISCRETE
`NUMBERS IN ON US
`(POSITION 14 THRU 31)
`ON US SYMBOLS AND
`SPACING OF 2 OR MORE
`SPACES SEPARATE
`DIFFERENT NUMBERS
`
`COMPRESS DASHES OR
`SINGLE SPACE
`SEPARATORS FROM
`EACH NUMBER
`
`IF (NUMBER COUNT = 1
`
`<>
`
`N
`
`TO FIG. 158
`
`30
`
`SEQUENCE NUMBER
`CANNOT BE DETERMINED
`
`PROVI-1021 - Page 25
`
`PROVI-1021 - Page 25
`
`
`
`U.S. Patent
`
`Jul. 15, 1997
`
`Sheet 24 of 65
`
`5,649,114
`
`FROM FIG. 134
`
`C36)SHITCH (NUMBER_COUNT)
`
`
` CASE THREE_DISCREET_
`
`NUMBER:
`
`FIND ACTUAL NUMERIC
`VALUE OF THREE
`NUMBERS
`
`LARGEST VALUE USED
`FOR ACCOUNT NUMBER
`
`37
`
`38
`
`39
`
`SIGNAL OPERATOR THAT
`SEQUENCE NUMBER MUST
`BE MANUALLY SPECIFIED
`
`32
`
`33
`
`USE SEQUENCE NUMBER
`INPUT TO DETERMINE
`PARAMETERS FOR
`LOCATION IN ON US
`
`WRITE PARAMETERS FOR
`THIS TRANSIT # TO
`TRANSIT CODE TABLE
`FOR FUTURE USE
`
`
`
`CASE TWO_DISCREET_
`NUMBERS:
`
`FIND ACTUAL NUMERIC
`VALUE OF TWO NUMBERS
`
`USE SMALLER VALUE FOR
`SEQUENCE NUMBER;
`LARGER VALUE FOR
`ACCOUNT NUMBER
`
`COMBINE TRANSIT # WITH
`MIDDLE VALUE USED
`ACCOUNT # TO FORM
`FOR SEQUENCE NUMBER{91
`CUSTOMER'S UNIQUE
`CHECKING ACCOUNT ID
`
`45
`
`SMALLEST VALUE
`(TRANSACTION PROCESSING
`CODE)
`IS APPENDED T0
`ACCOUNT f
`
`SEND ID CODE 10 THE
`PROCESSOR WHICH
`CONTAINS A STORED
`DATABASE OF ID CODES
`
`SEARCH_DATABASE;
`
`USING [D CODE AS
`PRIMARY KEY, SEARCH
`DATABASE FOR THIS
`CUSTOMER'S ID CODE
`
`o4
`
`<56> IF (10COOE_FOUND)
` CHECK FOR COMPLETENESS N
`
`
`
`1<38> IF (RECORD_1S_COMPLETE)
`
`OF PREDETERMINED
`IDENTIFICATION CRITERIA
`
`N
`
`
`
`SIGNAL TO SCANNING
`LOCATION THAT ADDITIONAL
`IDENTIFICATION
`CRITERIA 1S NEEDED
`
`
`
`
`
`
`SIGNAL TO SCANNING
`LOCATION THAT NO
`FURTHER INFORMATION
`
`
`7\
`IS REQUIRED
`
`
`67
`
`
`68
`
`
`
`iY)
`
`INITIALIZE FIELDS AND
`ADD CUSTOMER'S 1D
`CODE TO DATABASE
`
`SIGNAL TO SCANNING
`LOCATION THAT
`ADDITIONAL IDENTIFICATION
`CRITERIA 1S NEEDED
`
`ENTER ANY ADDIFIONAL
`IDENTIFICATION CRITERIA
`FROM FACE OF
`PERSONAL CHECK
`
`REWRITE. DATABASE RECORD
`WITH ADDITIONAL
`IDENTIFICATION CRITERIA
`
`FIG.
`
`15B
`
`3
`
`RECORD SHOPPING EVENT
`AND DOLLARS SPENT 10
`PROVIDE SHOPPING HISTORY
`
`TO FIG. 13A
`STEP 5
`
`PROVI-1021 - Page 26
`
`PROVI-1021 - Page 26
`
`
`
`U.S. Patent
`
`Jul. 15, 1997
`
`Sheet 25 of 65
`
`5,649,114
`
`
`
`CUSTOMER ENTERS RETAIL
`STORE AND TENDERS
`PURCHASE WITH A
`PERSONAL CHECK
`
`DETERMINED
`IDENTIFICATION CRITERIA
`
`
`
`
`
`
`
`KEY ON UNIQUE CHECKING
`
`ACCOUNT ID CODE 10
`ACCESS CUSTOMER
`
`IN DATABASE
`IN_ DATABASE) RECORD SHOPPING EVENT
`
`IF (CUSTOMER_EXISTS
`FOR EXISTING CUSTOMER
`
`ADD TO DATABASE WITH
`'
`CHECK FOR
`HECK oun e
`COMPLETENESS OF PRE-
`
`
`TOMER'S
`UNIQU
`
`
`
`
`ID CODE
`
`
`
`
`
`SIGNAL TO. SCANNING
`LOCATION THAT ADDITIONAL ‘ Y IF (RECORD_IS_COMPLETE
`SIGNAL TO SCANNING
`
`
`LOCATION THAT NO
`
`
`IDENTIFICATION
`
`FURTHER INFORMATION
`
`CRITERIA 1S NEEDED
`N
`
`SIGNAL TO SCANNING
`IS REQUIRED
`
`
`
`
`LOCATION THAT ADDITIONAL
`RECORD SHOPPING EVENT(15
`
`CRITERIA 1S NEEDED
`FOR EXISTING CUSTOMER
`
`
`
`
`HISTORY OF CUSTOMER'S
`SHOPPING FOR A PRE-
`DETERMINED TIME
`
` CONTINUE BUILDING A
`
`IF (HISTORY_IS_COMPLETE)
`
`A DATABASE OF THE
`STORE'S EXISTING
`CUSTOMER'S CHECKING
`INFORMATION IS COMPLETE
`
`ACQUIRE A LIST OF
`PROSPECTIVE CUSTOMERS
`IN A PRE-DETERMINED
`GEOGRAPHICAL AREA
`
`TO FIG. 4B
`
`FIG.
`
`14A
`
`PROVI-1021 - Page 27
`
`PROVI-1021 - Page 27
`
`
`
`U.S. Patent
`
`Jul. 15, 1997
`
`Sheet 26 of 65
`
`5,649,114
`
`FROM FIG. 14A
`
`(FUNCTION RETURN)
`
`CREATE TARGET FILE OF
`PROSPECTIVE CUSTOMERS
`NOT APPEARING IN
`STORE'S DATABASE
`
`READ FIRST RECORD FROM
`ACQUIRED LIST OF
`PROSPECTIVE CUSTOMERS
`
`SEARCH STORE'S
`DATABASE OF EXISTING
`CUSTOMER'S CHECKING
`ACCOUNT INFORMATION
`
`IF (CUSTOMER_
`EXISTS_IN_DATABASE}
`
`WRITE RECORD FROM
`LIST OF PROSPECTIVE
`CUSTOMERS TO
`TARGETFILE
`
`READ NEXT RECORD
`FROM LIST OF
`PROSPECTIVE CUSTOMERS
`IN PREDETERMINED AREA
`IF (END_OF_FILE)
`
`TARGET FILE CONSISTS OF
`PROSPECTIVE CUSTOMERS
`NOT FOUND IN STORE'S
`DATABASE
`
`MARKETING MAY NOW
`BE TARGETED AT NON-
`CUSTOMER'S IN SAID
`GEOGRAPHICAL AREA
`
`FIG. 14B
`
`PROVI-1021 - Page 28
`
`PROVI-1021 - Page 28
`
`
`
`U.S. Patent
`
`Jul. 15, 1997
`
`Sheet 27 of 65
`
`5,649,114
`
`
`
`CUSTOMER ENTERS RETAIL
`STORE AND TENDERS
`PURCHASE WITH A
`PERSONAL CHECK
`
`KEY ON UNIQUE CHECKING
`ACCOUNT ID CODE 10
`ACCESS CUSTOMER
`IN DATABASE
`
`
`
`
`
`
`IN_DATABASE) RECORD SHOPPING EVENT
`
`IF (CUSTOMER_EXISTS
`FOR EXISTING CUSTOMER
`
` ADD TO DATABASE WITH
`'
`
`
`COMPLETENESS OF PRE-
`OEORNG a
`CUSTOMER'S
`UNI
`DETERMINED
` IDENTIFICATION CRITERIA
` ID CODE
`
`
`SIGNAL TO SCANNING
`
`LOCATION THAT ADDITIONAL ity Y IF (RECORD_IS_COMPLETE)
`SIGNAL TO SCANNING
`
`LOCATION THAT NO
`
`
`IDENTIFICATION
`
`FURTHER INFORMATION
`
`N
`CRITERIA IS NEEDED
`
`SIGNAL TO SCANNING
`IS REQUIRED
`
`
`
`
`
`LOCATION THAT ADDITIONAL
`
`RECORD SHOPPING EVENT\!9
`CRITERIA IS NEEDED
`
`FOR EXISTING CUSTOMER
`
`
`
` CONTINUE BUILDING A
`HISTORY OF CUSTOMER'S
`SHOPPING FOR A PRE-
`DETERMINED TIME
`
`CHECK FOR
`
`
`
`
`
`IF (HISTORY_IS_COMPLETE)
`
`A DATABASE OF THE
`STORE'S EXISTING
`CUSTOMER'S CHECKING
`INFORMATION IS COMPLETE
`
`CREATE A TARGET FILE
`OF CUSTOMERS WHO HAVE
`NOT SHOPPED SINCE A
`PRE-SELECTED DATE
`
`TO FIG. 158
`
`FIG.
`
`15A
`
`PROVI-1021 - Page 29
`
`PROVI-1021 - Page 29
`
`
`
`US. Patent
`
`Jul. 15, 1997
`
`Sheet 28 of 65
`
`5,649,114
`
`FROM FIG. 15A
`
`READ FIRST RECORD IN
`DATABASE OF CUSTOMER'S
`CHECKING ACCOUNT
`INFORMATION
`
`LOCATE LAST TRANSACTION
`DATE IN CUSTOMER'S
`SHOPPING HISTORY
`
`COMPARE LAST TRANSACTION
`DATE WITH PRE-SELECTED
`TARGET DATE
`
`IF (SHOPPED_SINCE_
`TARGET_DATE)
`
`WRITE RECORD FROM
`STORE'S DATABASE OF
`CUSTOMERS TO TARGETFILE
`
`(FUNCTION RETURN)
`
`READ NEXT RECORD
`FROM STORE'S DATABASE
`OF CUSTOMERS
`
`IF (END_OFFILE)
`
`TARGET FILE CONTAINS
`CUSTOMERS NOT SHOPPING
`SINCE PRE-SELECTED
`TARGET DATE
`
`MARKETING MAY NOW
`BE TARGETED AT
`CUSTOMER'S NOT SHOPPING
`SINCE TARGET DATE
`
`FIG. 15B
`
`PROVI-1021 - Page 30
`
`PROVI-1021 - Page 30
`
`
`
`U.S. Patent
`
`Jul. 15, 1997
`
`Sheet 29 of 65
`
`5,649,114
`
`START.
`
`
`
`CUSTOMER ENTERS RETAIL
`STORE AND TENDERS
`PURCHASE WITH A
`PERSONAL CHECK
`
`CUSTOMER'S UNIQUE
`CHECKING ACOUNT
`IO CODE
`
`
`
`
`KEY ON UNIQUE CHECKING
`ACCOUNT ID CODE 10
`ACCESS CUSTOMER
`
`IN. DATABASE
`IN_DATABASE)
`
`IF (CUSTOMER_EXISTS
` ADD 10 DATABASE WITH
`
`
`
`
`SIGNAL TO SCANNING
`
`
`
`
`
`LOCATION THAT ADDITIONAL
`IF (RECORD_IS_COMPLETE—
`ewtcaTON=<i>
`
`
`
`CRITERIA IS NEEDED
`
`
`SIGNAL TO SCANNING
`
`
`LOCATION THAT ADDITIONAL
`RECORD SHOPPING EVENT
`14
`CRITERIA IS NEEDED
`FOR EXISTING CUSTOMER
`
`
` CONTINUE BUILDING A
`
`HISTORY OF CUSTOMER'S
`SHOPPING FOR A PRE~
`DETERMINED TIME
`
`RECORD SHOPPING EVENT
`FOR EXISTING CUSTOMER
`
`CHECK FOR
`COMPLETENESS OF PRE-
`DETERMINED
`IDENTIFICATION CRITERIA
`
`
`
`Y
`
`SIGNAL TO SCANNING
`LOCATION THAT NO
`FURTHER INFORMATION
`IS REQUIRED
`
`IF (HISTORY_IS_COMPLETE)
`
`A DATABASE OF THE
`STORE'S EXISTING
`CUSTOMER'S CHECKING
`INFORMATION IS COMPLETE
`
`CREATE TARGET FILE OF
`CUSTOMERS WHO LAST
`SHOPPED WITHIN PRE-
`SELECTED OATE RANGE
`
`TO FIG. 168
`
`FIG.
`
`16A
`
`PROVI-1021 - Page 31
`
`PROVI-1021 - Page 31
`
`
`
`US. Patent
`
`Jul. 15, 1997
`
`Sheet 30 of 65
`
`5,649,114
`
`FROM FIG. 16A
`
`DATE RANGE (FUNCTION RETURN)
`
`READ FIRST RECORD IN
`DATABASE OF CUSTOMER'S
`CHECKING ACCOUNT
`INFORMATION
`
`LOCATE LAST TRANSACTION
`DATE IN CUSTOMER'S
`SHOPPING HISTORY
`
`COMPARE LAST
`TRANSACTION DATE WITH
`PRE-SELECTED TARGET
`DATE RANGE
`
`IF (DATE_WTHIN_
`TARGET_RANGE)
`
`WRITE RECORD FROM
`STORE'S DATABASE
`OF CUSTOMERS TO
`TARGET FILE
`
`READ NEXT RECORD
`FROM STORE'S
`DATABASE OF
`CUSTOMERS
`
`IF (END_OF_FILE)
`
`TARGET FILE CONTAINS
`CUSTOMERS WHO LAST
`SHOPPED WITHIN
`SAID DATE RANGE
`
`MARKETING MAY NOW
`BE TARGETED AT
`CUSTOMER'S LAST
`SHOPPING WITHIN
`
`FIG. 16B
`
`PROVI-1021 - Page 32
`
`PROVI-1021 - Page 32
`
`
`
`US. Patent
`
`Jul. 15, 1997
`
`Sheet 31 of 65
`
`5,649,114
`
`FIG.
`
`17A
`
`START;
`
`CUSTOMER TENDERS
`PURCHASE WITH A
`PERSONAL CHECK OR
`PROVIDES PHONE f
`SEND CHECK ID CODE
`OR PHONE 4 10
`PROCESSOR FOR
`ACCESSING CUSTOMER
`DATABASE
`
`IF (CUSTOMER_IS_
`IN_DATABASE}
`
`RECORD IS CREATED
`FOR CUSTOMER AND
`ALL FIELDS ARE SET
`TO INITIALIZED VALUES
`
` CASE VALUE_SET_IN_
`
`PROCESSOR RECORDS
`SHOPPING EVENT AND
`DOLLARS SPENT 10
`PROVIDE SHOPPING
`HISTORY
`
`POINT OF SALE
`COUPONS OF VARYING
`VALUE ARE AVAILABLE
`FOR CUSTOMER
`
`PROCESSOR DETERMINES
`VALUE OF COUPONS TO .
`BE DISPERSED 10
`CUSTOMER
`
`SWITCH (METHOD.
`DETERMINE_VALUE)
`
`DATABASE:
`
`
`CASE 3O_DAY_
`VOLUME:
`
`
`PRESET DOLLAR LIMITS
`AND ASSOCIATED
`COUPON VALUE'S ARE
`STORED ON-LINE
`
`
`
`
`
`
`COMPARE LAST 30
`
`
`DAY'S DOLLAR VOLUME
`TO PREDETERMINED
`LIMITS
`
`TO FIG. 178
`
`CRITERIA SUCH AS
`VOLUME, FREQUENCY,
`AND DEMOGRAPHICS,
`ETC. ARE PRESET
`
`DATABASE IS ANALYZED
`OFF-LINE AND FLAGS
`ARE SET BASED ON
`PRESET CRITERIA
`
`PROVI-1021 - Page 33
`
`PROVI-1021 - Page 33
`
`
`
`U.S. Patent
`
`Jul. 15, 1997
`
`Sheet 32 of 65
`
`5,649,114
`
`FROM FIG. 17A
`
`
`LMT 1)
` IF (VOLUME < DOLLAR
`
`SECONDARY SHOPPER
`DETECTED, COUPON
`
`
`INCENTIVE VALUE A IS
`
`
`
`ISSUED
`
`IF (VOLUME < DOLLAR
`
`LIMIT 2)
` PRIMARY SHOPPER
`
`
`
`
`
`DETECTED, COUPON
`
`HIGH VOLUME SHOPPER
`INCENTIVE VALUE B IS
`
`DETECTED, COUPON
`ISSUED
`
`INCENTIVE VALUE C IS
`ISSUED
`
`
`
`
`
`
`
`
`CASE COUPON_PRINTER:
`
`PROCESSOR SPOOLS
`COUPONS 10 POINT OF
`SALE COUPON PRINTER
`
`ON-LINE PROCESSOR
`USES FLAGS AND
`CURRENT PURCHASE 10
`DETERMINE COUPON
`VALUE
`
`COUPONS DISPENSED
`EITHER IN MANUAL
`PACKETS OR WITH A
`COUPON PRINTER
`
`SWITCH (METHOD_OF_
`DISPERSEMENT}
`
`CASE HAND_OUT_PACKET:
`
`PROCESSOR SIGNALS 10
`OPERATOR WHICH
`COUPON VALUE PACKET
`TO GIVE CUSTOMER
`OR DIRECT MAIL
`COUPON TO CUSTOMER
`
`PROVI-1021 - Page 34
`
`PROVI-1021 - Page 34
`
`
`
`U.S. Patent
`
`Jul. 15, 1997
`
`FIG.
`
`178A
`
`5,649,114
`
`CUSTOMER'S PURCHASE IS
`TRANSACTED WITH THE USE
`OF BAR CODE SCANNING
`REGISTER
`
`ITEM IS SCANNED BY BAR
`CODE SCANNING REGISTER
`
`CASH REGISTER MAINTAINS
`DEPARTMENT, PRODUCT,
`AND PRODUCT GROUP
`SHOPPED
`
`Sheet 33 of 65
`
`IF (ALL_ITEMS_ARE_
`SCANNED)
`
`CUSTOMER TENDERS
`PURCHASE WITH A
`PERSONAL CHECK OR
`PROVIDES PHONE #
`
`SEND CHECK {D CODE OR
`PHONE # 10 PROCESSOR
`FOR ACCESSING
`CUSTOMER DATABASE
`
`IF (CUSTOMER_IS_IN_
`DATABASE)
`
`RECORD §S CREATED FOR
`CUSTOMER AND ALL FIELDS
`ARE SET TO INITIALIZED
`VALUES
`
`SEND INFORMATION ON
`SCANNED ITEMS 10
`PROCESSOR CONTAINING
`DATABASE
`
`PROCESSOR RECORDS
`SHOPPING EVENT AND
`DOLLARS SPENT 10
`PROVIDE SHOPPING
`HISTORY
`
`PROCESSOR UPDATES
`CUSTOMER'S RECORD WITH
`SCANNED ITEMS
`INFORMATION
`
`POINT OF SALE COUPONS
`OF VARYING VALUE ARE
`AVAILABLE FOR CUSTOMER
`
`TO FIG. 188
`
`PROVI-1021 - Page 35
`
`PROVI-1021 - Page 35
`
`
`
`U.S. Patent
`
`Jul. 15, 1997
`
`Sheet 34 of 65
`
`5,649,114
`
`FROM FIG. 18A
`
`CASE 30_DAY_VOLUME:
`
`PRESET DOLLAR LIMIT’S
`AND ASSOCIATED COUPON
`VALUE'S ARE STORED
`ON-LINE
`
`
`
`
`
`
`
`
`
`COMPARE LAST 30 DAY'S
`
`
`DOLLAR VOLUME 10
`PREDETERMINED LIMIT’S
`
`
`
`IF (VOLUME < DOLLAR
`
`LIMIT 1)
` SECONDARY SHOPPER
`DETECTED, COUPON
`
`
`INCENTIVE VALUE A
`
`
`IS ISSUED
`
`LIMIT 2)
`IF (VOLUME < DOLLAR
`
`
`
`
`
`
`
`
`
`PRIMARY SHOPPER
`DETECTED, COUPON
`INCENTIVE VALUE B
`IS ISSUED
`
`HIGH VOLUME SHOPPER
`DETECTED, COUPON
`INCENTIVE VALUE C
`IS ISSUED
`
`
`
`
`PROCESSOR DETERMINES
`VALUE OF COUPONS 10
`BE DISPERSED 10
`CUSTOMER
`
`SWITCH (METHOD_
`DETERMINE_VALUE)
`
`CASE VALUE_SET_IN_
`DATABASE:
`
`CRITERIA SUCH AS
`VOLUME, FREQUENCY, AND
`DEMOGRAPHICS, ETC.
`ARE PRESET
`
`DATABASE IS ANALYZED
`OFF-LINE AND FLAGS ARE
`SET BASED ON PRESET
`CRITERIA
`
`ON-LINE PROCESSOR USES
`FLAGS AND CURRENT
`PURCHASE TO DETERMINE
`COUPON VALUE
`
`DATABASE CONTAINS
`PRESET FIELDS TO
`MONITOR CUSTOMER
`SHOPPING ACTIVITY
`
`ACTIVITY MONITORED
`INCLUDES PRESET
`DEPARTMENT AND PRESET
`ITEM TRACKING
`
`PROCESSOR ANALYZES
`SHOPPING HISTORY TO
`DETECT EXCEPTIONS 10
`DEPTS AND ITEMS
`
`WAX_SUB WILL REPRESENT
`THE NUMBER OF DEPTS
`AND ITEMS BEING TRACKED
`
`TABLES OF COUPON
`OFFERINGS
`
`DEPTS AND ITEMS IN
`TABLE ARE PRESET IN
`ORDER OF DECREASING
`PRIORITY
`
`TO FIG. 18C
`
`PROVI-1021 - Page 36
`