earnrate 0.2.11 → 0.2.12

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 (126) hide show
  1. package/README.md +21 -9
  2. package/data/CHANGELOG.md +110 -0
  3. package/data/VERSION +1 -1
  4. package/data/cards/amex-blue-business-plus.yaml +1 -0
  5. package/data/cards/amex-blue-cash-everyday.yaml +1 -0
  6. package/data/cards/amex-blue-cash-preferred.yaml +7 -0
  7. package/data/cards/amex-business-gold.yaml +134 -0
  8. package/data/cards/amex-business-platinum.yaml +115 -0
  9. package/data/cards/amex-delta-skymiles-blue.yaml +91 -0
  10. package/data/cards/amex-delta-skymiles-gold.yaml +2 -0
  11. package/data/cards/amex-delta-skymiles-platinum.yaml +2 -0
  12. package/data/cards/amex-delta-skymiles-reserve.yaml +2 -0
  13. package/data/cards/amex-gold.yaml +1 -0
  14. package/data/cards/amex-hilton-honors-aspire.yaml +2 -0
  15. package/data/cards/amex-hilton-honors-business.yaml +93 -0
  16. package/data/cards/amex-hilton-honors-surpass.yaml +2 -0
  17. package/data/cards/amex-hilton-honors.yaml +2 -0
  18. package/data/cards/amex-marriott-bonvoy-bevy.yaml +2 -0
  19. package/data/cards/amex-marriott-bonvoy-brilliant.yaml +2 -0
  20. package/data/cards/amex-marriott-bonvoy-business.yaml +116 -0
  21. package/data/cards/amex-platinum.yaml +1 -0
  22. package/data/cards/bank-of-america-atmos-rewards-ascent.yaml +1 -0
  23. package/data/cards/bank-of-america-atmos-rewards-business.yaml +2 -0
  24. package/data/cards/bank-of-america-atmos-rewards-summit.yaml +1 -0
  25. package/data/cards/bank-of-america-customized-cash-rewards.yaml +34 -1
  26. package/data/cards/bank-of-america-premium-rewards.yaml +134 -0
  27. package/data/cards/bank-of-america-travel-rewards.yaml +123 -0
  28. package/data/cards/bank-of-america-unlimited-cash-rewards.yaml +83 -0
  29. package/data/cards/barclays-jetblue-plus.yaml +86 -0
  30. package/data/cards/bilt-blue.yaml +60 -0
  31. package/data/cards/bilt-obsidian.yaml +1 -0
  32. package/data/cards/bilt-palladium.yaml +76 -0
  33. package/data/cards/capital-one-kohls-card.yaml +1 -0
  34. package/data/cards/capital-one-kohls-rewards-visa.yaml +1 -0
  35. package/data/cards/capital-one-quicksilver.yaml +2 -0
  36. package/data/cards/capital-one-savor.yaml +2 -0
  37. package/data/cards/capital-one-spark-cash-plus.yaml +80 -0
  38. package/data/cards/capital-one-venture-x-business.yaml +97 -0
  39. package/data/cards/capital-one-venture-x.yaml +2 -0
  40. package/data/cards/capital-one-venture.yaml +2 -0
  41. package/data/cards/chase-aeroplan.yaml +2 -0
  42. package/data/cards/chase-freedom-flex.yaml +1 -0
  43. package/data/cards/chase-freedom-rise.yaml +29 -0
  44. package/data/cards/chase-freedom-unlimited.yaml +1 -0
  45. package/data/cards/chase-ihg-one-rewards-business.yaml +1 -0
  46. package/data/cards/chase-ihg-one-rewards-premier-select.yaml +2 -0
  47. package/data/cards/chase-ihg-one-rewards-premier.yaml +1 -0
  48. package/data/cards/chase-ihg-one-rewards.yaml +1 -0
  49. package/data/cards/chase-ink-business-cash.yaml +1 -0
  50. package/data/cards/chase-ink-business-preferred.yaml +1 -0
  51. package/data/cards/chase-ink-business-unlimited.yaml +69 -0
  52. package/data/cards/chase-marriott-bonvoy-bold.yaml +1 -0
  53. package/data/cards/chase-marriott-bonvoy-boundless.yaml +2 -0
  54. package/data/cards/chase-prime-visa.yaml +1 -0
  55. package/data/cards/chase-sapphire-preferred.yaml +1 -0
  56. package/data/cards/chase-sapphire-reserve.yaml +1 -0
  57. package/data/cards/chase-southwest-performance-business.yaml +2 -0
  58. package/data/cards/chase-southwest-plus.yaml +2 -0
  59. package/data/cards/chase-southwest-premier-business.yaml +2 -0
  60. package/data/cards/chase-southwest-premier.yaml +2 -0
  61. package/data/cards/chase-southwest-priority.yaml +2 -0
  62. package/data/cards/chase-united-business.yaml +1 -0
  63. package/data/cards/chase-united-club-business.yaml +1 -0
  64. package/data/cards/chase-united-club.yaml +1 -0
  65. package/data/cards/chase-united-explorer.yaml +1 -0
  66. package/data/cards/chase-united-gateway.yaml +1 -0
  67. package/data/cards/chase-united-quest.yaml +1 -0
  68. package/data/cards/citi-aadvantage-business.yaml +2 -0
  69. package/data/cards/citi-aadvantage-executive.yaml +2 -0
  70. package/data/cards/citi-aadvantage-globe.yaml +2 -0
  71. package/data/cards/citi-aadvantage-mileup.yaml +2 -0
  72. package/data/cards/citi-aadvantage-platinum-select.yaml +2 -0
  73. package/data/cards/citi-costco-anywhere-visa-business.yaml +2 -0
  74. package/data/cards/citi-costco-anywhere-visa.yaml +2 -0
  75. package/data/cards/citi-custom-cash.yaml +1 -0
  76. package/data/cards/citi-double-cash.yaml +1 -0
  77. package/data/cards/citi-my-best-buy-visa.yaml +1 -0
  78. package/data/cards/citi-strata-elite.yaml +1 -0
  79. package/data/cards/citi-strata-premier.yaml +1 -0
  80. package/data/cards/citi-strata.yaml +164 -0
  81. package/data/cards/discover-it-cash-back.yaml +22 -3
  82. package/data/cards/paypal-cashback-mastercard.yaml +41 -0
  83. package/data/cards/sams-club-mastercard.yaml +68 -0
  84. package/data/cards/sofi-unlimited-2.yaml +1 -0
  85. package/data/cards/td-bank-nordstrom-credit-card.yaml +1 -0
  86. package/data/cards/td-bank-nordstrom-visa.yaml +1 -0
  87. package/data/cards/td-bank-target-circle-card.yaml +1 -0
  88. package/data/cards/usbank-altitude-connect.yaml +150 -0
  89. package/data/cards/usbank-altitude-go.yaml +118 -0
  90. package/data/cards/usbank-cash-plus.yaml +1 -0
  91. package/data/cards/wells-fargo-active-cash.yaml +1 -0
  92. package/data/cards/wells-fargo-autograph-journey.yaml +73 -0
  93. package/data/cards/wells-fargo-autograph.yaml +1 -0
  94. package/data/categories.yaml +3 -1
  95. package/data/currencies.yaml +34 -0
  96. package/data/issuers.yaml +22 -1
  97. package/data/memberships.yaml +10 -0
  98. package/data/merchants/overrides.yaml +499 -1
  99. package/data/merchants/seed.yaml +843 -6
  100. package/dist/cli/import.js +2 -2
  101. package/dist/cli/wallet.js +8 -1
  102. package/dist/data/integrity.js +37 -0
  103. package/dist/data/wallet-edit.js +3 -1
  104. package/dist/engine/checklist.js +14 -3
  105. package/dist/engine/evaluate.js +19 -7
  106. package/dist/engine/intro.js +36 -0
  107. package/dist/engine/recommend.js +31 -2
  108. package/dist/engine/record.js +2 -0
  109. package/dist/engine/rule-text.js +15 -1
  110. package/dist/engine/setup.js +6 -0
  111. package/dist/engine/text.js +23 -0
  112. package/dist/engine/wallet-change.js +20 -3
  113. package/dist/engine/wallet-summary.js +24 -4
  114. package/dist/format/card-art.js +21 -0
  115. package/dist/format/cards.js +1 -0
  116. package/dist/format/wallet-yaml.js +1 -0
  117. package/dist/format/wallet.js +10 -4
  118. package/dist/import/analyze.js +1 -0
  119. package/dist/mcp/inputs.js +3 -0
  120. package/dist/mcp/schemas.js +17 -0
  121. package/dist/mcp/tools/account.js +3 -1
  122. package/dist/mcp/tools/wallet.js +6 -2
  123. package/dist/schema/card.js +23 -0
  124. package/dist/schema/issuer.js +4 -0
  125. package/dist/schema/wallet.js +3 -0
  126. package/package.json +12 -3
