earnrate 0.2.7 → 0.2.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (103) hide show
  1. package/README.md +31 -5
  2. package/data/CHANGELOG.md +142 -0
  3. package/data/VERSION +1 -1
  4. package/data/cards/amex-blue-business-plus.yaml +4 -0
  5. package/data/cards/amex-blue-cash-everyday.yaml +4 -0
  6. package/data/cards/amex-blue-cash-preferred.yaml +36 -3
  7. package/data/cards/amex-gold.yaml +4 -0
  8. package/data/cards/amex-platinum.yaml +4 -0
  9. package/data/cards/bank-of-america-atmos-rewards-ascent.yaml +4 -0
  10. package/data/cards/bank-of-america-atmos-rewards-business.yaml +4 -0
  11. package/data/cards/bank-of-america-atmos-rewards-summit.yaml +24 -1
  12. package/data/cards/bank-of-america-customized-cash-rewards.yaml +4 -0
  13. package/data/cards/bilt-obsidian.yaml +4 -0
  14. package/data/cards/capital-one-kohls-card.yaml +2 -0
  15. package/data/cards/capital-one-kohls-rewards-visa.yaml +2 -0
  16. package/data/cards/capital-one-savor.yaml +4 -0
  17. package/data/cards/capital-one-venture-x.yaml +4 -0
  18. package/data/cards/capital-one-venture.yaml +4 -0
  19. package/data/cards/chase-aeroplan.yaml +5 -0
  20. package/data/cards/chase-freedom-flex.yaml +4 -0
  21. package/data/cards/chase-freedom-unlimited.yaml +4 -0
  22. package/data/cards/chase-ihg-one-rewards-business.yaml +29 -1
  23. package/data/cards/chase-ihg-one-rewards-premier-select.yaml +37 -2
  24. package/data/cards/chase-ihg-one-rewards-premier.yaml +29 -1
  25. package/data/cards/chase-ihg-one-rewards.yaml +57 -7
  26. package/data/cards/chase-ink-business-cash.yaml +4 -0
  27. package/data/cards/chase-ink-business-preferred.yaml +4 -0
  28. package/data/cards/chase-prime-visa.yaml +16 -1
  29. package/data/cards/chase-sapphire-preferred.yaml +4 -0
  30. package/data/cards/chase-sapphire-reserve.yaml +4 -0
  31. package/data/cards/chase-southwest-performance-business.yaml +4 -0
  32. package/data/cards/chase-southwest-plus.yaml +4 -0
  33. package/data/cards/chase-southwest-premier-business.yaml +4 -0
  34. package/data/cards/chase-southwest-premier.yaml +4 -0
  35. package/data/cards/chase-southwest-priority.yaml +4 -0
  36. package/data/cards/chase-united-business.yaml +5 -0
  37. package/data/cards/chase-united-club-business.yaml +5 -0
  38. package/data/cards/chase-united-club.yaml +5 -0
  39. package/data/cards/chase-united-explorer.yaml +5 -0
  40. package/data/cards/chase-united-gateway.yaml +5 -0
  41. package/data/cards/chase-united-quest.yaml +29 -1
  42. package/data/cards/citi-aadvantage-business.yaml +4 -0
  43. package/data/cards/citi-aadvantage-executive.yaml +4 -0
  44. package/data/cards/citi-aadvantage-globe.yaml +4 -0
  45. package/data/cards/citi-aadvantage-mileup.yaml +4 -0
  46. package/data/cards/citi-aadvantage-platinum-select.yaml +4 -0
  47. package/data/cards/citi-costco-anywhere-visa-business.yaml +4 -0
  48. package/data/cards/citi-costco-anywhere-visa.yaml +4 -0
  49. package/data/cards/citi-custom-cash.yaml +2 -0
  50. package/data/cards/citi-double-cash.yaml +4 -0
  51. package/data/cards/citi-my-best-buy-visa.yaml +4 -0
  52. package/data/cards/citi-strata-elite.yaml +4 -0
  53. package/data/cards/citi-strata-premier.yaml +4 -0
  54. package/data/cards/sofi-unlimited-2.yaml +4 -0
  55. package/data/cards/td-bank-nordstrom-credit-card.yaml +2 -0
  56. package/data/cards/td-bank-nordstrom-visa.yaml +2 -0
  57. package/data/cards/td-bank-target-circle-card.yaml +2 -0
  58. package/data/cards/usbank-cash-plus.yaml +5 -0
  59. package/data/cards/wells-fargo-active-cash.yaml +4 -0
  60. package/data/cards/wells-fargo-autograph.yaml +4 -0
  61. package/data/merchants/overrides.yaml +284 -0
  62. package/data/merchants/seed.yaml +1055 -2
  63. package/dist/cli/args.js +3 -6
  64. package/dist/cli/explore.js +10 -0
  65. package/dist/cli/import.js +21 -9
  66. package/dist/cli/run.js +3 -1
  67. package/dist/cli/wallet.js +5 -1
  68. package/dist/data/atomic-write.js +13 -0
  69. package/dist/data/file-store.js +2 -2
  70. package/dist/data/integrity.js +17 -0
  71. package/dist/data/store.js +5 -2
  72. package/dist/data/wallet-edit.js +35 -24
  73. package/dist/engine/cheat-sheet.js +46 -2
  74. package/dist/engine/checklist.js +19 -8
  75. package/dist/engine/evaluate.js +2 -0
  76. package/dist/engine/explore.js +1 -1
  77. package/dist/engine/milestones.js +83 -0
  78. package/dist/engine/periods.js +29 -12
  79. package/dist/engine/recommend.js +43 -9
  80. package/dist/engine/record.js +39 -1
  81. package/dist/engine/rule-text.js +5 -1
  82. package/dist/engine/setup.js +14 -2
  83. package/dist/engine/simulate.js +25 -3
  84. package/dist/engine/text.js +11 -0
  85. package/dist/engine/wallet-change.js +70 -3
  86. package/dist/engine/wallet-summary.js +17 -5
  87. package/dist/format/cards.js +3 -1
  88. package/dist/format/wallet-yaml.js +5 -1
  89. package/dist/format/wallet.js +18 -4
  90. package/dist/import/analyze.js +42 -2
  91. package/dist/mcp/inputs.js +10 -0
  92. package/dist/mcp/schemas.js +47 -2
  93. package/dist/mcp/tools/account.js +1 -1
  94. package/dist/mcp/tools/answers.js +8 -4
  95. package/dist/mcp/tools/wallet.js +18 -10
  96. package/dist/merchants/cache.js +3 -5
  97. package/dist/merchants/fallback.js +8 -0
  98. package/dist/merchants/missed.js +5 -6
  99. package/dist/schema/card-number.js +31 -0
  100. package/dist/schema/card.js +22 -1
  101. package/dist/schema/common.js +4 -0
  102. package/dist/schema/wallet.js +12 -2
  103. package/package.json +5 -3
