earnrate 0.2.8 → 0.2.10

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 (99) hide show
  1. package/README.md +31 -5
  2. package/data/CHANGELOG.md +145 -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 +38 -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 +4 -0
  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 +30 -2
  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 +290 -0
  62. package/data/merchants/seed.yaml +1049 -2
  63. package/dist/cli/args.js +3 -6
  64. package/dist/cli/explore.js +10 -0
  65. package/dist/cli/import.js +18 -4
  66. package/dist/cli/run.js +3 -1
  67. package/dist/cli/wallet.js +5 -1
  68. package/dist/data/file-store.js +2 -2
  69. package/dist/data/integrity.js +17 -0
  70. package/dist/data/store.js +1 -1
  71. package/dist/data/wallet-edit.js +32 -18
  72. package/dist/engine/cheat-sheet.js +46 -2
  73. package/dist/engine/checklist.js +19 -8
  74. package/dist/engine/evaluate.js +2 -0
  75. package/dist/engine/explore.js +9 -5
  76. package/dist/engine/milestones.js +91 -0
  77. package/dist/engine/periods.js +29 -12
  78. package/dist/engine/recommend.js +68 -14
  79. package/dist/engine/record.js +39 -1
  80. package/dist/engine/rule-text.js +17 -5
  81. package/dist/engine/setup.js +13 -2
  82. package/dist/engine/simulate.js +25 -3
  83. package/dist/engine/text.js +11 -0
  84. package/dist/engine/wallet-change.js +67 -0
  85. package/dist/engine/wallet-summary.js +17 -5
  86. package/dist/format/cards.js +3 -1
  87. package/dist/format/recommendation.js +8 -2
  88. package/dist/format/wallet.js +22 -4
  89. package/dist/import/analyze.js +42 -2
  90. package/dist/mcp/inputs.js +10 -0
  91. package/dist/mcp/schemas.js +50 -2
  92. package/dist/mcp/server.js +17 -1
  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/schema/card.js +22 -1
  97. package/dist/schema/common.js +4 -0
  98. package/dist/schema/wallet.js +2 -0
  99. package/package.json +5 -3
@@ -8,8 +8,10 @@ verified_by: claude
8
8
  source_urls:
9
9
  - https://creditcards.chase.com/travel-credit-cards/united/united-quest
10
10
  - https://www.chase.com/personal/credit-cards/rewards-category-faq
11
+ - https://sites.chase.com/services/creatives/pricingandterms.html/content/dam/pricingandterms/LGC65756.html
11
12
  base_rate: 1
12
13
  annual_fee: 350
14
+ foreign_transaction_fee: 0
13
15
  welcome_offer:
14
16
  points: 80000
15
17
  spend: 4000
@@ -37,9 +39,32 @@ rules:
37
39
  rate: 2
38
40
  note: Includes takeout and eligible delivery services.
39
41
  - id: streaming
40
- match: { categories: [streaming] }
42
+ match:
43
+ {
44
+ merchants:
45
+ [
46
+ apple-music,
47
+ apple-tv,
48
+ disney-plus,
49
+ espn,
50
+ fubotv,
51
+ max,
52
+ hulu,
53
+ netflix,
54
+ pandora,
55
+ paramount-plus,
56
+ peacock,
57
+ showtime,
58
+ siriusxm,
59
+ sling-tv,
60
+ spotify,
61
+ youtube-premium,
62
+ youtube-tv,
63
+ fandango-at-home,
64
+ ],
65
+ }
41
66
  rate: 2
42
- note: Only Chase's select streaming list (Apple Music, Apple TV, Disney+, ESPN+, Fubo TV, Max, Hulu, Netflix, Pandora, Paramount+, Peacock, Showtime, SiriusXM, Sling, Spotify, YouTube Premium, YouTube TV, Vudu).
67
+ note: Only the services on Chase's select streaming list, like Netflix, Hulu, Disney+ and Spotify.
43
68
  todo:
44
69
  - United Card Events from Chase also earn 4x; no merchant exists for them, so they aren't modeled.
45
70
  # Issuer text backing each rule; `yarn check-sources` checks it weekly.
@@ -92,3 +117,6 @@ evidence:
92
117
  - rule: dining
93
118
  url: https://www.chase.com/personal/credit-cards/rewards-category-faq
94
119
  quote: 'Delivery and takeout services will be included if they classify as a restaurant merchant'