package/data/issuers.yaml CHANGED
@@ -1,35 +1,56 @@
1
1
  # The banks behind the cards: the name shown for each, and other words people
2
- # search with ("bofa", "amex"). Every card's `issuer` must be one of these.
2
+ # search with ("bofa", "amex"), and a color for drawing a card that has none
3
+ # of its own. Every card's `issuer` must be one of these.
3
4
 
4
5
  - id: amex
5
6
  name: American Express
7
+ color: '#2a6db0'
6
8
  search: [amex, american express]
7
9
  - id: bank-of-america
8
10
  name: Bank of America
11
+ color: '#b5122b'
9
12
  search: [bofa, boa, bankofamerica]
13
+ - id: barclays
14
+ name: Barclays
15
+ color: '#00395d'
16
+ search: [barclaycard, barclays us]
10
17
  - id: capital-one
11
18
  name: Capital One
19
+ color: '#1d3c6e'
12
20
  search: [capitalone]
13
21
  - id: chase
14
22
  name: Chase
23
+ color: '#1f4f9c'
15
24
  - id: citi
16
25
  name: Citi
26
+ color: '#3b4f66'
17
27
  search: [citibank]
18
28
  - id: column
19
29
  # Column N.A. issues the Bilt card; people know it as Bilt.
20
30
  name: Bilt
