IP Library › Granted Patent US 11,790,388
Granted Patent B2
US 11,790,388 · App. 17/490,732 · Granted Oct 17, 2023

System, method, and computer program for automatic coupon code fill in a mobile application

Inventors: Naveed Zanoon (Melbourne, AU); Adam Roth (Sunshine Coast, AU); Feng Xie (Melbourne, AU); Mujtaba Hussain (Melbourne, AU); James Seymour-Lock (New York, NY)
Assignee: Rakuten Group, Inc.
G06Q30/0222G06F16/953G06F40/174G06N3/02G06Q30/0239H04W4/30
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,790,388
App. No.
17/490,732
Granted
Oct 17, 2023
Kind
B2
Abstract

The present disclosure relates to a system, method, and computer program for automatic coupon code fill in a mobile application. The system identifies a checkout page in a WebView of a mobile application and extracts field data from the checkout page. The system identifies a coupon code field and a cart total field from the field data. The system obtains one or more coupon code(s) and tests the one or more coupon code(s) in the checkout page. The one or more coupon code(s) are tested in the identified coupon code field to determine whether any of the coupon code(s) cause the value associated with the cart total field to decrease. In response to one or more coupon code(s) providing a reward on the checkout page, the system identifies a best coupon code, which it inserts in the identified coupon code field in the checkout page in the mobile application.

Claims (122)

1. A method performed by a computer system for automatic coupon code fill in a mobile application, the method comprising:

the mobile application launching a software module for analyzing a WebView of a mobile application;

the mobile application injecting the software module into a webpage in the WebView;

the software module identifying a checkout page in a WebView of a mobile application;

the software module extracting field data from the checkout page in the WebView of the mobile application;

identifying a coupon code field and a cart total field from the field data, wherein identifying a coupon code field and a cart total field from the field data comprises:

the software module generating a payload with the extracted field data,

the mobile application sending the payload to a mapping module on a server, wherein the mapping module on the server maps the field data in the payload to one or more field parameter(s) (“the field parameter mappings”), wherein a field parameter is a value that indicates a field type, and wherein the server mapping the field data in the payload to one or more field parameter(s) comprises:

filtering and sanitizing the field data,

performing pre-process data transformation,

building and pruning a webpage tree,

searching the webpage tree and scoring one or more nodes,

validating results of the scoring,

clustering fields and performing any needed concatenation or formatting of fields, and

verifying results payload using heuristics and scoring validation, wherein the results payload are used to map the fields to parameters,

the server returning the field parameter mappings to the mobile application, and

the software module using the field parameter mappings to find the coupon code field and the cart total field on the webpage;

obtaining one or more coupon code(s);

the software module testing the one or more coupon code(s) in the checkout page in the WebView of the mobile application, wherein the one or more coupon code(s) are tested in the identified coupon code field to determine whether any of the coupon code(s) cause the value associated with the cart total field to decrease;

in response to one or more coupon code(s) providing a reward on the checkout page, the software module identifying a best coupon code; and

the software module inserting the best coupon code in the identified coupon code field in the checkout page in the mobile application.

2. The method of claim 1 , wherein extracting field data comprises:

creating an object model of the webpage;

searching for labels associated with the coupon code and cart total fields to identify potential coupon code and cart total fields, wherein the search is performed using the object model and the webpage;

gathering contextual data around the identified fields;

collecting metadata for the identified fields;

verifying the identified fields are visible to the user; and

generating a payload with the contextual data and metadata for the identified fields.

3. The method of claim 1 , wherein the mapping process comprises:

extracting metadata from the extracted field data from the checkout page;

creating a payload of the metadata;

uploading the payload of the metadata to a server;

generating field parameters from the payload of the metadata; and

returning the field parameters as a results payload.

4. The method of claim 1 , further comprising displaying the coupon code(s) being tested.

5. The method of claim 1 , further comprising displaying an amount saved in the mobile application after inserting the best coupon code in the identified coupon code field.

6. The method of claim 1 , wherein identifying the coupon code and cart total fields comprises:

creating a vector representation of each field in the field data;

applying a neural network to the vector representations of the fields in the field data; and

obtaining a predicted coupon code field and cart total field from the neural network.

7. A non-transitory computer-readable medium comprising a computer program, that, when executed by a computer system, enables the computer system to perform the following steps for automatic coupon code fill in a mobile application, the steps comprising:

the mobile application launching a software module for analyzing a Web View of a mobile application;

the mobile application injecting the software module into a webpage in the WebView;

the software module identifying a checkout page in a WebView of a mobile application;

the software module extracting field data from the checkout page in the WebView of the mobile application;

identifying a coupon code field and a cart total field from the field data, wherein identifying a coupon code field and a cart total field from the field data comprises:

the software module generating a payload with the extracted field data,

the mobile application sending the payload to a mapping module on a server, wherein the mapping module on the server maps the field data in the payload to one or more field parameter(s) (“the field parameter mappings”), wherein a field parameter is a value that indicates a field type, and wherein the server mapping the field data in the payload to one or more field parameter(s) comprises:

filtering and sanitizing the field data,

performing pre-process data transformation,

building and pruning a webpage tree,

searching the webpage tree and scoring one or more nodes,

validating results of the scoring,

clustering fields and performing any needed concatenation or formatting of fields, and

verifying results payload using heuristics and scoring validation, wherein the results payload are used to map the fields to parameters,

the server returning the field parameter mappings to the mobile application, and

the software module using the field parameter mappings to find the coupon code field and the cart total field on the webpage;