120
+ - rule: foreign_transaction_fee
121
+ url: https://sites.chase.com/services/creatives/pricingandterms.html/content/dam/pricingandterms/LGC65756.html
122
+ quote: 'Foreign Transactions None Penalty Fees'
@@ -13,6 +13,7 @@ base_rate: 1
13
13
  business: true
14
14
  annual_fee: 99
15
15
  first_year_fee: 0
16
+ foreign_transaction_fee: 0
16
17
  welcome_offer:
17
18
  points: 75000
18
19
  spend: 5000
@@ -82,3 +83,6 @@ evidence:
82
83
  - rule: welcome_offer
83
84
  url: https://www.citi.com/credit-cards/citi-aadvantage-business-credit-card
84
85
  quote: 'new account bonus for a Citi® / AAdvantage® Business account in the past 48 months'
86
+ - rule: foreign_transaction_fee
87
+ url: https://www.citi.com/credit-cards/citi-aadvantage-business-credit-card
88
+ quote: 'Fee for Foreign Purchases — None'
@@ -9,6 +9,7 @@ source_urls:
9
9
  - https://www.citi.com/credit-cards/citi-aadvantage-executive-world-legend-mastercard
10
10
  base_rate: 1
11
11
  annual_fee: 695
12
+ foreign_transaction_fee: 0
12
13
  welcome_offer:
13
14
  points: 80000
14
15
  spend: 8000
@@ -61,3 +62,6 @@ evidence:
61
62
  - rule: welcome_offer
62
63
  url: https://www.citi.com/credit-cards/citi-aadvantage-executive-world-legend-mastercard
63
64
  quote: 'new account bonus for a Citi® / AAdvantage® Executive account in the past 48 months'
65
+ - rule: foreign_transaction_fee
66
+ url: https://www.citi.com/credit-cards/citi-aadvantage-executive-world-legend-mastercard
67
+ quote: 'Fee for Foreign Purchases - None'
@@ -9,6 +9,7 @@ source_urls:
9
9
  - https://www.citi.com/credit-cards/citi-aadvantage-globe-mastercard
10
10
  base_rate: 1
11
11
  annual_fee: 350
12
+ foreign_transaction_fee: 0
12
13
  welcome_offer:
13
14
  points: 60000
14
15
  spend: 4000
@@ -63,3 +64,6 @@ evidence:
63
64
  - rule: welcome_offer
64
65
  url: https://www.citi.com/credit-cards/citi-aadvantage-globe-mastercard
65
66
  quote: 'new account bonus for a Citi® / AAdvantage® Globe™ account in the past 48 months'
67
+ - rule: foreign_transaction_fee
68
+ url: https://www.citi.com/credit-cards/citi-aadvantage-globe-mastercard
69
+ quote: 'Fee for Foreign Purchases - None'
@@ -11,6 +11,7 @@ source_urls:
11
11
  - https://www.citi.com/credit-cards/aadvantage-mile-up-credit-card
12
12
  base_rate: 1
13
13
  annual_fee: 0
14
+ foreign_transaction_fee: 3
14
15
  welcome_offer:
15
16
  points: 15000
16
17
  spend: 500
@@ -58,3 +59,6 @@ evidence:
58
59
  - rule: welcome_offer
59
60
  url: https://www.citi.com/credit-cards/aadvantage-mile-up-credit-card
60
61
  quote: 'new account bonus for an AAdvantage® MileUp® account in the past 48 months'
62
+ - rule: foreign_transaction_fee
63
+ url: https://www.citi.com/credit-cards/aadvantage-mile-up-credit-card
64
+ quote: 'Fee for Foreign Purchases - 3% of the U.S. dollar amount of each purchase'
@@ -10,6 +10,7 @@ source_urls:
10
10
  base_rate: 1
11
11
  annual_fee: 99
12
12
  first_year_fee: 0
13
+ foreign_transaction_fee: 0
13
14
  welcome_offer:
14
15
  points: 50000
15
16
  spend: 2500
@@ -69,3 +70,6 @@ evidence:
69
70
  - rule: welcome_offer
70
71
  url: https://www.citi.com/credit-cards/citi-aadvantage-platinum-elite-credit-card
71
72
  quote: 'new account bonus for a Citi® / AAdvantage® Platinum Select® account in the past 48 months'
73
+ - rule: foreign_transaction_fee
74
+ url: https://www.citi.com/credit-cards/citi-aadvantage-platinum-elite-credit-card
75
+ quote: 'there are no foreign transaction fees'
@@ -13,6 +13,7 @@ source_urls:
13
13
  base_rate: 1
14
14
  business: true
15
15
  annual_fee: 0