31
+ color: '#1a1a1a'
21
32
  search: [bilt]
22
33
  - id: discover
23
34
  name: Discover
35
+ color: '#e8751a'
24
36
  search: [discover it]
25
37
  - id: sofi
26
38
  name: SoFi
39
+ color: '#2d2f36'
40
+ - id: synchrony
41
+ # Synchrony Bank issues the PayPal Cashback Mastercard.
42
+ name: Synchrony
43
+ color: '#3b3f46'
44
+ search: [syf, synchrony bank]
27
45
  - id: td-bank
28
46
  name: TD Bank
47
+ color: '#2f6b3a'
29
48
  search: [td]
30
49
  - id: usbank
31
50
  name: U.S. Bank
51
+ color: '#3c4655'
32
52
  search: [us bank]
33
53
  - id: wells-fargo
34
54
  name: Wells Fargo
55
+ color: '#b8333a'
35
56
  search: [wf, wellsfargo]
@@ -12,6 +12,16 @@
12
12
  # as Costco's own 2% reward, which earnrate doesn't model.
13
13
  annual_fee: 65
14
14
  members_shop_at: [costco, costco-gas, costco-travel]
15
+ - id: sams-club
16
+ name: Sam's Club membership
17
+ ask: I have a Sam's Club membership
18
+ # Club, the basic tier ($60). Plus ($120) is its own entry below because it
19
+ # raises the Sam's Club Mastercard's rate at Sam's Club.
20
+ annual_fee: 60
21
+ members_shop_at: [sams-club, sams-club-gas]
22
+ - id: sams-club-plus
23
+ name: Sam's Club Plus membership
24
+ ask: I have Sam's Club Plus
15
25
  - id: bank-of-america-account
16
26
  name: Bank of America checking or savings
17
27
  ask: I bank with Bank of America
@@ -83,6 +83,25 @@
83
83
  name: U.S. Bank Travel Center
84
84
  aliases: [us bank travel center]
85
85
  category: travel
86
+ booked_via: [usbank-travel-center-hotels, usbank-travel-center-car-rentals]
87
+ - id: usbank-travel-center-hotels
88
+ kind: booking
89
+ name: Hotel through U.S. Bank Travel Center
90
+ aliases: [us bank travel center hotel, us bank travel center hotels]
91
+ category: travel
92
+ note: Prepaid hotels only for the Altitude Connect bonus.
93
+ - id: usbank-travel-center-car-rentals
94
+ kind: booking
95
+ name: Car rental through U.S. Bank Travel Center
96
+ aliases: [us bank travel center car rental, us bank travel center car]
97
+ category: travel
98
+ note: Prepaid car rentals only for the Altitude Connect bonus.
99
+ - id: bofa-travel-center
100
+ kind: portal
101
+ name: Bank of America Travel Center
102
+ aliases:
103
+ [bank of america travel center, bofa travel center, boa travel center]
104
+ category: travel
86
105
  - id: sofi-travel
87
106
  kind: portal
88
107
  name: SoFi Travel
@@ -170,6 +189,66 @@
170
189
  ambiguity:
171
190
  may_code_as: [dining, entertainment]
172
191
  note: Restaurants inside a hotel may code as dining, or as lodging if charged to the room. Shows and casino charges code separately.
192
+ - id: madison-square-garden
193
+ name: Madison Square Garden
194
+ aliases: [msg arena]
195
+ category: entertainment
196
+ ambiguity:
197
+ may_code_as: [dining]
198
+ note: Concession stands and stadium restaurants usually code as the venue (entertainment), not as restaurants.
199
+ - id: yankee-stadium
200
+ name: Yankee Stadium
201
+ category: entertainment
202
+ ambiguity:
203
+ may_code_as: [dining]
204
+ note: Concession stands and stadium restaurants usually code as the venue (entertainment), not as restaurants.
205
+ - id: fenway-park
206
+ name: Fenway Park
207
+ category: entertainment
208
+ ambiguity:
209
+ may_code_as: [dining]
210
+ note: Concession stands and stadium restaurants usually code as the venue (entertainment), not as restaurants.
211
+ - id: wrigley-field
212
+ name: Wrigley Field
213
+ category: entertainment
214
+ ambiguity:
215
+ may_code_as: [dining]
216
+ note: Concession stands and stadium restaurants usually code as the venue (entertainment), not as restaurants.
217
+ - id: caesars-palace
218
+ name: Caesars Palace
219
+ aliases: [caesars palace las vegas]
220
+ category: travel.hotels
221
+ ambiguity:
222
+ may_code_as: [dining, entertainment]
223
+ note: Restaurants inside a hotel may code as dining, or as lodging if charged to the room. Shows and casino charges code separately.
224
+ - id: mgm-grand
225
+ name: MGM Grand
226
+ aliases: [mgm grand las vegas]
227
+ category: travel.hotels
228
+ ambiguity:
229
+ may_code_as: [dining, entertainment]
230
+ note: Restaurants inside a hotel may code as dining, or as lodging if charged to the room. Shows and casino charges code separately.
231
+ - id: the-venetian
232
+ name: The Venetian Resort
233
+ aliases: [the venetian, venetian las vegas]
234
+ category: travel.hotels
235
+ ambiguity:
236
+ may_code_as: [dining, entertainment]
237
+ note: Restaurants inside a hotel may code as dining, or as lodging if charged to the room. Shows and casino charges code separately.
238
+ - id: wynn-las-vegas
239
+ name: Wynn Las Vegas
240
+ aliases: [wynn, encore las vegas]
241
+ category: travel.hotels
242
+ ambiguity:
243
+ may_code_as: [dining, entertainment]
244
+ note: Restaurants inside a hotel may code as dining, or as lodging if charged to the room. Shows and casino charges code separately.
245
+ - id: aria
246
+ name: ARIA Resort & Casino
247
+ aliases: [aria las vegas, aria resort]
248
+ category: travel.hotels
249
+ ambiguity:
250
+ may_code_as: [dining, entertainment]
251
+ note: Restaurants inside a hotel may code as dining, or as lodging if charged to the room. Shows and casino charges code separately.
173
252
 