@@ -43,6 +43,150 @@
43
43
  domains: [instacart.com],
44
44
  category: grocery.online,
45
45
  }
46
+ - {
47
+ id: publix,
48
+ name: Publix,
49
+ aliases: [publix super markets],
50
+ domains: [publix.com],
51
+ category: grocery.supermarket,
52
+ }
53
+ - {
54
+ id: h-e-b,
55
+ name: H-E-B,
56
+ aliases: [heb],
57
+ domains: [heb.com],
58
+ category: grocery.supermarket,
59
+ }
60
+ - {
61
+ id: food-lion,
62
+ name: Food Lion,
63
+ domains: [foodlion.com],
64
+ category: grocery.supermarket,
65
+ }
66
+ - {
67
+ id: stop-and-shop,
68
+ name: Stop & Shop,
69
+ aliases: [stop and shop],
70
+ domains: [stopandshop.com],
71
+ category: grocery.supermarket,
72
+ }
73
+ - {
74
+ id: giant-food,
75
+ name: Giant Food,
76
+ domains: [giantfood.com],
77
+ category: grocery.supermarket,
78
+ }
79
+ - {
80
+ id: hannaford,
81
+ name: Hannaford,
82
+ aliases: [hannaford supermarket],
83
+ domains: [hannaford.com],
84
+ category: grocery.supermarket,
85
+ }
86
+ - {
87
+ id: wegmans,
88
+ name: Wegmans,
89
+ aliases: [wegmans food markets],
90
+ domains: [wegmans.com],
91
+ category: grocery.supermarket,
92
+ }
93
+ - { id: lidl, name: Lidl, domains: [lidl.com], category: grocery.supermarket }
94
+ - {
95
+ id: winco-foods,
96
+ name: WinCo Foods,
97
+ aliases: [winco],
98
+ domains: [wincofoods.com],
99
+ category: grocery.supermarket,
100
+ }
101
+ - {
102
+ id: hy-vee,
103
+ name: Hy-Vee,
104
+ aliases: [hyvee],
105
+ domains: [hy-vee.com],
106
+ category: grocery.supermarket,
107
+ }
108
+ - {
109
+ id: giant-eagle,
110
+ name: Giant Eagle,
111
+ domains: [gianteagle.com],
112
+ category: grocery.supermarket,
113
+ }
114
+ - {
115
+ id: winn-dixie,
116
+ name: Winn-Dixie,
117
+ aliases: [winn dixie],
118
+ domains: [winndixie.com],
119
+ category: grocery.supermarket,
120
+ }
121
+ - {
122
+ id: shoprite,
123
+ name: ShopRite,
124
+ aliases: [shop rite],
125
+ domains: [shoprite.com],
126
+ category: grocery.supermarket,
127
+ }
128
+ - { id: price-chopper, name: Price Chopper, category: grocery.supermarket }
129
+ - {
130
+ id: raleys,
131
+ name: "Raley's",
132
+ aliases: [raleys],
133
+ domains: [raleys.com],
134
+ category: grocery.supermarket,
135
+ }
136
+ - {
137
+ id: harris-teeter,
138
+ name: Harris Teeter,
139
+ domains: [harristeeter.com],
140
+ category: grocery.supermarket,
141
+ }
142
+ - {
143
+ id: smiths,
144
+ name: "Smith's Food and Drug",
145
+ aliases: [smiths, smiths food and drug, smiths food & drug],
146
+ domains: [smithsfoodanddrug.com],
147
+ category: grocery.supermarket,
148
+ }
149
+ - {
150
+ id: king-soopers,
151
+ name: King Soopers,
152
+ domains: [kingsoopers.com],
153
+ category: grocery.supermarket,
154
+ }
155
+ - {
156
+ id: frys-food,
157
+ name: "Fry's Food Stores",
158
+ aliases: [frys food, frys food stores, frys marketplace],
159
+ domains: [frysfood.com],
160
+ category: grocery.supermarket,
161
+ }
162
+ - {
163
+ id: dillons,
164
+ name: Dillons,
165
+ aliases: [dillons food stores],
166
+ domains: [dillons.com],
167
+ category: grocery.supermarket,
168
+ }
169
+ - {
170
+ id: qfc,
171
+ name: QFC,
172
+ aliases: [quality food centers],
173
+ domains: [qfc.com],
174
+ category: grocery.supermarket,
175
+ }
176
+ - {
177
+ id: marianos,
178
+ name: "Mariano's",
179
+ aliases: [marianos],
180
+ domains: [marianos.com],
181
+ category: grocery.supermarket,
182
+ }
183
+ - {
184
+ id: freshdirect,
185
+ name: FreshDirect,
186
+ aliases: [fresh direct],
187
+ domains: [freshdirect.com],
188
+ category: grocery.online,
189
+ }
46
190
 