16
+ foreign_transaction_fee: 0
16
17
  requires_membership: costco # its fee is in data/memberships.yaml
17
18
  caps:
18
19
  # Costco gas, other gas and EV charging share one $7,000 cap. Rewards run on
@@ -96,3 +97,6 @@ evidence:
96
97
  - rule: requires_membership
97
98
  url: https://www.costco.com/join-costco.html
98
99
  quote: 'Gold Star $65/yr'
100
+ - rule: foreign_transaction_fee
101
+ url: https://www.citi.com/credit-cards/costco-anywhere-visa-business-card
102
+ quote: 'Fee for foreign purchases — None'
@@ -12,6 +12,7 @@ source_urls:
12
12
  # redeemable for cash or merchandise at a U.S. Costco warehouse.
13
13
  base_rate: 1
14
14
  annual_fee: 0
15
+ foreign_transaction_fee: 0
15
16
  requires_membership: costco # its fee is in data/memberships.yaml
16
17
  caps:
17
18
  # Costco gas, other gas and EV charging share one $7,000 cap. Rewards run on
@@ -95,3 +96,6 @@ evidence:
95
96
  - rule: requires_membership
96
97
  url: https://www.costco.com/join-costco.html
97
98
  quote: 'Gold Star $65/yr'
99
+ - rule: foreign_transaction_fee
100
+ url: https://www.citi.com/credit-cards/citi-costco-anywhere-visa-credit-card
101
+ quote: 'Fee for foreign purchases — None'
@@ -15,6 +15,7 @@ source_urls:
15
15
  # Paid as ThankYou Points, which redeem at 1¢ for cash back on this card, so a
16
16
  # point here is 1%.
17
17
  base_rate: 1
18
+ foreign_transaction_fee: null
18
19
  # Points can be combined into one ThankYou account, which then runs on that
19
20
  # account's terms: pooled with a Strata card, they transfer like Strata points.
20
21
  pools_into:
@@ -97,6 +98,7 @@ rules:
97
98
  rate: 5
98
99
  note: 4 extra points per $1 on top of the 1% base, for hotels, car rentals and attractions booked with Citi Travel. Only the part paid with the card earns, and canceled bookings don't. Citi's terms don't say whether the extra 4 also stacks on the 5% when travel or transit is the top category.
99
100
  todo:
101
+ - 'Foreign transaction fee not on file: the card page is a "Not Available" stub since applications closed, and no readable Citi page states the fee.'
100
102
  - Network set to mastercard, but no current Citi page states it (the card page is now a "Not Available" stub). Check your card.
101
103
  - Travel agencies (MCC 4722) count toward select travel, but a choice option can only list categories or merchants, so they aren't in the option.
102
104
  - Citi Travel hotel bookings may also count toward select travel (Citi Travel is a travel agency). Possible 5% + 4% stacking is unconfirmed.
@@ -14,6 +14,7 @@ source_urls:
14
14
  # redeem at 1¢ for cash back (10,000 points = $100), so a point here is 1%.
15
15
  base_rate: 2
16
16
  annual_fee: 0
17
+ foreign_transaction_fee: 3
17
18
  welcome_offer:
18
19
  dollars: 200
19
20
  spend: 1500
@@ -72,3 +73,6 @@ evidence:
72
73
  - rule: welcome_offer
73
74
  url: https://www.citi.com/credit-cards/citi-double-cash-credit-card
74
75
  quote: 'new account bonus for a Citi Double Cash account in the past 48 months'
76
+ - rule: foreign_transaction_fee
77
+ url: https://www.citi.com/credit-cards/citi-double-cash-credit-card
78
+ quote: 'Fee for foreign purchases – 3% of the U.S. dollar amount of each purchase'
@@ -11,6 +11,7 @@ source_urls:
11
11
  # points per dollar is the advertised 5%.
12
12
  base_rate: 0.5
13
13
  annual_fee: 59
14
+ foreign_transaction_fee: 0
14
15
  rules:
15
16
  - id: best-buy
16
17
  match: { merchants: [best-buy, pacific-kitchen-home] }
@@ -50,3 +51,6 @@ evidence:
50
51
  - rule: annual_fee
51
52
  url: https://www.citi.com/credit-cards/citi-best-buy-credit-cards
52
53
  quote: 'Annual Fee: $0 - $59, based on creditworthiness.'
54
+ - rule: foreign_transaction_fee
55
+ url: https://www.citi.com/credit-cards/citi-best-buy-credit-cards
56
+ quote: 'Tap and go with your contactless card. No foreign transaction fees'
@@ -10,6 +10,7 @@ source_urls:
10
10
  - https://www.thankyou.com/terms