174
253
  - id: chipotle
175
254
  name: Chipotle
@@ -178,12 +257,24 @@
178
257
  ambiguity:
179
258
  may_code_as: [dining.fast_food]
180
259
  note: Fast-casual chains can post as fast food (MCC 5814) instead of a restaurant (5812); a statement shows which.
260
+ - id: smashburger
261
+ name: Smashburger
262
+ domains: [smashburger.com]
263
+ category: dining
264
+ ambiguity:
265
+ may_code_as: [dining.fast_food]
266
+ note: U.S. Bank lists Smashburger under restaurants, but counter-service chains can post as fast food (MCC 5814); a statement shows which.
181
267
 
182
268
  - id: comcast
183
269
  name: Comcast Xfinity
184
270
  aliases: [comcast, xfinity]
185
271
  domains: [xfinity.com]
186
272
  category: tv_internet
273
+ # Listed here, beside Comcast, so "Xfinity Mobile" doesn't match Comcast.
274
+ - id: xfinity-mobile
275
+ name: Xfinity Mobile
276
+ category: phone
277
+ note: "Comcast's cell service, billed apart from Xfinity internet. U.S. Bank lists it as a cell phone provider."
187
278
 
188
279
  # Card issuers' travel and ticketing sites (see the Amex Travel note above).
189
280
  - {
@@ -224,6 +315,38 @@
224
315
  aliases: [capital one travel flight],
225
316
  category: travel,
226
317
  }
318
+ - id: capital-one-business-travel
319
+ kind: portal
320
+ name: Capital One Business Travel
321
+ aliases: [capital one business travel]
322
+ domains: [businesstravel.capitalone.com]
323
+ category: travel
324
+ - id: capital-one-business-travel-hotels
325
+ kind: booking
326
+ name: Hotel through Capital One Business Travel
327
+ aliases: [capital one business travel hotel]
328
+ category: travel
329
+ - id: capital-one-business-travel-vacation-rentals
330
+ kind: booking
331
+ name: Vacation rental through Capital One Business Travel
332
+ aliases: [capital one business travel vacation rental]
333
+ category: travel
334
+ - id: capital-one-business-travel-car-rentals
335
+ kind: booking
336
+ name: Car rental through Capital One Business Travel
337
+ aliases: [capital one business travel car rental]
338
+ category: travel
339
+ - id: capital-one-business-travel-flights
340
+ kind: booking
341
+ name: Flight through Capital One Business Travel
342
+ aliases: [capital one business travel flight]
343
+ category: travel
344
+ - id: trueblue-travel
345
+ kind: portal
346
+ name: TrueBlue Travel
347
+ aliases: [trueblue travel, true blue travel]
348
+ domains: [truebluetravel.com]
349
+ category: travel
227
350
  - id: capital-one-entertainment
228
351
  kind: portal
229
352
  name: Capital One Entertainment
@@ -322,6 +445,65 @@
322
445
  domains: [familydollar.com]
323
446
  category: other
324
447
  note: Sells groceries but codes as a discount store, which issuers leave out of grocery bonuses.