47
191
  # Restaurants and fast food
48
192
  - { id: sweetgreen, name: Sweetgreen, category: dining }
@@ -74,6 +218,207 @@
74
218
  }
75
219
  - { id: doordash, name: DoorDash, domains: [doordash.com], category: dining }
76
220
  - { id: uber-eats, name: Uber Eats, aliases: [ubereats], category: dining }
221
+ - { id: olive-garden, name: Olive Garden, category: dining }
222
+ - { id: applebees, name: "Applebee's", aliases: [applebees], category: dining }
223
+ - {
224
+ id: chilis,
225
+ name: "Chili's",
226
+ aliases: [chilis, chilis grill & bar],
227
+ category: dining,
228
+ }
229
+ - { id: texas-roadhouse, name: Texas Roadhouse, category: dining }
230
+ - {
231
+ id: outback-steakhouse,
232
+ name: Outback Steakhouse,
233
+ aliases: [outback],
234
+ category: dining,
235
+ }
236
+ - { id: red-lobster, name: Red Lobster, category: dining }
237
+ - {
238
+ id: buffalo-wild-wings,
239
+ name: Buffalo Wild Wings,
240
+ aliases: [bdubs, b dubs, bww],
241
+ category: dining,
242
+ }
243
+ - {
244
+ id: cracker-barrel,
245
+ name: Cracker Barrel,
246
+ aliases: [cracker barrel old country store],
247
+ category: dining,
248
+ }
249
+ - { id: ihop, name: IHOP, category: dining }
250
+ - { id: dennys, name: "Denny's", aliases: [dennys], category: dining }
251
+ - {
252
+ id: longhorn-steakhouse,
253
+ name: LongHorn Steakhouse,
254
+ aliases: [longhorn],
255
+ category: dining,
256
+ }
257
+ - {
258
+ id: red-robin,
259
+ name: Red Robin,
260
+ aliases: [red robin gourmet burgers],
261
+ category: dining,
262
+ }
263
+ - {
264
+ id: pf-changs,
265
+ name: "P.F. Chang's",
266
+ aliases: [pf changs, p f changs, p.f. changs],
267
+ category: dining,
268
+ }
269
+ - {
270
+ id: bjs-restaurant,
271
+ name: "BJ's Restaurant & Brewhouse",
272
+ aliases: [bjs restaurant, bjs restaurant and brewhouse, bjs brewhouse],
273
+ category: dining,
274
+ }
275
+ - { id: waffle-house, name: Waffle House, category: dining }
276
+ - {
277
+ id: tgi-fridays,
278
+ name: TGI Fridays,
279
+ aliases: [tgif, tgi fridays, t.g.i. fridays],
280
+ category: dining,
281
+ }
282
+ - { id: ruby-tuesday, name: Ruby Tuesday, category: dining }
283
+ - { id: bob-evans, name: Bob Evans, category: dining }
284
+ - {
285
+ id: carrabbas,
286
+ name: "Carrabba's Italian Grill",
287
+ aliases: [carrabbas],
288
+ category: dining,
289
+ }
290
+ - { id: hooters, name: Hooters, category: dining }
291
+ - { id: twin-peaks, name: Twin Peaks, category: dining }
292
+ - { id: yard-house, name: Yard House, category: dining }
293
+ - {
294
+ id: maggianos,
295
+ name: "Maggiano's Little Italy",
296
+ aliases: [maggianos],
297
+ category: dining,
298
+ }
299
+ - {
300
+ id: bonefish-grill,
301
+ name: Bonefish Grill,
302
+ aliases: [bonefish],
303
+ category: dining,
304
+ }
305
+ - { id: pizza-hut, name: Pizza Hut, domains: [pizzahut.com], category: dining }
306
+ - { id: wendys, name: "Wendy's", aliases: [wendys], category: dining.fast_food }
307
+ - {
308
+ id: dunkin,
309
+ name: "Dunkin'",
310
+ aliases: [dunkin, dunkin donuts],
311
+ category: dining.fast_food,
312
+ }
313
+ - {
314
+ id: burger-king,
315
+ name: Burger King,
316
+ aliases: [bk],
317
+ category: dining.fast_food,
318
+ }
319
+ - { id: subway, name: Subway, category: dining.fast_food }
320
+ - {
321
+ id: dominos,
322
+ name: "Domino's",
323
+ aliases: [dominos, dominos pizza],
324
+ domains: [dominos.com],
325
+ category: dining.fast_food,
326
+ }
327
+ - {
328
+ id: sonic,
329
+ name: Sonic Drive-In,
330
+ aliases: [sonic],
331
+ category: dining.fast_food,
332
+ }
333
+ - {
334
+ id: popeyes,
335
+ name: Popeyes,
336
+ aliases: [popeyes louisiana kitchen],
337
+ category: dining.fast_food,
338
+ }
339
+ - {
340
+ id: kfc,
341
+ name: KFC,
342
+ aliases: [kentucky fried chicken],
343
+ category: dining.fast_food,
344
+ }
345
+ - {
346
+ id: dairy-queen,
347
+ name: Dairy Queen,
348
+ aliases: [dq],
349
+ category: dining.fast_food,
350
+ }
351
+ - {
352
+ id: jersey-mikes,
353
+ name: "Jersey Mike's Subs",
354
+ aliases: [jersey mikes],
355
+ category: dining.fast_food,
356
+ }
357
+ - { id: arbys, name: "Arby's", aliases: [arbys], category: dining.fast_food }
358
+ - {
359
+ id: little-caesars,
360
+ name: Little Caesars,
361
+ aliases: [little caesars pizza],
362
+ domains: [littlecaesars.com],
363
+ category: dining.fast_food,
364
+ }
365
+ - {
366
+ id: papa-johns,
367
+ name: "Papa John's",
368
+ aliases: [papa johns],
369
+ domains: [papajohns.com],
370
+ category: dining.fast_food,
371
+ }
372
+ - { id: jack-in-the-box, name: Jack in the Box, category: dining.fast_food }
373
+ - { id: whataburger, name: Whataburger, category: dining.fast_food }
374
+ - { id: panda-express, name: Panda Express, category: dining.fast_food }
375
+ - {
376
+ id: raising-canes,
377
+ name: "Raising Cane's",
378
+ aliases: [raising canes, canes],
379
+ category: dining.fast_food,
380
+ }
381
+ - { id: wingstop, name: Wingstop, category: dining.fast_food }
382
+ - {
383
+ id: culvers,
384
+ name: "Culver's",
385
+ aliases: [culvers],
386
+ category: dining.fast_food,
387
+ }
388
+ - { id: zaxbys, name: "Zaxby's", aliases: [zaxbys], category: dining.fast_food }
389
+ - {
390
+ id: jimmy-johns,
391
+ name: "Jimmy John's",
392
+ aliases: [jimmy johns],
393
+ category: dining.fast_food,
394
+ }
395
+ - { id: firehouse-subs, name: Firehouse Subs, category: dining.fast_food }
396
+ - {
397
+ id: bojangles,
398
+ name: Bojangles,
399
+ aliases: [bojangles famous chicken n biscuits],
400
+ category: dining.fast_food,
401
+ }
402
+ - {
403
+ id: dutch-bros,
404
+ name: Dutch Bros Coffee,
405
+ aliases: [dutch bros],
406
+ category: dining.fast_food,
407
+ }
408
+ - {
409
+ id: qdoba,
410
+ name: Qdoba Mexican Eats,
411
+ aliases: [qdoba, qdoba mexican grill],
412
+ category: dining.fast_food,
413
+ }
414
+ - { id: del-taco, name: Del Taco, category: dining.fast_food }
415
+ - { id: el-pollo-loco, name: El Pollo Loco, category: dining.fast_food }
416
+ - {
417
+ id: carls-jr,
418
+ name: "Carl's Jr.",
419
+ aliases: [carls jr, carls junior],
420
+ category: dining.fast_food,
421
+ }
77
422
 