11
11
  base_rate: 1.5
12
12
  annual_fee: 595
13
+ foreign_transaction_fee: 0
13
14
  welcome_offer:
14
15
  points: 75000
15
16
  spend: 6000
@@ -78,3 +79,6 @@ evidence:
78
79
  - rule: welcome_offer
79
80
  url: https://www.citi.com/credit-cards/citi-strata-elite-credit-card
80
81
  quote: 'New account bonus offer is not available if you currently have or previously had a Citi Strata Elite® account'
82
+ - rule: foreign_transaction_fee
83
+ url: https://www.citi.com/credit-cards/citi-strata-elite-credit-card
84
+ quote: 'Fee for foreign purchases - None'
@@ -10,6 +10,7 @@ source_urls:
10
10
  - https://www.thankyou.com/terms
11
11
  base_rate: 1
12
12
  annual_fee: 95
13
+ foreign_transaction_fee: 0
13
14
  welcome_offer:
14
15
  points: 60000
15
16
  spend: 4000
@@ -109,3 +110,6 @@ evidence:
109
110
  - rule: welcome_offer
110
111
  url: https://www.citi.com/credit-cards/citi-strata-premier-credit-card
111
112
  quote: 'not available if you currently have or previously had a Citi Strata Premier® or a Citi Premier® account'
113
+ - rule: foreign_transaction_fee
114
+ url: https://www.citi.com/credit-cards/citi-strata-premier-credit-card
115
+ quote: 'Fee for foreign purchases - None'
@@ -11,6 +11,7 @@ source_urls:
11
11
  - https://www.sofi.com/card/terms?cardType=c
12
12
  base_rate: 2
13
13
  annual_fee: 0
14
+ foreign_transaction_fee: 0
14
15
  rules:
15
16
  - id: sofi-travel
16
17
  match: { merchants: [sofi-travel] }
@@ -39,5 +40,8 @@ evidence:
39
40
  - rule: annual_fee
40
41
  url: https://www.sofi.com/card/terms?cardType=c
41
42
  quote: 'FEES Annual Fee None Transaction Fees'
43
+ - rule: foreign_transaction_fee
44
+ url: https://www.sofi.com/credit-card/unlimited/
45
+ quote: 'Enjoy globetrotting that much more by skipping foreign transaction fees'
42
46
  todo:
43
47
  - 'No public welcome offer: the page says the card is currently invite only (apply with a mailed reservation code), and shows no bonus.'
@@ -16,6 +16,7 @@ source_urls:
16
16
  # however they pay.
17
17
  base_rate: 0
18
18
  annual_fee: 0
19
+ foreign_transaction_fee: null
19
20
  welcome_offer:
20
21
  dollars: 60
21
22
  spend: 0
@@ -38,6 +39,7 @@ rules:
38
39
  rate: 5
39
40
  note: No points at Nordstrom Rack. Instead an instant 5% discount in Rack stores and on NordstromRack.com, counted here as 5 points per dollar because a point is worth 1¢ in Notes. Not through Apple Pay, PayPal or Afterpay, and not on gift cards.
40
41
  todo:
42
+ - "Foreign transaction fee not on file: Nordstrom's pages block the source check. It works only at Nordstrom, so it doesn't matter abroad."
41
43
  - Last Chance clearance stores earn no points, and the 5% discount terms name only Rack stores and NordstromRack.com.
42
44
  - Not modeled are bonus points events, Personal Double Points Days and alterations reimbursement Notes.
43
45
  evidence:
@@ -14,6 +14,7 @@ source_urls:
14
14
  # point per dollar at Nordstrom however they pay.
15
15
  base_rate: 1
16
16
  annual_fee: 0
17
+ foreign_transaction_fee: null
17
18
  welcome_offer:
18
19
  dollars: 60
19
20
  spend: 0
@@ -60,6 +61,7 @@ rules:
60
61
  rate: 2
61
62
  note: Cable, satellite and other TV, radio and streaming services billed by subscription.
62
63
  todo:
64
+ - "Foreign transaction fee not on file: Nordstrom's pages block the source check, so the rates table couldn't be read."
63
65
  - No points at Last Chance clearance stores either.
64
66
  - Not modeled are bonus points events, Personal Double Points Days and alterations reimbursement Notes.
65
67
  evidence:
@@ -13,6 +13,7 @@ source_urls:
13
13
  # elsewhere) belongs to the Target Mastercard, a separate card.