448
+ # Supercenters that sell a full grocery line. U.S. Bank calls both grocery
449
+ # stores (cashplus.usbank.com/cash-plus/samplemerchants), but Amex leaves
450
+ # superstores out of U.S. supermarkets.
451
+ - id: meijer
452
+ name: Meijer
453
+ domains: [meijer.com]
454
+ category: grocery.supermarket
455
+ ambiguity:
456
+ may_code_as: [superstore]
457
+ note: Meijer is a supercenter that usually codes as a grocery store. Amex leaves superstores out of its supermarket category, so a purchase may not earn its supermarket rate.
458
+ - id: fred-meyer
459
+ name: Fred Meyer
460
+ domains: [fredmeyer.com]
461
+ category: grocery.supermarket
462
+ ambiguity:
463
+ may_code_as: [superstore]
464
+ note: "Fred Meyer is Kroger's supercenter and usually codes as a grocery store. Amex leaves superstores out of its supermarket category, so a purchase may not earn its supermarket rate."
465
+ # Pharmacy counters inside other stores. Chase's drugstore category leaves
466
+ # out "warehouse clubs, discount stores, or grocery stores" with an onsite
467
+ # pharmacy.
468
+ - id: walmart-pharmacy
469
+ name: Walmart Pharmacy
470
+ category: superstore
471
+ ambiguity:
472
+ may_code_as: [drugstore]
473
+ note: Usually rung up as Walmart. A pharmacy counter with its own merchant code may post as a drugstore.
474
+ - id: kroger-pharmacy
475
+ name: Kroger Pharmacy
476
+ category: grocery.supermarket
477
+ ambiguity:
478
+ may_code_as: [drugstore]
479
+ note: Usually rung up as Kroger. A pharmacy counter with its own merchant code may post as a drugstore.
480
+ - id: publix-pharmacy
481
+ name: Publix Pharmacy
482
+ category: grocery.supermarket
483
+ ambiguity:
484
+ may_code_as: [drugstore]
485
+ note: Usually rung up as Publix. A pharmacy counter with its own merchant code may post as a drugstore.
486
+ - id: h-e-b-pharmacy
487
+ name: H-E-B Pharmacy
488
+ aliases: [heb pharmacy]
489
+ category: grocery.supermarket
490
+ ambiguity:
491
+ may_code_as: [drugstore]
492
+ note: Usually rung up as H-E-B. A pharmacy counter with its own merchant code may post as a drugstore.
493
+ # Liquor stores: Amex's supermarket category leaves out "liquor stores", and
494
+ # Chase's online grocery leaves them out by name.
495
+ - id: total-wine
496
+ name: Total Wine & More
497
+ aliases: [total wine, total wine and more]
498
+ domains: [totalwine.com]
499
+ category: other
500
+ note: Codes as a liquor store, which issuers leave out of grocery bonuses.
501
+ - id: specs
502
+ name: "Spec's Wine, Spirits & Finer Foods"
503
+ aliases: [specs, specs liquor, specs wine spirits]
504
+ domains: [specsonline.com]
505
+ category: other
506
+ note: Codes as a liquor store, which issuers leave out of grocery bonuses.
325
507
 
326
508
  # Gas stations with convenience stores. Chase's gas category covers gas "paid
327
509
  # for either at the pump or inside the station", and U.S. Bank lists several of
@@ -410,6 +592,60 @@
410
592
  ambiguity:
411
593
  may_code_as: [convenience_store]
412
594
  note: Holiday is a gas station with a convenience store. A location without fuel pumps may code as a convenience store.
595
+ - id: getgo
596
+ name: GetGo
597
+ aliases: [get go, getgo cafe market]
598
+ domains: [getgocafe.com]
599
+ category: gas
600
+ ambiguity:
601
+ may_code_as: [convenience_store]
602
+ note: Giant Eagle's gas stations, which code as gas, not as the grocery store (Chase's grocery category leaves out \"gas stations from merchants who also operate grocery stores\"). A location without fuel pumps may code as a convenience store.
603
+ - id: kwik-shop
604
+ name: Kwik Shop
605
+ domains: [kwikshop.com]
606
+ category: gas
607
+ ambiguity:
608
+ may_code_as: [convenience_store]
609
+ note: Kwik Shop is a gas station with a convenience store. A location without fuel pumps may code as a convenience store.
610
+ - id: thorntons
611
+ name: Thorntons
612
+ domains: [mythorntons.com]
613
+ category: gas
614
+ ambiguity:
615
+ may_code_as: [convenience_store]
616
+ note: Thorntons is a gas station with a convenience store. A location without fuel pumps may code as a convenience store.
617
+ - id: royal-farms
618
+ name: Royal Farms
619
+ aliases: [royal farms gas]
620
+ domains: [royalfarms.com]
621
+ category: gas
622
+ ambiguity:
623
+ may_code_as: [convenience_store]
624
+ note: Royal Farms is a gas station with a convenience store. A location without fuel pumps may code as a convenience store.
625
+ - id: quickchek
626
+ name: QuickChek
627
+ aliases: [quick chek]
628
+ domains: [quickchek.com]
629
+ category: gas
630
+ ambiguity:
631
+ may_code_as: [convenience_store]
632
+ note: QuickChek is a gas station with a convenience store. A location without fuel pumps may code as a convenience store.
633
+ - id: stewarts-shops
634
+ name: Stewart's Shops
635
+ aliases: [stewarts, stewarts shops]
636
+ domains: [stewartsshops.com]
637
+ category: gas
638
+ ambiguity:
639
+ may_code_as: [convenience_store]
640
+ note: Stewart's is a gas station with a convenience store. A location without fuel pumps may code as a convenience store.
641
+ - id: rutters
642
+ name: Rutter's
643
+ aliases: [rutters]
644
+ domains: [rutters.com]
645
+ category: gas
646
+ ambiguity:
647
+ may_code_as: [convenience_store]
648
+ note: Rutter's is a gas station with a convenience store. A location without fuel pumps may code as a convenience store.
413
649
 