78
423
  # Gas and EV charging
79
424
  - { id: shell, name: Shell, category: gas }
@@ -88,11 +433,58 @@
88
433
  }
89
434
  - { id: electrify-america, name: Electrify America, category: ev_charging }
90
435
  - { id: chargepoint, name: ChargePoint, category: ev_charging }
436
+ - { id: bp, name: BP, aliases: [bp gas], category: gas }
437
+ - { id: marathon, name: Marathon, aliases: [marathon gas], category: gas }
438
+ - { id: sunoco, name: Sunoco, category: gas }
439
+ - { id: valero, name: Valero, category: gas }
440
+ - { id: citgo, name: Citgo, category: gas }
441
+ - { id: phillips-66, name: Phillips 66, category: gas }
442
+ - { id: evgo, name: EVgo, aliases: [evgo fast charging], category: ev_charging }
443
+ - { id: blink-charging, name: Blink Charging, category: ev_charging }
91
444
 
92
445
  # Transit
93
446
  - { id: uber, name: Uber, category: transit.rideshare }
94
447
  - { id: uber-one, name: Uber One, category: other }
95
448
  - { id: lyft, name: Lyft, category: transit.rideshare }
449
+ - { id: amtrak, name: Amtrak, domains: [amtrak.com], category: transit }
450
+ - {
451
+ id: greyhound,
452
+ name: Greyhound,
453
+ aliases: [greyhound lines],
454
+ domains: [greyhound.com],
455
+ category: transit,
456
+ }
457
+ - {
458
+ id: mta,
459
+ name: MTA,
460
+ aliases:
461
+ [
462
+ metropolitan transportation authority,
463
+ nyc subway,
464
+ omny,
465
+ lirr,
466
+ long island rail road,
467
+ metro north,
468
+ ],
469
+ category: transit,
470
+ }
471
+ - { id: bart, name: BART, aliases: [bay area rapid transit], category: transit }
472
+ - {
473
+ id: nj-transit,
474
+ name: NJ Transit,
475
+ aliases: [new jersey transit],
476
+ domains: [njtransit.com],
477
+ category: transit,
478
+ }
479
+ - { id: septa, name: SEPTA, domains: [septa.org], category: transit }
480
+ - {
481
+ id: mbta,
482
+ name: MBTA,
483
+ aliases: [massachusetts bay transportation authority],
484
+ domains: [mbta.com],
485
+ category: transit,
486
+ }
487
+ - { id: metra, name: Metra, aliases: [metra rail], category: transit }
96
488
 
97
489
  # Streaming, TV, internet, phone, utilities
98
490
  - { id: netflix, name: Netflix, category: streaming }
@@ -139,10 +531,112 @@
139
531
  aliases: [southern california gas],
140
532
  category: utilities,
141
533
  }