14
14
  base_rate: 0
15
15
  annual_fee: 0
16
+ foreign_transaction_fee: null
16
17
  welcome_offer:
17
18
  dollars: 50
18
19
  spend: 50
@@ -24,6 +25,7 @@ rules:
24
25
  rate: 5
25
26
  note: An instant 5% discount at checkout in Target stores and on Target.com, after other discounts, on the part of the purchase paid with the card. Not on prescriptions, pharmacy-counter items or clinic services, Target Optical eye exams and protection plans (glasses and contacts do count), Target GiftCards, prepaid Visa/Mastercard/Amex cards or sports betting gift cards, Starbucks gift cards bought at in-store Starbucks, Shipt or Target Circle 360 fees, wireless protection plans and carrier deposits, gift wrapping, alcohol in Indiana, taxes, shipping or other fees.
26
27
  todo:
28
+ - "Foreign transaction fee not on file: Target's credit rates and fees page loads empty for the source check. It works only at Target, so it doesn't matter abroad."
27
29
  - The debit version (Target Circle Debit Card) gets the same 5% discount but isn't modeled as a separate card.
28
30
  - Target considers credit applicants for the Target Mastercard first, which also earns 2% on dining and gas and 1% elsewhere. Not modeled; target.com doesn't say what form those earnings take.
29
31
  - Starbucks counters inside Target stores get the 5% discount too. They aren't a separate merchant here.
@@ -8,8 +8,10 @@ verified_by: claude
8
8
  source_urls:
9
9
  - https://www.usbank.com/credit-cards/cash-plus-visa-signature-credit-card.html
10
10
  - https://cashplus.usbank.com/cash-plus/samplemerchants
11
+ - https://onboarding.usbank.com/gateway/partner/credit-card/begin?locationCode=8069&offerId=WRH8D23H2R&sourceCode=88256&page=terms
11
12
  base_rate: 1
12
13
  annual_fee: 0
14
+ foreign_transaction_fee: 3
13
15
  welcome_offer:
14
16
  dollars: 200
15
17
  spend: 1000
@@ -120,5 +122,8 @@ evidence:
120
122
  - rule: welcome_offer
121
123
  url: https://www.usbank.com/credit-cards/cash-plus-visa-signature-credit-card.html
122
124
  quote: 'Earn a $200 rewards bonus after you spend $1,000 in eligible purchases within the first 90 days of account opening'
125
+ - rule: foreign_transaction_fee
126
+ url: https://onboarding.usbank.com/gateway/partner/credit-card/begin?locationCode=8069&offerId=WRH8D23H2R&sourceCode=88256&page=terms
127
+ quote: 'Foreign Transaction 3% of each foreign transaction'
123
128
  todo:
124
129
  - "Gas at grocery stores (Kroger, Hy-Vee, Meijer) is modeled at 2%, as U.S. Bank's sample merchants page says it may qualify, varying by location; the card page's footnote says 1%, so it may earn 1% at some stations."
@@ -10,6 +10,7 @@ source_urls:
10
10
  - https://www.wellsfargo.com/credit-cards/active-cash/terms/
11
11
  base_rate: 2
12
12
  annual_fee: 0
13
+ foreign_transaction_fee: 3
13
14
  welcome_offer:
14
15
  dollars: 100
15
16
  spend: 500
@@ -39,3 +40,6 @@ evidence:
39
40
  - rule: welcome_offer
40
41
  url: https://www.wellsfargo.com/credit-cards/active-cash/terms/
41
42
  quote: 'opened one within the last 48 months from the date of this application'
43
+ - rule: foreign_transaction_fee
44
+ url: https://www.wellsfargo.com/credit-cards/active-cash/terms/
45
+ quote: 'Foreign Currency Conversion/Foreign Transaction 3% of each transaction converted to U.S. dollars'
@@ -11,6 +11,7 @@ source_urls:
11
11
  - https://www.wellsfargo.com/credit-cards/autograph-visa/terms/
12
12
  base_rate: 1
13
13
  annual_fee: 0
14
+ foreign_transaction_fee: 0
14
15
  welcome_offer:
15
16
  points: 20000
16
17
  spend: 1000
@@ -101,6 +102,9 @@ evidence:
101
102
  - rule: welcome_offer
102
103
  url: https://creditcards.wellsfargo.com/autograph-visa-credit-card/
103
104
  quote: 'To qualify for the 20,000 bonus rewards points, a total of at least $1,000 in net purchases'