obtaining one or more coupon code(s);

the software module testing the one or more coupon code(s) in the checkout page in the WebView of the mobile application, wherein the one or more coupon code(s) are tested in the identified coupon code field to determine whether any of the coupon code(s) cause the value associated with the cart total field to decrease;

in response to one or more coupon code(s) providing a reward on the checkout page, the software module identifying a best coupon code; and

the software module inserting the best coupon code in the identified coupon code field in the checkout page in the mobile application.

8. The non-transitory computer-readable medium of claim 7 , wherein extracting field data comprises:

creating an object model of the webpage;

searching for labels associated with the coupon code and cart total fields to identify potential coupon code and cart total fields, wherein the search is performed using the object model and the webpage;

gathering contextual data around the identified fields;

collecting metadata for the identified fields;

verifying the identified fields are visible to the user; and

generating a payload with the contextual data and metadata for the identified fields.

9. The non-transitory computer-readable medium of claim 7 , wherein the mapping process comprises:

extracting metadata from the extracted field data from the checkout page;

creating a payload of the metadata;

uploading the payload of the metadata to a server;

generating field parameters from the payload of the metadata; and

returning the field parameters as a results payload.

10. The non-transitory computer-readable medium of claim 7 , further comprising displaying the coupon code(s) being tested.

11. The non-transitory computer-readable medium of claim 7 , further comprising displaying an amount saved in the mobile application after inserting the best coupon code in the identified coupon code field.

12. The non-transitory computer-readable medium of claim 7 , wherein identifying the coupon code and cart total fields comprises:

creating a vector representation of each field in the field data;

applying a neural network to the vector representations of the fields in the field data; and

obtaining a predicted coupon code field and cart total field from the neural network.

13. A computer system for automatic coupon code fill in a mobile application, the system comprising:

one or more processor(s);

one or more memory unit(s) coupled to the one or more processor(s), wherein the one or more memory unit(s) store instructions that, when executed by the one or more processor(s), cause the system to perform the operations of:

the mobile application launching a software module for analyzing a WebView of a mobile application;

the mobile application injecting the software module into a webpage in the WebView;

the software module identifying a checkout page in a WebView of a mobile application;

the software module extracting field data from the checkout page in the WebView of the mobile application;

identifying a coupon code field and a cart total field from the field data, wherein identifying a coupon code field and a cart total field from the field data comprises:

the software module generating a payload with the extracted field data,

the mobile application sending the payload to a mapping module on a server, wherein the mapping module on the server maps the field data in the payload to one or more field parameter(s) (“the field parameter mappings”), wherein a field parameter is a value that indicates a field type, and wherein the server mapping the field data in the payload to one or more field parameter(s) comprises:

filtering and sanitizing the field data,

performing pre-process data transformation,

building and pruning a webpage tree,

searching the webpage tree and scoring one or more nodes,

validating results of the scoring,

clustering fields and performing any needed concatenation or formatting of fields, and

verifying results payload using heuristics and scoring validation, wherein the results payload are used to map the fields to parameters,

the server returning the field parameter mappings to the mobile application, and

the software module using the field parameter mappings to find the coupon code field and the cart total field on the webpage;

obtaining one or more coupon code(s);

the software module testing the one or more coupon code(s) in the checkout page in the WebView of the mobile application, wherein the one or more coupon code(s) are tested in the identified coupon code field to determine whether any of the coupon code(s) cause the value associated with the cart total field to decrease;

in response to one or more coupon code(s) providing a reward on the checkout page, the software module identifying a best coupon code; and

the software module inserting the best coupon code in the identified coupon code field in the checkout page in the mobile application.

14. The system of claim 13 , wherein extracting field data comprises:

creating an object model of the webpage;

searching for labels associated with the coupon code and cart total fields to identify potential coupon code and cart total fields, wherein the search is performed using the object model and the webpage;

gathering contextual data around the identified fields;

collecting metadata for the identified fields;

verifying the identified fields are visible to the user; and

generating a payload with the contextual data and metadata for the identified fields.

15. The system of claim 13 , wherein the mapping process comprises:

extracting metadata from the extracted field data from the checkout page;

creating a payload of the metadata;

uploading the payload of the metadata to a server;

generating field parameters from the payload of the metadata; and

returning the field parameters as a results payload.

16. The system of claim 13 , further comprising displaying the coupon code(s) being tested.

17. The system of claim 13 , further comprising displaying an amount saved in the mobile application after inserting the best coupon code in the identified coupon code field.

18. The system of claim 13 , wherein identifying the coupon code and cart total fields comprises:

creating a vector representation of each field in the field data;

applying a neural network to the vector representations of the fields in the field data; and

obtaining a predicted coupon code field and cart total field from the neural network.

Assignments (2)
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE ADDRESS IN THE COVER SHEET PREVIOUSLY RECORDED AT REEL: 057659 FRAME: 0556. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Nov 3, 2021
From: ZANOON, NAVEED; ROTH, ADAM; XIE, FENG; HUSSAIN, MUJTABA; SEYMOUR-LOCK, JAMES
To: RAKUTEN GROUP, INC.
Reel/Frame 059383/0586 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2021
From: ZANOON, NAVEED; ROTH, ADAM; XIE, FENG; HUSSAIN, MUJTABA; SEYMOUR-LOCK, JAMES
To: RAKUTEN GROUP, INC.
Reel/Frame 057659/0556 →
Continuity (1)
Related Publication 20230095187A1 · Mar 30, 2023