534
+ - {
535
+ id: cox,
536
+ name: Cox Communications,
537
+ aliases: [cox, cox internet],
538
+ domains: [cox.com],
539
+ category: tv_internet,
540
+ }
541
+ - {
542
+ id: optimum,
543
+ name: Optimum,
544
+ aliases: [altice, optimum internet],
545
+ domains: [optimum.com],
546
+ category: tv_internet,
547
+ }
548
+ - { id: directv, name: DIRECTV, domains: [directv.com], category: tv_internet }
549
+ - {
550
+ id: dish,
551
+ name: DISH Network,
552
+ aliases: [dish],
553
+ domains: [dish.com],
554
+ category: tv_internet,
555
+ }
556
+ - {
557
+ id: frontier-communications,
558
+ name: Frontier Communications,
559
+ aliases: [frontier internet, frontier fiber],
560
+ domains: [frontier.com],
561
+ category: tv_internet,
562
+ }
563
+ - {
564
+ id: cricket-wireless,
565
+ name: Cricket Wireless,
566
+ aliases: [cricket],
567
+ domains: [cricketwireless.com],
568
+ category: phone,
569
+ }
570
+ - {
571
+ id: metro-by-t-mobile,
572
+ name: Metro by T-Mobile,
573
+ aliases: [metropcs, metro pcs],
574
+ domains: [metrobyt-mobile.com],
575
+ category: phone,
576
+ }
577
+ - {
578
+ id: boost-mobile,
579
+ name: Boost Mobile,
580
+ domains: [boostmobile.com],
581
+ category: phone,
582
+ }
583
+ - {
584
+ id: visible,
585
+ name: Visible,
586
+ aliases: [visible wireless],
587
+ domains: [visible.com],
588
+ category: phone,
589
+ }
590
+ - {
591
+ id: mint-mobile,
592
+ name: Mint Mobile,
593
+ domains: [mintmobile.com],
594
+ category: phone,
595
+ }
596
+ - {
597
+ id: pge,
598
+ name: PG&E,
599
+ aliases: [pacific gas and electric, pacific gas & electric, pg and e],
600
+ domains: [pge.com],
601
+ category: utilities,
602
+ }
603
+ - {
604
+ id: con-edison,
605
+ name: Con Edison,
606
+ aliases: [coned, con ed, consolidated edison],
607
+ domains: [coned.com],
608
+ category: utilities,
609
+ }
610
+ - {
611
+ id: duke-energy,
612
+ name: Duke Energy,
613
+ domains: [duke-energy.com],
614
+ category: utilities,
615
+ }
616
+ - {
617
+ id: dominion-energy,
618
+ name: Dominion Energy,
619
+ domains: [dominionenergy.com],
620
+ category: utilities,
621
+ }
622
+ - {
623
+ id: georgia-power,
624
+ name: Georgia Power,
625
+ domains: [georgiapower.com],
626
+ category: utilities,
627
+ }
628
+ - {
629
+ id: fpl,
630
+ name: Florida Power & Light,
631
+ aliases: [fpl, florida power and light],
632
+ domains: [fpl.com],
633
+ category: utilities,
634
+ }
142
635
 
143
636
  # Drugstores
144
637
  - { id: cvs, name: CVS Pharmacy, aliases: [cvs], category: drugstore }
145
638
  - { id: walgreens, name: Walgreens, category: drugstore }
639
+ - { id: duane-reade, name: Duane Reade, category: drugstore }
146
640
 
147
641
  # Entertainment and fitness
148
642
  - {
@@ -154,6 +648,73 @@
154
648
  - { id: regal, name: Regal Cinemas, aliases: [regal], category: movie_theaters }
155
649
  - { id: planet-fitness, name: Planet Fitness, category: fitness }
156
650
  - { id: twenty-four-hour-fitness, name: 24 Hour Fitness, category: fitness }
651
+ - {
652
+ id: cinemark,
653
+ name: Cinemark,
654
+ aliases: [cinemark theatres],
655
+ domains: [cinemark.com],
656
+ category: movie_theaters,
657
+ }
658
+ - {
659
+ id: marcus-theatres,
660
+ name: Marcus Theatres,
661
+ aliases: [marcus theaters],
662
+ domains: [marcustheatres.com],
663
+ category: movie_theaters,
664
+ }
665
+ - {
666
+ id: harkins,
667
+ name: Harkins Theatres,
668
+ aliases: [harkins, harkins theaters],
669
+ domains: [harkins.com],
670
+ category: movie_theaters,
671
+ }
672
+ - {
673
+ id: ticketmaster,
674
+ name: Ticketmaster,
675
+ domains: [ticketmaster.com],
676
+ category: entertainment,
677
+ }
678
+ - {
679
+ id: live-nation,
680
+ name: Live Nation,
681
+ domains: [livenation.com],
682
+ category: entertainment,
683
+ }
684
+ - {
685
+ id: la-fitness,
686
+ name: LA Fitness,
687
+ domains: [lafitness.com],
688
+ category: fitness,
689
+ }
690
+ - {
691
+ id: anytime-fitness,
692
+ name: Anytime Fitness,
693
+ domains: [anytimefitness.com],
694
+ category: fitness,
695
+ }
696
+ - {
697
+ id: crunch-fitness,
698
+ name: Crunch Fitness,
699
+ aliases: [crunch],
700
+ domains: [crunch.com],
701
+ category: fitness,
702
+ }
703
+ - {
704
+ id: orangetheory,
705
+ name: Orangetheory Fitness,
706
+ aliases: [orangetheory, orange theory],
707
+ domains: [orangetheory.com],
708
+ category: fitness,
709
+ }
710
+ - { id: equinox, name: Equinox, domains: [equinox.com], category: fitness }
711
+ - {
712
+ id: life-time,
713
+ name: Life Time,
714
+ aliases: [lifetime fitness, life time fitness],
715
+ domains: [lifetime.life],
716
+ category: fitness,
717
+ }
157
718
 
158
719
  # Shopping
159
720
  - { id: macys, name: "Macy's", aliases: [macys], category: department_store }
@@ -270,6 +831,208 @@
270
831
  }
271
832
  - { id: etsy, name: Etsy, domains: [etsy.com], category: other }
272
833
  - { id: ebay, name: eBay, domains: [ebay.com], category: other }