414
650
  # Fast-casual chains can post as fast food (MCC 5814) or as restaurants (5812).
415
651
  # U.S. Bank's Cash+ sample lists put Smashburger under restaurants but Subway
@@ -435,6 +671,99 @@
435
671
  ambiguity:
436
672
  may_code_as: [dining]
437
673
  note: Fast-casual chains can post as fast food (MCC 5814) or as a restaurant (5812); a statement shows which.
674
+ - id: panera-bread
675
+ name: Panera Bread
676
+ aliases: [panera]
677
+ domains: [panerabread.com]
678
+ category: dining.fast_food
679
+ ambiguity:
680
+ may_code_as: [dining]
681
+ note: Fast-casual chains can post as fast food (MCC 5814) or as a restaurant (5812); a statement shows which.
682
+ - id: cava
683
+ name: CAVA
684
+ aliases: [cava grill]
685
+ domains: [cava.com]
686
+ category: dining.fast_food
687
+ ambiguity:
688
+ may_code_as: [dining]
689
+ note: Fast-casual chains can post as fast food (MCC 5814) or as a restaurant (5812); a statement shows which.
690
+ - id: noodles-and-company
691
+ name: Noodles & Company
692
+ aliases: [noodles and company, noodles and co]
693
+ domains: [noodles.com]
694
+ category: dining.fast_food
695
+ ambiguity:
696
+ may_code_as: [dining]
697
+ note: Fast-casual chains can post as fast food (MCC 5814) or as a restaurant (5812); a statement shows which.
698
+ - id: mod-pizza
699
+ name: MOD Pizza
700
+ domains: [modpizza.com]
701
+ category: dining.fast_food
702
+ ambiguity:
703
+ may_code_as: [dining]
704
+ note: Fast-casual chains can post as fast food (MCC 5814) or as a restaurant (5812); a statement shows which.
705
+ - id: blaze-pizza
706
+ name: Blaze Pizza
707
+ domains: [blazepizza.com]
708
+ category: dining.fast_food
709
+ ambiguity:
710
+ may_code_as: [dining]
711
+ note: Fast-casual chains can post as fast food (MCC 5814) or as a restaurant (5812); a statement shows which.
712
+ - id: moes
713
+ name: "Moe's Southwest Grill"
714
+ aliases: [moes, moes southwest grill]
715
+ domains: [moes.com]
716
+ category: dining.fast_food
717
+ ambiguity:
718
+ may_code_as: [dining]
719
+ note: Fast-casual chains can post as fast food (MCC 5814) or as a restaurant (5812); a statement shows which.
720
+ - id: potbelly
721
+ name: Potbelly
722
+ aliases: [potbelly sandwich shop]
723
+ domains: [potbelly.com]
724
+ category: dining.fast_food
725
+ ambiguity:
726
+ may_code_as: [dining]
727
+ note: Fast-casual chains can post as fast food (MCC 5814) or as a restaurant (5812); a statement shows which.
728
+ - id: mcalisters
729
+ name: "McAlister's Deli"
730
+ aliases: [mcalisters, mcalisters deli]
731
+ domains: [mcalistersdeli.com]
732
+ category: dining.fast_food
733
+ ambiguity:
734
+ may_code_as: [dining]
735
+ note: Fast-casual chains can post as fast food (MCC 5814) or as a restaurant (5812); a statement shows which.
736
+ - id: jasons-deli
737
+ name: "Jason's Deli"
738
+ aliases: [jasons deli]
739
+ domains: [jasonsdeli.com]
740
+ category: dining.fast_food
741
+ ambiguity:
742
+ may_code_as: [dining]
743
+ note: Fast-casual chains can post as fast food (MCC 5814) or as a restaurant (5812); a statement shows which.
744
+ - id: freddys
745
+ name: "Freddy's Frozen Custard & Steakburgers"
746
+ aliases: [freddys, freddys frozen custard]
747
+ domains: [freddys.com]
748
+ category: dining.fast_food
749
+ ambiguity:
750
+ may_code_as: [dining]
751
+ note: Fast-casual chains can post as fast food (MCC 5814) or as a restaurant (5812); a statement shows which.
752
+ - id: portillos
753
+ name: "Portillo's"
754
+ aliases: [portillos]
755
+ domains: [portillos.com]
756
+ category: dining.fast_food
757
+ ambiguity:
758
+ may_code_as: [dining]
759
+ note: Fast-casual chains can post as fast food (MCC 5814) or as a restaurant (5812); a statement shows which.
760
+ - id: smoothie-king
761
+ name: Smoothie King
762
+ domains: [smoothieking.com]
763
+ category: dining.fast_food
764
+ ambiguity:
765
+ may_code_as: [dining]
766
+ note: Fast-casual chains can post as fast food (MCC 5814) or as a restaurant (5812); a statement shows which.
438
767
 