105
+ - rule: foreign_transaction_fee
106
+ url: https://www.wellsfargo.com/credit-cards/autograph-visa/terms/
107
+ quote: 'Foreign Currency Conversion/Foreign Transaction None'
104
108
  todo:
105
109
  - 'Wells Fargo values a point at $0.01 and says points transfer to select travel loyalty programs, but names no partners.'
106
110
  - 'The streaming page lists merchant types, not providers; no issuer list of specific streaming services was found.'
@@ -281,3 +281,293 @@
281
281
  aliases: [bilt travel flight],
282
282
  category: travel,
283
283
  }
284
+
285
+ # More warehouse clubs and discount stores. Chase's grocery category leaves out
286
+ # "warehouse clubs, discount stores and some smaller merchants such as
287
+ # drugstores" (chase.com/personal/credit-cards/rewards-category-faq).
288
+ - id: bjs-wholesale-club
289
+ name: "BJ's Wholesale Club"
290
+ aliases: [bjs, bjs wholesale, bjs wholesale club, bjs club]
291
+ domains: [bjs.com]
292
+ category: warehouse_club
293
+ note: Codes as a warehouse club, which Amex, Chase and Capital One leave out of their grocery bonuses. For the restaurant chain, ask about BJ's Restaurant & Brewhouse.
294
+ # Listed here, beside BJ's Wholesale Club, so "BJ's" alone means the club
295
+ # and the restaurant still answers to its own names.
296
+ - id: bjs-restaurant
297
+ name: "BJ's Restaurant & Brewhouse"
298
+ aliases: [bjs restaurant, bjs restaurant and brewhouse, bjs brewhouse]
299
+ category: dining
300
+ - id: bjs-gas
301
+ name: "BJ's Gas"
302
+ aliases: [bjs gas, bjs gas station]
303
+ category: gas.superstore
304
+ note: Issuers usually exclude warehouse-club gas from gas bonuses.
305
+ - id: dollar-general
306
+ name: Dollar General
307
+ domains: [dollargeneral.com]
308
+ category: other
309
+ note: Sells groceries but codes as a discount store, which issuers leave out of grocery bonuses.
310
+ - id: dollar-tree
311
+ name: Dollar Tree
312
+ domains: [dollartree.com]
313
+ category: other
314
+ note: Sells groceries but codes as a discount store, which issuers leave out of grocery bonuses.
315
+ - id: family-dollar
316
+ name: Family Dollar
317
+ domains: [familydollar.com]
318
+ category: other
319
+ note: Sells groceries but codes as a discount store, which issuers leave out of grocery bonuses.
320
+
321
+ # Gas stations with convenience stores. Chase's gas category covers gas "paid
322
+ # for either at the pump or inside the station", and U.S. Bank lists several of
323
+ # these chains as gas stations.
324
+ - id: wawa
325
+ name: Wawa
326
+ domains: [wawa.com]
327
+ category: gas
328
+ ambiguity:
329
+ may_code_as: [convenience_store]
330
+ note: Wawa is a gas station with a convenience store. A location without fuel pumps may code as a convenience store.
331
+ - id: sheetz
332
+ name: Sheetz
333
+ domains: [sheetz.com]
334
+ category: gas
335
+ ambiguity:
336
+ may_code_as: [convenience_store]
337
+ note: Sheetz is a gas station with a convenience store. A location without fuel pumps may code as a convenience store.
338
+ - id: circle-k
339
+ name: Circle K
340
+ domains: [circlek.com]
341
+ category: gas
342
+ ambiguity:
343
+ may_code_as: [convenience_store]
344
+ note: Circle K is a gas station with a convenience store. A location without fuel pumps may code as a convenience store.
345
+ - id: caseys
346
+ name: "Casey's"
347
+ aliases: [caseys, caseys general store]
348
+ domains: [caseys.com]
349
+ category: gas
350
+ ambiguity:
351
+ may_code_as: [convenience_store]
352
+ note: "Casey's is a gas station with a convenience store. A location without fuel pumps may code as a convenience store."
353
+ - id: quiktrip
354
+ name: QuikTrip
355
+ aliases: [qt, quik trip]
356
+ domains: [quiktrip.com]
357
+ category: gas
358
+ ambiguity:
359
+ may_code_as: [convenience_store]
360
+ note: QuikTrip is a gas station with a convenience store. A location without fuel pumps may code as a convenience store.
361
+ - id: racetrac
362
+ name: RaceTrac
363
+ aliases: [race trac]
364
+ domains: [racetrac.com]
365
+ category: gas
366
+ ambiguity:
367
+ may_code_as: [convenience_store]
368
+ note: RaceTrac is a gas station with a convenience store. A location without fuel pumps may code as a convenience store.
369
+ - id: speedway
370
+ name: Speedway
371
+ domains: [speedway.com]
372
+ category: gas
373
+ ambiguity:
374
+ may_code_as: [convenience_store]
375
+ note: Speedway is a gas station with a convenience store. A location without fuel pumps may code as a convenience store.
376
+ - id: cumberland-farms
377
+ name: Cumberland Farms
378
+ aliases: [cumby, cumbys]
379
+ domains: [cumberlandfarms.com]
380
+ category: gas
381
+ ambiguity:
382
+ may_code_as: [convenience_store]
383
+ note: Cumberland Farms is a gas station with a convenience store. A location without fuel pumps may code as a convenience store.
384
+ - id: kwik-trip
385
+ name: Kwik Trip
386
+ aliases: [kwik star]
387
+ domains: [kwiktrip.com]
388
+ category: gas
389
+ ambiguity:
390
+ may_code_as: [convenience_store]
391
+ note: Kwik Trip is a gas station with a convenience store. A location without fuel pumps may code as a convenience store.
392
+ - id: maverik
393
+ name: Maverik
394
+ aliases: [maverik adventures first stop, kum & go, kum and go]
395
+ domains: [maverik.com]
396
+ category: gas
397
+ ambiguity:
398
+ may_code_as: [convenience_store]
399
+ note: Maverik (which now runs the Kum & Go stores) is a gas station with a convenience store. A location without fuel pumps may code as a convenience store.
400
+ - id: holiday-stationstores
401
+ name: Holiday Stationstores
402
+ aliases: [holiday gas, holiday gas station, holiday station]
403
+ domains: [holidaystationstores.com]
404
+ category: gas
405
+ ambiguity:
406
+ may_code_as: [convenience_store]
407
+ note: Holiday is a gas station with a convenience store. A location without fuel pumps may code as a convenience store.
408
+
409
+ # Fast-casual chains can post as fast food (MCC 5814) or as restaurants (5812).
410
+ # U.S. Bank's Cash+ sample lists put Smashburger under restaurants but Subway
411
+ # and Qdoba under fast food, so the counter-service burger and smoothie chains
412
+ # below could go either way.
413
+ - id: five-guys
414
+ name: Five Guys
415
+ aliases: [five guys burgers and fries]
416
+ category: dining.fast_food
417
+ ambiguity:
418
+ may_code_as: [dining]
419
+ note: Fast-casual chains can post as fast food (MCC 5814) or as a restaurant (5812); a statement shows which.
420
+ - id: shake-shack
421
+ name: Shake Shack
422
+ category: dining.fast_food
423
+ ambiguity:
424
+ may_code_as: [dining]
425
+ note: Fast-casual chains can post as fast food (MCC 5814) or as a restaurant (5812); a statement shows which.
426
+ - id: tropical-smoothie-cafe
427
+ name: Tropical Smoothie Cafe
428
+ aliases: [tropical smoothie]
429
+ category: dining.fast_food
430
+ ambiguity:
431
+ may_code_as: [dining]
432
+ note: Fast-casual chains can post as fast food (MCC 5814) or as a restaurant (5812); a statement shows which.
433
+
434
+ # Delivery apps. U.S. Bank lists them under Restaurants and Chase's dining
435
+ # category counts them, but Chase's "dining purchased directly from a
436
+ # restaurant" category leaves out third-party delivery.
437
+ - id: grubhub
438
+ name: Grubhub
439
+ aliases: [grub hub, seamless]
440
+ domains: [grubhub.com, seamless.com]
441
+ category: dining
442
+ note: A delivery app that codes as a restaurant for most issuers. Bonuses limited to buying directly from a restaurant don't count it.
443
+ - id: postmates
444
+ name: Postmates
445
+ domains: [postmates.com]
446
+ category: dining
447
+ note: A delivery app that codes as a restaurant for most issuers. Bonuses limited to buying directly from a restaurant don't count it.
448
+
449
+ # A dinner theater: food ordered at your seat may land on the same check.
450
+ - id: alamo-drafthouse
451
+ name: Alamo Drafthouse Cinema
452
+ aliases: [alamo drafthouse]
453
+ domains: [drafthouse.com]
454
+ category: movie_theaters
455
+ ambiguity:
456
+ may_code_as: [dining]
457
+ 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.
458
+
459
+ # Parking codes as MCC 7523, which Amex and Chase count as transit but U.S.
460
+ # Bank's Cash+ ground transportation leaves out.
461
+ - id: parkmobile
462
+ name: ParkMobile
463
+ aliases: [park mobile]
464
+ domains: [parkmobile.io]
465
+ category: transit
466
+ likely_mcc: 7523
467
+ note: Parking codes as MCC 7523. Amex and Chase count parking as transit; U.S. Bank's ground transportation doesn't.
468
+ - id: spothero
469
+ name: SpotHero
470
+ aliases: [spot hero]
471
+ domains: [spothero.com]
472
+ category: transit
473
+ likely_mcc: 7523
474
+ note: Parking codes as MCC 7523. Amex and Chase count parking as transit; U.S. Bank's ground transportation doesn't.
475
+
476
+ # Booking.com charges prepaid stays itself, but "pay at the property" stays are
477
+ # charged by the hotel.
478
+ - id: booking-com
479
+ name: Booking.com
480
+ aliases: [booking com]
481
+ domains: [booking.com]
482
+ category: travel
483
+ ambiguity:
484
+ may_code_as: [travel.hotels]
485
+ 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.
486
+
487
+ # AT&T bills wireless and home internet separately.
488
+ - id: att
489
+ name: AT&T
490
+ aliases: [att, at and t, at&t wireless]
491
+ domains: [att.com]
492
+ category: phone
493
+ ambiguity:
494
+ may_code_as: [tv_internet]
495
+ note: AT&T bills wireless and home internet separately. A wireless bill is cell phone service; an AT&T Internet or Fiber bill is TV and internet service.
496
+
497
+ # Specialty stores with no bonus category in store. Amex counts their websites
498
+ # as U.S. online retail ("U.S. merchants selling physical goods, paid on their
499
+ # website or app").
500
+ - id: chewy
501
+ name: Chewy
502
+ domains: [chewy.com]
503
+ category: online_retail
504
+ - id: wayfair
505
+ name: Wayfair
506
+ domains: [wayfair.com]
507
+ category: online_retail
508
+ ambiguity:
509
+ may_code_as: [furniture]
510
+ note: Wayfair sells online, but some issuers code its purchases as a furniture store (MCC 5712). A statement shows which.
511
+ - id: zappos
512
+ name: Zappos
513
+ domains: [zappos.com]
514
+ category: online_retail
515
+ - id: petco
516
+ name: Petco
517
+ domains: [petco.com]
518
+ category: other
519
+ online:
520
+ category: online_retail
521
+ note: A pet store, with no bonus category in store. Its website counts as online retail.
522
+ - id: petsmart
523
+ name: PetSmart
524
+ aliases: [pet smart]
525
+ domains: [petsmart.com]
526
+ category: other
527
+ online:
528
+ category: online_retail
529
+ note: A pet store, with no bonus category in store. Its website counts as online retail.
530
+ - id: ulta-beauty
531
+ name: Ulta Beauty
532
+ aliases: [ulta]
533
+ domains: [ulta.com]
534
+ category: other
535
+ online:
536
+ category: online_retail
537
+ note: A cosmetics store, with no bonus category in store. Its website counts as online retail.
538
+ - id: sephora
539
+ name: Sephora
540
+ domains: [sephora.com]
541
+ category: other
542
+ online:
543
+ category: online_retail
544
+ note: A cosmetics store, with no bonus category in store. Its website counts as online retail.
545
+ - id: michaels
546
+ name: Michaels
547
+ domains: [michaels.com]
548
+ category: other
549
+ online:
550
+ category: online_retail
551
+ note: A craft store, with no bonus category in store. Its website counts as online retail.
552
+ - id: hobby-lobby
553
+ name: Hobby Lobby
554
+ domains: [hobbylobby.com]
555
+ category: other
556
+ online:
557
+ category: online_retail
558
+ note: A craft store, with no bonus category in store. Its website counts as online retail.
559
+ - id: autozone
560
+ name: AutoZone
561
+ aliases: [auto zone]
562
+ domains: [autozone.com]
563
+ category: other
564
+ online:
565
+ category: online_retail
566
+ note: An auto parts store, with no bonus category in store. Its website counts as online retail.
567
+
568
+ # Listed here, not in seed.yaml, so "Amazon Music" doesn't match Amazon itself.
569
+ - id: amazon-music
570
+ name: Amazon Music Unlimited
571
+ aliases: [amazon music]
572
+ category: streaming
573
+ note: On Amex's Select U.S. Streaming Subscriptions list. Charged by Amazon, so other issuers may code it as Amazon.