834
+ - {
835
+ id: jcpenney,
836
+ name: JCPenney,
837
+ aliases: [jcp, jc penney, j c penney, penneys],
838
+ domains: [jcpenney.com],
839
+ category: department_store,
840
+ }
841
+ - {
842
+ id: dillards,
843
+ name: "Dillard's",
844
+ aliases: [dillards],
845
+ domains: [dillards.com],
846
+ category: department_store,
847
+ }
848
+ - { id: belk, name: Belk, domains: [belk.com], category: department_store }
849
+ - {
850
+ id: bloomingdales,
851
+ name: "Bloomingdale's",
852
+ aliases: [bloomingdales],
853
+ domains: [bloomingdales.com],
854
+ category: department_store,
855
+ }
856
+ - {
857
+ id: saks-fifth-avenue,
858
+ name: Saks Fifth Avenue,
859
+ aliases: [saks],
860
+ domains: [saksfifthavenue.com],
861
+ category: department_store,
862
+ }
863
+ - {
864
+ id: saks-off-5th,
865
+ name: Saks Off 5th,
866
+ aliases: [off 5th, saks off fifth],
867
+ domains: [saksoff5th.com],
868
+ category: department_store,
869
+ }
870
+ - {
871
+ id: lululemon,
872
+ name: Lululemon,
873
+ aliases: [lululemon athletica],
874
+ domains: [lululemon.com],
875
+ category: clothing,
876
+ }
877
+ - {
878
+ id: abercrombie,
879
+ name: Abercrombie & Fitch,
880
+ aliases: [abercrombie, abercrombie and fitch],
881
+ domains: [abercrombie.com],
882
+ category: clothing,
883
+ }
884
+ - {
885
+ id: hollister,
886
+ name: Hollister,
887
+ aliases: [hollister co],
888
+ domains: [hollisterco.com],
889
+ category: clothing,
890
+ }
891
+ - {
892
+ id: urban-outfitters,
893
+ name: Urban Outfitters,
894
+ domains: [urbanoutfitters.com],
895
+ category: clothing,
896
+ }
897
+ - {
898
+ id: anthropologie,
899
+ name: Anthropologie,
900
+ domains: [anthropologie.com],
901
+ category: clothing,
902
+ }
903
+ - {
904
+ id: free-people,
905
+ name: Free People,
906
+ domains: [freepeople.com],
907
+ category: clothing,
908
+ }
909
+ - {
910
+ id: micro-center,
911
+ name: Micro Center,
912
+ aliases: [microcenter],
913
+ domains: [microcenter.com],
914
+ category: electronics,
915
+ }
916
+ - { id: newegg, name: Newegg, domains: [newegg.com], category: electronics }
917
+ - {
918
+ id: academy-sports,
919
+ name: Academy Sports + Outdoors,
920
+ aliases: [academy sports, academy sports and outdoors],
921
+ domains: [academy.com],
922
+ category: sporting_goods,
923
+ }
924
+ - {
925
+ id: bass-pro-shops,
926
+ name: Bass Pro Shops,
927
+ aliases: [bass pro],
928
+ domains: [basspro.com],
929
+ category: sporting_goods,
930
+ }
931
+ - {
932
+ id: cabelas,
933
+ name: "Cabela's",
934
+ aliases: [cabelas],
935
+ category: sporting_goods,
936
+ note: "U.S. Bank's sample list says Cabelas.com purchases don't count as sporting goods.",
937
+ }
938
+ - {
939
+ id: big-5,
940
+ name: Big 5 Sporting Goods,
941
+ aliases: [big 5, big five sporting goods],
942
+ domains: [big5sportinggoods.com],
943
+ category: sporting_goods,
944
+ }
945
+ - {
946
+ id: hibbett,
947
+ name: Hibbett,
948
+ aliases: [hibbett sports],
949
+ domains: [hibbett.com],
950
+ category: sporting_goods,
951
+ }
952
+ - {
953
+ id: scheels,
954
+ name: Scheels,
955
+ domains: [scheels.com],
956
+ category: sporting_goods,
957
+ }
958
+ - {
959
+ id: menards,
960
+ name: Menards,
961
+ domains: [menards.com],
962
+ category: home_improvement,
963
+ }
964
+ - {
965
+ id: ace-hardware,
966
+ name: Ace Hardware,
967
+ domains: [acehardware.com],
968
+ category: home_improvement,
969
+ }
970
+ - {
971
+ id: true-value,
972
+ name: True Value,
973
+ aliases: [true value hardware],
974
+ domains: [truevalue.com],
975
+ category: home_improvement,
976
+ }
977
+ - {
978
+ id: ashley,
979
+ name: Ashley,
980
+ aliases: [ashley furniture, ashley homestore],
981
+ category: furniture,
982
+ }
983
+ - {
984
+ id: rooms-to-go,
985
+ name: Rooms To Go,
986
+ domains: [roomstogo.com],
987
+ category: furniture,
988
+ }
989
+ - {
990
+ id: bobs-discount-furniture,
991
+ name: "Bob's Discount Furniture",
992
+ aliases: [bobs discount furniture, bobs furniture],
993
+ domains: [mybobs.com],
994
+ category: furniture,
995
+ }
996
+ - {
997
+ id: la-z-boy,
998
+ name: La-Z-Boy,
999
+ aliases: [lazboy, la z boy],
1000
+ domains: [la-z-boy.com],
1001
+ category: furniture,
1002
+ }
1003
+ - {
1004
+ id: ethan-allen,
1005
+ name: Ethan Allen,
1006
+ domains: [ethanallen.com],
1007
+ category: furniture,
1008
+ }
1009
+ - {
1010
+ id: rh,
1011
+ name: RH,
1012
+ aliases: [restoration hardware],
1013
+ domains: [rh.com],
1014
+ category: furniture,
1015
+ }
1016
+ - {
1017
+ id: havertys,
1018
+ name: Havertys,
1019
+ aliases: [havertys furniture],
1020
+ domains: [havertys.com],
1021
+ category: furniture,
1022
+ }
1023
+ - {
1024
+ id: five-below,
1025
+ name: Five Below,
1026
+ domains: [fivebelow.com],
1027
+ category: other,
1028
+ }
1029
+ - {
1030
+ id: ollies,
1031
+ name: "Ollie's Bargain Outlet",
1032
+ aliases: [ollies],
1033
+ domains: [ollies.us],
1034
+ category: other,
1035
+ }
273
1036
 