439
768
  # Delivery apps. U.S. Bank lists them under Restaurants and Chase's dining
440
769
  # category counts them, but Chase's "dining purchased directly from a
@@ -471,6 +800,23 @@
471
800
  ambiguity:
472
801
  may_code_as: [dining]
473
802
  note: Tickets code as a movie theater. Food and drinks ordered at your seat usually post on the theater's charge too, but a location's kitchen may bill separately as a restaurant.
803
+ - id: studio-movie-grill
804
+ name: Studio Movie Grill
805
+ aliases: [smg movie grill]
806
+ domains: [studiomoviegrill.com]
807
+ category: movie_theaters
808
+ ambiguity:
809
+ may_code_as: [dining]
810
+ note: Tickets code as a movie theater. Food and drinks ordered at your seat usually post on the theater's charge too, but a location's kitchen may bill separately as a restaurant.
811
+ # A restaurant with an arcade: game cards can post apart from the meal.
812
+ - id: dave-and-busters
813
+ name: "Dave & Buster's"
814
+ aliases: [dave and busters, daves and busters, dave & busters]
815
+ domains: [daveandbusters.com]
816
+ category: dining
817
+ ambiguity:
818
+ may_code_as: [other]
819
+ note: Food and drinks code as a restaurant. Game cards may post separately as an arcade, which no card gives a bonus.
474
820
 
475
821
  # Parking codes as MCC 7523, which Amex and Chase count as transit but U.S.
476
822
  # Bank's Cash+ ground transportation leaves out.
@@ -488,6 +834,56 @@
488
834
  category: transit
489
835
  likely_mcc: 7523
490
836
  note: Parking codes as MCC 7523. Amex and Chase count parking as transit; U.S. Bank's ground transportation doesn't.
837
+ - id: paybyphone
838
+ name: PayByPhone
839
+ aliases: [pay by phone]
840
+ domains: [paybyphone.com]
841
+ category: transit
842
+ likely_mcc: 7523
843
+ note: "Parking codes as MCC 7523. Amex and Chase count parking as transit; U.S. Bank's ground transportation doesn't."
844
+ - id: parkwhiz
845
+ name: ParkWhiz
846
+ aliases: [park whiz]
847
+ domains: [parkwhiz.com]
848
+ category: transit
849
+ likely_mcc: 7523
850
+ note: "Parking codes as MCC 7523. Amex and Chase count parking as transit; U.S. Bank's ground transportation doesn't."
851
+ - id: laz-parking
852
+ name: LAZ Parking
853
+ aliases: [laz]
854
+ domains: [lazparking.com]
855
+ category: transit
856
+ likely_mcc: 7523
857
+ note: "Parking codes as MCC 7523. Amex and Chase count parking as transit; U.S. Bank's ground transportation doesn't."
858
+ # Toll transponder accounts. Chase's transit category names "toll bridges
859
+ # and highways".
860
+ - id: e-zpass
861
+ name: E-ZPass
862
+ aliases: [ezpass, e z pass]
863
+ category: transit
864
+ likely_mcc: 4784
865
+ note: "Tolls code as MCC 4784. Amex and Chase count tolls as transit; U.S. Bank's ground transportation leaves out toll stations."
866
+ - id: sunpass
867
+ name: SunPass
868
+ aliases: [sun pass]
869
+ domains: [sunpass.com]
870
+ category: transit
871
+ likely_mcc: 4784
872
+ note: "Tolls code as MCC 4784. Amex and Chase count tolls as transit; U.S. Bank's ground transportation leaves out toll stations."
873
+ - id: fastrak
874
+ name: FasTrak
875
+ aliases: [fas trak, bay area fastrak]
876
+ domains: [bayareafastrak.org]
877
+ category: transit
878
+ likely_mcc: 4784
879
+ note: "Tolls code as MCC 4784. Amex and Chase count tolls as transit; U.S. Bank's ground transportation leaves out toll stations."
880
+ - id: txtag
881
+ name: TxTag
882
+ aliases: [tx tag]
883
+ domains: [txtag.org]
884
+ category: transit
885
+ likely_mcc: 4784
886
+ note: "Tolls code as MCC 4784. Amex and Chase count tolls as transit; U.S. Bank's ground transportation leaves out toll stations."
491
887
 
492
888
  # Booking.com charges prepaid stays itself, but "pay at the property" stays are
493
889
  # charged by the hotel.
@@ -500,6 +896,28 @@
500
896
  may_code_as: [travel.hotels]
501
897
  note: Prepaid bookings code as a travel agency. Stays you pay for at the property are charged by the hotel and code as a hotel.
502
898
 