274
1037
  # Travel
275
1038
  - {
@@ -318,7 +1081,32 @@
318
1081
  domains: [hawaiianairlines.com],
319
1082
  category: travel.flights,
320
1083
  }
321
- - { id: marriott, name: Marriott, category: travel.hotels }
1084
+ - id: marriott
1085
+ name: Marriott
1086
+ aliases:
1087
+ [
1088
+ marriott bonvoy,
1089
+ courtyard by marriott,
1090
+ residence inn,
1091
+ fairfield inn,
1092
+ springhill suites,
1093
+ towneplace suites,
1094
+ jw marriott,
1095
+ sheraton,
1096
+ westin,
1097
+ w hotels,
1098
+ ritz carlton,
1099
+ st regis,
1100
+ renaissance hotels,
1101
+ le meridien,
1102
+ aloft hotels,
1103
+ element hotels,
1104
+ moxy hotels,
1105
+ ac hotels,
1106
+ four points by sheraton,
1107
+ ]
1108
+ domains: [marriott.com]
1109
+ category: travel.hotels
322
1110
  - {
323
1111
  id: ihg,
324
1112
  name: IHG Hotels & Resorts,
@@ -341,11 +1129,32 @@
341
1129
  garner hotel,
342
1130
  ruby hotels,
343
1131
  hualuxe,
1132
+ ihg,
344
1133
  ],
345
1134
  domains: [ihg.com],
346
1135
  category: travel.hotels,
347
1136
  }
348
- - { id: hilton, name: Hilton, category: travel.hotels }
1137
+ - id: hilton
1138
+ name: Hilton
1139
+ aliases:
1140
+ [
1141
+ hilton honors,
1142
+ hampton inn,
1143
+ hampton by hilton,
1144
+ hilton garden inn,
1145
+ doubletree,
1146
+ embassy suites,
1147
+ homewood suites,
1148
+ home2 suites,
1149
+ tru by hilton,
1150
+ waldorf astoria,
1151
+ conrad hotels,
1152
+ curio collection,
1153
+ tapestry collection,
1154
+ canopy by hilton,
1155
+ ]
1156
+ domains: [hilton.com]
1157
+ category: travel.hotels
349
1158
  - { id: hertz, name: Hertz, category: travel.car_rental }