899
+ # Truck and moving rentals. Chase's car rental category leaves out "vehicle
900
+ # rentals for the purpose of hauling", and its travel category merchants
901
+ # "that rent vehicles for the purpose of hauling".
902
+ - id: u-haul
903
+ name: U-Haul
904
+ aliases: [uhaul, u haul]
905
+ domains: [uhaul.com]
906
+ category: other
907
+ note: Moving truck and trailer rentals, which issuers don't count as car rental or travel.
908
+ - id: penske-truck-rental
909
+ name: Penske Truck Rental
910
+ aliases: [penske truck, penske]
911
+ domains: [pensketruckrental.com]
912
+ category: other
913
+ note: Moving truck rentals, which issuers don't count as car rental or travel.
914
+ - id: budget-truck-rental
915
+ name: Budget Truck Rental
916
+ aliases: [budget truck]
917
+ domains: [budgettruck.com]
918
+ category: other
919
+ note: Moving truck rentals, which issuers don't count as car rental or travel. For cars, ask about Budget Car Rental.
920
+
503
921
  # AT&T bills wireless and home internet separately.
504
922
  - id: att
505
923
  name: AT&T
@@ -580,10 +998,90 @@
580
998
  online:
581
999
  category: online_retail
582
1000
  note: An auto parts store, with no bonus category in store. Its website counts as online retail.
1001
+ - id: oreilly-auto-parts
1002
+ name: "O'Reilly Auto Parts"
1003
+ aliases: [oreilly, oreillys, oreilly auto parts]
1004
+ domains: [oreillyauto.com]
1005
+ category: other
1006
+ online:
1007
+ category: online_retail
1008
+ note: A auto parts store, with no bonus category in store. Its website counts as online retail.
1009
+ - id: advance-auto-parts
1010
+ name: Advance Auto Parts
1011
+ aliases: [advance auto]
1012
+ domains: [advanceautoparts.com]
1013
+ category: other
1014
+ online:
1015
+ category: online_retail
1016
+ note: A auto parts store, with no bonus category in store. Its website counts as online retail.
1017
+ - id: napa-auto-parts
1018
+ name: NAPA Auto Parts
1019
+ aliases: [napa auto]
1020
+ domains: [napaonline.com]
1021
+ category: other
1022
+ online:
1023
+ category: online_retail
1024
+ note: A auto parts store, with no bonus category in store. Its website counts as online retail.
1025
+ - id: discount-tire
1026
+ name: Discount Tire
1027
+ aliases: [americas tire]
1028
+ domains: [discounttire.com]
1029
+ category: other
1030
+ online:
1031
+ category: online_retail
1032
+ note: A tire store, with no bonus category in store. Its website counts as online retail.
1033
+ - id: bath-and-body-works
1034
+ name: Bath & Body Works
1035
+ aliases: [bath and body works]
1036
+ domains: [bathandbodyworks.com]
1037
+ category: other
1038
+ online:
1039
+ category: online_retail
1040
+ note: A personal care store, with no bonus category in store. Its website counts as online retail.
1041
+ - id: barnes-and-noble
1042
+ name: Barnes & Noble
1043
+ aliases: [barnes and noble, barnes noble]
1044
+ domains: [barnesandnoble.com]
1045
+ category: other
1046
+ online:
1047
+ category: online_retail
1048
+ note: A bookstore, with no bonus category in store. Its website counts as online retail.
1049
+ - id: guitar-center
1050
+ name: Guitar Center
1051
+ domains: [guitarcenter.com]
1052
+ category: other
1053
+ online:
1054
+ category: online_retail
1055
+ note: A music store, with no bonus category in store. Its website counts as online retail.
1056
+ - id: dsw
1057
+ name: DSW
1058
+ aliases: [designer shoe warehouse]
1059
+ domains: [dsw.com]
1060
+ category: other
1061
+ online:
1062
+ category: online_retail
1063
+ note: A shoe store, with no bonus category in store. Its website counts as online retail.
1064
+ - id: pet-supplies-plus
1065
+ name: Pet Supplies Plus
1066
+ domains: [petsuppliesplus.com]
1067
+ category: other
1068
+ online:
1069
+ category: online_retail
1070
+ note: A pet store, with no bonus category in store. Its website counts as online retail.
583
1071
 
584
- # Listed here, not in seed.yaml, so "Amazon Music" doesn't match Amazon itself.
1072
+ # Listed here, not in seed.yaml, so "Amazon Music" and "Amazon Prime Video"
1073
+ # don't match Amazon itself.
1074
+ - id: amazon-prime-video
1075
+ name: Amazon Prime Video
1076
+ aliases: [prime video]
1077
+ category: streaming
1078
+ note: On Amex's Select U.S. Streaming Subscriptions list. Charged by Amazon, so other issuers may code it as Amazon.
585
1079
  - id: amazon-music
586
1080
  name: Amazon Music Unlimited
587
1081
  aliases: [amazon music]
588
1082
  category: streaming
589
1083
  note: On Amex's Select U.S. Streaming Subscriptions list. Charged by Amazon, so other issuers may code it as Amazon.
1084
+ - id: kindle-unlimited
1085
+ name: Kindle Unlimited
1086
+ category: streaming
1087
+ note: On Amex's Select U.S. Streaming Subscriptions list. Charged by Amazon, so other issuers may code it as Amazon.