350
1159
  - {
351
1160
  id: enterprise,
@@ -383,6 +1192,236 @@
383
1192
  aliases: [homestay]
384
1193
  domains: [homestay.com]
385
1194
  category: travel
1195
+ - {
1196
+ id: jetblue,
1197
+ name: JetBlue,
1198
+ aliases: [jetblue airways, jet blue],
1199
+ domains: [jetblue.com],
1200
+ category: travel.flights,
1201
+ }
1202
+ - {
1203
+ id: spirit-airlines,
1204
+ name: Spirit Airlines,
1205
+ domains: [spirit.com],
1206
+ category: travel.flights,
1207
+ }
1208
+ - {
1209
+ id: frontier-airlines,
1210
+ name: Frontier Airlines,
1211
+ aliases: [fly frontier],
1212
+ domains: [flyfrontier.com],
1213
+ category: travel.flights,
1214
+ }
1215
+ - {
1216
+ id: allegiant,
1217
+ name: Allegiant Air,
1218
+ aliases: [allegiant],
1219
+ domains: [allegiantair.com],
1220
+ category: travel.flights,
1221
+ }
1222
+ - {
1223
+ id: sun-country,
1224
+ name: Sun Country Airlines,
1225
+ aliases: [sun country],
1226
+ domains: [suncountry.com],
1227
+ category: travel.flights,
1228
+ }
1229
+ - {
1230
+ id: hyatt,
1231
+ name: Hyatt,
1232
+ aliases:
1233
+ [
1234
+ world of hyatt,
1235
+ hyatt regency,
1236
+ grand hyatt,
1237
+ park hyatt,
1238
+ hyatt place,
1239
+ hyatt house,
1240
+ andaz,
1241
+ hyatt centric,
1242
+ thompson hotels,
1243
+ alila,
1244
+ ],
1245
+ domains: [hyatt.com],
1246
+ category: travel.hotels,
1247
+ }
1248
+ - {
1249
+ id: wyndham,
1250
+ name: Wyndham Hotels & Resorts,
1251
+ aliases:
1252
+ [
1253
+ wyndham,
1254
+ la quinta,
1255
+ days inn,
1256
+ super 8,
1257
+ ramada,
1258
+ microtel,
1259
+ baymont,
1260
+ howard johnson,
1261
+ travelodge,
1262
+ wingate by wyndham,
1263
+ ],
1264
+ domains: [wyndhamhotels.com],
1265
+ category: travel.hotels,
1266
+ }
1267
+ - {
1268
+ id: choice-hotels,
1269
+ name: Choice Hotels,
1270
+ aliases:
1271
+ [
1272
+ comfort inn,
1273
+ comfort suites,
1274
+ quality inn,
1275
+ sleep inn,
1276
+ clarion,
1277
+ econo lodge,
1278
+ rodeway inn,
1279
+ cambria hotels,
1280
+ mainstay suites,
1281
+ ],
1282
+ domains: [choicehotels.com],
1283
+ category: travel.hotels,
1284
+ }
1285
+ - {
1286
+ id: best-western,
1287
+ name: Best Western,
1288
+ aliases: [best western plus],
1289
+ domains: [bestwestern.com],
1290
+ category: travel.hotels,
1291
+ }
1292
+ - {
1293
+ id: motel-6,
1294
+ name: Motel 6,
1295
+ aliases: [studio 6],
1296
+ domains: [motel6.com],
1297
+ category: travel.hotels,
1298
+ }
1299
+ - {
1300
+ id: red-roof,
1301
+ name: Red Roof,
1302
+ aliases: [red roof inn],
1303
+ domains: [redroof.com],
1304
+ category: travel.hotels,
1305
+ }
1306
+ - {
1307
+ id: avis,
1308
+ name: Avis,
1309
+ aliases: [avis car rental, avis rent a car],
1310
+ domains: [avis.com],
1311
+ category: travel.car_rental,
1312
+ }
1313
+ - {
1314
+ id: budget,
1315
+ name: Budget Car Rental,
1316
+ aliases: [budget rent a car],
1317
+ domains: [budget.com],
1318
+ category: travel.car_rental,
1319
+ }
1320
+ - {
1321
+ id: national-car-rental,
1322
+ name: National Car Rental,
1323
+ aliases: [national car],
1324
+ domains: [nationalcar.com],
1325
+ category: travel.car_rental,
1326
+ }
1327
+ - {
1328
+ id: alamo,
1329
+ name: Alamo,
1330
+ aliases: [alamo rent a car, alamo car rental],
1331
+ domains: [alamo.com],
1332
+ category: travel.car_rental,
1333
+ }
1334
+ - {
1335
+ id: thrifty,
1336
+ name: Thrifty,
1337
+ aliases: [thrifty car rental],
1338
+ domains: [thrifty.com],
1339
+ category: travel.car_rental,
1340
+ }
1341
+ - {
1342
+ id: dollar-car-rental,
1343
+ name: Dollar Rent A Car,
1344
+ aliases: [dollar car rental],
1345
+ domains: [dollar.com],
1346
+ category: travel.car_rental,
1347
+ }
1348
+ - {
1349
+ id: hotels-com,
1350
+ name: Hotels.com,
1351
+ aliases: [hotels com],
1352
+ domains: [hotels.com],
1353
+ category: travel,
1354
+ note: "Codes as a travel agency, so hotel-direct bonuses don't apply.",
1355
+ }
1356
+ - {
1357
+ id: priceline,
1358
+ name: Priceline,
1359
+ domains: [priceline.com],
1360
+ category: travel,
1361
+ note: "Codes as a travel agency, so airline- and hotel-direct bonuses don't apply.",
1362
+ }
1363
+ - {
1364
+ id: orbitz,
1365
+ name: Orbitz,
1366
+ domains: [orbitz.com],
1367
+ category: travel,
1368
+ note: "Codes as a travel agency, so airline- and hotel-direct bonuses don't apply.",
1369
+ }
1370
+ - {
1371
+ id: travelocity,
1372
+ name: Travelocity,
1373
+ domains: [travelocity.com],
1374
+ category: travel,
1375
+ note: "Codes as a travel agency, so airline- and hotel-direct bonuses don't apply.",
1376
+ }
1377
+ - {
1378
+ id: hopper,
1379
+ name: Hopper,
1380
+ domains: [hopper.com],
1381
+ category: travel,
1382
+ note: "Codes as a travel agency, so airline- and hotel-direct bonuses don't apply.",
1383
+ }
1384
+ - {
1385
+ id: carnival,
1386
+ name: Carnival Cruise Line,
1387
+ aliases: [carnival, carnival cruises],
1388
+ domains: [carnival.com],
1389
+ category: travel.cruise,
1390
+ }
1391
+ - {
1392
+ id: royal-caribbean,
1393
+ name: Royal Caribbean,
1394
+ aliases: [royal caribbean international],
1395
+ domains: [royalcaribbean.com],
1396
+ category: travel.cruise,
1397
+ }
1398
+ - {
1399
+ id: norwegian-cruise-line,
1400
+ name: Norwegian Cruise Line,
1401
+ aliases: [ncl, norwegian cruise],
1402
+ domains: [ncl.com],
1403
+ category: travel.cruise,
1404
+ }
1405
+ - {
1406
+ id: princess-cruises,
1407
+ name: Princess Cruises,
1408
+ aliases: [princess cruise],
1409
+ domains: [princess.com],
1410
+ category: travel.cruise,
1411
+ }
1412
+ - {
1413
+ id: disney-cruise-line,
1414
+ name: Disney Cruise Line,
1415
+ aliases: [disney cruise],
1416
+ category: travel.cruise,
1417
+ }
1418
+ - {
1419
+ id: celebrity-cruises,
1420
+ name: Celebrity Cruises,
1421
+ aliases: [celebrity cruise],
1422
+ domains: [celebritycruises.com],
1423
+ category: travel.cruise,
1424
+ }
386
1425
 
387
1426
  # Streaming services on Citi Custom Cash's list
388
1427
  - {
@@ -392,6 +1431,13 @@
392
1431
  category: streaming,
393
1432
  }
394
1433
  - { id: apple-music, name: Apple Music, category: streaming }
1434
+ - {
1435
+ id: discovery-plus,
1436
+ name: Discovery+,
1437
+ aliases: [discovery plus],
1438
+ domains: [discoveryplus.com],
1439
+ category: streaming,
1440
+ }
395
1441
  - {
396
1442
  id: directv-stream,
397
1443
  name: DIRECTV STREAM,
@@ -477,3 +1523,10 @@
477
1523
  aliases: [facebook ads, instagram ads],
478
1524
  category: online_advertising,
479
1525
  }
1526
+ - {
1527
+ id: dhl,
1528
+ name: DHL,
1529
+ aliases: [dhl express],
1530
+ domains: [dhl.com],
1531
+ category: shipping,
1532
+ }