From 0f88e1db38a6a8a018d071109a74f098e17ee485 Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 21 Sep 2026 02:47:34 +0000 Subject: [PATCH 1/4] Add Mint's capped tiers and correct the Unlimited plan's features The workbook cross-reference flagged Mint as a tier family; the workbook's own numbers (40GB cap, 10GB hotspot) turned out stale, so the adopted values come from Mint's current plans page via independent 2026 write-ups: - Mint 6GB $15, 17GB $20, 23GB $25 (12-month renewal rates), each with the any-plan $15/mo new-customer intro and hotspot drawn from the data allotment (flagged estimated) - Mint Unlimited: 50GB soft cap and 20GB hotspot recorded as features (was 0/0-unknown), source moved to Mint's own plans page - Per-line prices apply at every line count, so the estimated flags on multi-line prices are dropped - QCI 7 entries for the three new plans Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01Ub7JVrQCdsgShcLwA6G579 AI-Model: claude-fable-5 AI-Session: a2dcb3eb-078b-5762-92ed-cd66e0d885c4 AI-Transcript: https://claude.ai/code/session_01Ub7JVrQCdsgShcLwA6G579 --- data/offers.js | 101 ++++++++++++++++++++++++++++++--- data/qci.js | 3 + features/mvno-coverage.feature | 21 ++++++- 3 files changed, 114 insertions(+), 11 deletions(-) diff --git a/data/offers.js b/data/offers.js index cba6d36..e9f133c 100644 --- a/data/offers.js +++ b/data/offers.js @@ -378,6 +378,9 @@ const PLANS = [ note: "Unlimited premium data on Verizon's fastest 5G Ultra Wideband; unlimited hotspot capped at 15 Mbps; 4K UHD streaming.", }, }, + // Mint prices are per line at any line count (each line carries its own + // plan; no multi-line discount): the 12-month renewal rate, with the + // any-plan $15/mo new-customer rate as intro pricing. { id: "mint", carrier: "Mint Mobile", @@ -388,21 +391,101 @@ const PLANS = [ intro: { months: 12, perLine: 15 }, perLine: { 1: { price: 30 }, - 2: { price: 30, estimated: true }, - 3: { price: 30, estimated: true }, - 4: { price: 30, estimated: true }, - 5: { price: 30, estimated: true }, + 2: { price: 30 }, + 3: { price: 30 }, + 4: { price: 30 }, + 5: { price: 30 }, }, taxesIncluded: false, notes: "Prepaid annually. $15/mo for the first 12 months with 12-month prepayment, then renews at $30/mo.", - source: "https://www.usmobile.com/blog/best-prepaid-phone-plans/", + source: "https://www.mintmobile.com/plans/", features: { - premiumData: 0, - hotspotGB: 0, + premiumData: 50, + hotspotGB: 20, + international: false, + source: "https://www.mintmobile.com/plans/", + note: "Speeds may drop after 50GB/mo when the network is busy; 20GB hotspot. QCI 7 on T-Mobile.", + }, + }, + { + id: "mint-6gb", + carrier: "Mint Mobile", + name: "Mint 6GB", + tier: "base", + mvno: true, + network: "T-Mobile", + intro: { months: 12, perLine: 15 }, + perLine: { + 1: { price: 15 }, + 2: { price: 15 }, + 3: { price: 15 }, + 4: { price: 15 }, + 5: { price: 15 }, + }, + taxesIncluded: false, + notes: "Prepaid annually. 6GB of high-speed data per month.", + source: "https://www.mintmobile.com/plans/", + features: { + premiumData: 6, + hotspotGB: 6, international: false, estimatedFeatures: ["hotspotGB"], - source: "https://www.usmobile.com/blog/best-prepaid-phone-plans/", - note: "QCI 7 on T-Mobile; small hotspot allotment not captured.", + source: "https://www.mintmobile.com/plans/", + note: "6GB high-speed data; hotspot draws from the plan's data allotment. QCI 7 on T-Mobile.", + }, + }, + { + id: "mint-17gb", + carrier: "Mint Mobile", + name: "Mint 17GB", + tier: "base", + mvno: true, + network: "T-Mobile", + intro: { months: 12, perLine: 15 }, + perLine: { + 1: { price: 20 }, + 2: { price: 20 }, + 3: { price: 20 }, + 4: { price: 20 }, + 5: { price: 20 }, + }, + taxesIncluded: false, + notes: "Prepaid annually. 17GB of high-speed data per month.", + source: "https://www.mintmobile.com/plans/", + features: { + premiumData: 17, + hotspotGB: 17, + international: false, + estimatedFeatures: ["hotspotGB"], + source: "https://www.mintmobile.com/plans/", + note: "17GB high-speed data; hotspot draws from the plan's data allotment. QCI 7 on T-Mobile.", + }, + }, + { + id: "mint-23gb", + carrier: "Mint Mobile", + name: "Mint 23GB", + tier: "base", + mvno: true, + network: "T-Mobile", + intro: { months: 12, perLine: 15 }, + perLine: { + 1: { price: 25 }, + 2: { price: 25 }, + 3: { price: 25 }, + 4: { price: 25 }, + 5: { price: 25 }, + }, + taxesIncluded: false, + notes: "Prepaid annually. 23GB of high-speed data per month.", + source: "https://www.mintmobile.com/plans/", + features: { + premiumData: 23, + hotspotGB: 23, + international: false, + estimatedFeatures: ["hotspotGB"], + source: "https://www.mintmobile.com/plans/", + note: "23GB high-speed data; hotspot draws from the plan's data allotment. QCI 7 on T-Mobile.", }, }, { diff --git a/data/qci.js b/data/qci.js index f05c001..4cabc19 100644 --- a/data/qci.js +++ b/data/qci.js @@ -41,6 +41,9 @@ const QCI_BY_PLAN = { "tmo-more": { value: 6, note: "T-Mobile's top network priority." }, "tmo-beyond": { value: 6, note: "T-Mobile's top network priority." }, "mint": { value: 7, note: "T-Mobile MVNOs like Mint ride at QCI 7 — same as Essentials and Metro." }, + "mint-6gb": { value: 7, note: "T-Mobile MVNOs like Mint ride at QCI 7 — same as Essentials and Metro." }, + "mint-17gb": { value: 7, note: "T-Mobile MVNOs like Mint ride at QCI 7 — same as Essentials and Metro." }, + "mint-23gb": { value: 7, note: "T-Mobile MVNOs like Mint ride at QCI 7 — same as Essentials and Metro." }, "metro": { value: 7, note: "Metro rides at QCI 7 — same tier as T-Mobile Essentials." }, "fi-essentials": { value: 6, note: "Google Fi rides at QCI 6 on T-Mobile — the same top priority as T-Mobile's own Experience plans." }, "fi-standard": { value: 6, note: "Google Fi rides at QCI 6 on T-Mobile — the same top priority as T-Mobile's own Experience plans." }, diff --git a/features/mvno-coverage.feature b/features/mvno-coverage.feature index 82a3cfe..78c5d1d 100644 --- a/features/mvno-coverage.feature +++ b/features/mvno-coverage.feature @@ -30,5 +30,22 @@ Feature: MVNO coverage And the "Visible Visible+" plan is included And the "Visible Visible+ Pro" plan is included - Scenario: The catalog covers at least fourteen MVNO plans - Then the data includes at least 14 MVNO plans + Scenario: Mint's capped tiers are priced with the intro rate honored + When the scenarios are computed + Then the "Mint Mobile Mint 6GB" rows have a 24-month plan cost of 360.00 + And the "Mint Mobile Mint 17GB" rows have a 24-month plan cost of 420.00 + And the "Mint Mobile Mint 23GB" rows have a 24-month plan cost of 480.00 + + Scenario: Mint's data caps drive the needs assessment + Given the user needs "moderate" data, 0 GB of hotspot, and no international use + When the scenarios are computed + Then the "Mint Mobile Mint 23GB" plan is excluded by needs + And the "Mint Mobile Mint Unlimited" plan is included + + Scenario: Mint Unlimited's soft cap rules it out for heavy data use + Given the user needs "heavy" data, 0 GB of hotspot, and no international use + When the scenarios are computed + Then the "Mint Mobile Mint Unlimited" plan is excluded by needs + + Scenario: The catalog covers at least seventeen MVNO plans + Then the data includes at least 17 MVNO plans From 35981f9dda4430a6a15527b738f13df3297f1a00 Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 21 Sep 2026 02:50:08 +0000 Subject: [PATCH 2/4] Add US Mobile Flex and Premium tiers, correct Starter's features From the workbook cross-reference, verified against US Mobile's plans pages and help docs via 2026 write-ups: - Unlimited Flex $17.50/mo (annual billing): 10GB soft cap, taxes in - Unlimited Premium $44/mo: unlimited premium data, 50GB high-speed hotspot, taxes in; QCI 8 on Warp (Verizon), 7 on Light Speed - Starter corrected: taxes ARE included, and its allotments are published (70GB data + 10GB hotspot on Warp/Light Speed; unlimited + 20GB on Dark Star) - the lower values are recorded, replacing the 0-unknown estimates, so Starter now matches moderate data needs Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01Ub7JVrQCdsgShcLwA6G579 AI-Model: claude-fable-5 AI-Session: a2dcb3eb-078b-5762-92ed-cd66e0d885c4 AI-Transcript: https://claude.ai/code/session_01Ub7JVrQCdsgShcLwA6G579 --- data/offers.js | 63 ++++++++++++++++++++++++++++++---- data/qci.js | 2 ++ features/mvno-coverage.feature | 20 +++++++++-- 3 files changed, 77 insertions(+), 8 deletions(-) diff --git a/data/offers.js b/data/offers.js index e9f133c..afee65e 100644 --- a/data/offers.js +++ b/data/offers.js @@ -635,16 +635,67 @@ const PLANS = [ 4: { price: 25 }, 5: { price: 25 }, }, - taxesIncluded: false, - notes: "Flat per-line pricing; $22.50/mo on annual prepay. Higher tiers with priority data exist — not yet captured.", - source: "https://www.usmobile.com/blog/cheapest-unlimited-data-plan/", + taxesIncluded: true, + notes: "Taxes and fees included; flat per-line pricing, cheaper on annual prepay.", + source: "https://www.usmobile.com/plans", features: { - premiumData: 0, + premiumData: 70, + hotspotGB: 10, + international: false, + source: "https://www.usmobile.com/help/docs/our-plans/core-plans/unlimited-data-plans", + note: "70GB high-speed data and 10GB hotspot on the Verizon (Warp) and T-Mobile (Light Speed) networks; unlimited high-speed and 20GB hotspot on AT&T (Dark Star). The lower published values are recorded.", + }, + }, + { + id: "us-mobile-flex", + carrier: "US Mobile", + name: "Unlimited Flex", + tier: "base", + mvno: true, + network: "Verizon, T-Mobile, or AT&T (selectable)", + perLine: { + 1: { price: 17.5 }, + 2: { price: 17.5 }, + 3: { price: 17.5 }, + 4: { price: 17.5 }, + 5: { price: 17.5 }, + }, + taxesIncluded: true, + notes: "Taxes and fees included; billed annually at this monthly equivalent.", + source: "https://www.usmobile.com/plans", + features: { + premiumData: 10, hotspotGB: 0, international: false, - estimatedFeatures: ["premiumData", "hotspotGB"], + estimatedFeatures: ["hotspotGB"], source: "https://www.usmobile.com/blog/cheapest-unlimited-data-plan/", - note: "US Mobile lets you pick the underlying network; Premium tiers ride at higher priority.", + note: "10GB soft cap before slowdown; hotspot allotment not captured.", + }, + }, + { + id: "us-mobile-premium", + carrier: "US Mobile", + name: "Unlimited Premium", + tier: "mid", + mvno: true, + network: "Verizon, T-Mobile, or AT&T (selectable)", + perLine: { + 1: { price: 44 }, + 2: { price: 44 }, + 3: { price: 44 }, + 4: { price: 44 }, + 5: { price: 44 }, + }, + taxesIncluded: true, + notes: "Taxes and fees included; flat per-line pricing, cheaper on annual prepay.", + source: "https://www.usmobile.com/plans", + features: { + premiumData: "unlimited", + hotspotGB: 50, + international: false, + estimatedFeatures: ["international"], + source: "https://www.usmobile.com/blog/best-unlimited-data-plan/", + note: "Unlimited premium data; 50GB high-speed hotspot (unlimited at reduced speed after).", }, }, { diff --git a/data/qci.js b/data/qci.js index 4cabc19..6235748 100644 --- a/data/qci.js +++ b/data/qci.js @@ -55,6 +55,8 @@ const QCI_BY_PLAN = { "att-premium": { value: 8, note: "Unlimited premium data at AT&T postpaid priority." }, "att-elite": { value: 8, note: "Unlimited premium data at AT&T postpaid priority, with Turbo prioritization on top." }, "us-mobile-starter": { value: 9, note: "Starter tier is deprioritized; US Mobile's Premium tiers ride higher (QCI 8 on Verizon, QCI 7 on T-Mobile) — verify for your network choice." }, + "us-mobile-flex": { value: 9, note: "Flex is deprioritized like Starter — verify for your network choice." }, + "us-mobile-premium": { value: 8, note: "Premium rides at postpaid-like priority: QCI 8 on Verizon (Warp), QCI 7 on T-Mobile (Light Speed) — verify for your network choice." }, "boost-global": { value: 9, note: "Priority on Boost's own network and roaming partners not published — assumed deprioritized; verify." }, "total-starter": { value: 9, note: "Prepaid MVNO traffic on Verizon is deprioritized." }, "straight-talk-silver": { value: 9, note: "Prepaid MVNO traffic on Verizon is deprioritized." }, diff --git a/features/mvno-coverage.feature b/features/mvno-coverage.feature index 78c5d1d..3bb8a96 100644 --- a/features/mvno-coverage.feature +++ b/features/mvno-coverage.feature @@ -47,5 +47,21 @@ Feature: MVNO coverage When the scenarios are computed Then the "Mint Mobile Mint Unlimited" plan is excluded by needs - Scenario: The catalog covers at least seventeen MVNO plans - Then the data includes at least 17 MVNO plans + Scenario: US Mobile's Flex and Premium tiers are priced + When the scenarios are computed + Then the "US Mobile Unlimited Flex" rows have a 24-month plan cost of 420.00 + And the "US Mobile Unlimited Premium" rows have a 24-month plan cost of 1056.00 + + Scenario: US Mobile's tiers split on data priority under heavy needs + Given the user needs "heavy" data, 0 GB of hotspot, and no international use + When the scenarios are computed + Then the "US Mobile Unlimited Starter" plan is excluded by needs + And the "US Mobile Unlimited Premium" plan is included + + Scenario: US Mobile Starter's published allotment now counts as priority data + Given the user needs "moderate" data, 0 GB of hotspot, and no international use + When the scenarios are computed + Then the "US Mobile Unlimited Starter" plan is included + + Scenario: The catalog covers at least nineteen MVNO plans + Then the data includes at least 19 MVNO plans From 08ead66aa9f4e1b4ce89bc99e397b39e9649756f Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 21 Sep 2026 02:51:48 +0000 Subject: [PATCH 3/4] Add Boost's full tier family and correct its network to AT&T From the workbook cross-reference, verified against Boost's help docs and plan pages via 2026 write-ups: - Unlimited $25 (30GB premium data), Unlimited+ $50 (40GB, hotspot included), Unlimited Premium $60 (50GB, hotspot included) join the existing Global Connection $40, which gains its published 40GB premium-data allotment - Hotspot allotments on + and Premium are not published, so they stay 0 with an estimated flag; the $25/$40 tiers note the $10 add-on - Network corrected: Boost connects through AT&T since Nov 2025, not its own network with roaming - QCI entries for the three new plans (assumed deprioritized; verify) Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01Ub7JVrQCdsgShcLwA6G579 AI-Model: claude-fable-5 AI-Session: a2dcb3eb-078b-5762-92ed-cd66e0d885c4 AI-Transcript: https://claude.ai/code/session_01Ub7JVrQCdsgShcLwA6G579 --- data/offers.js | 90 +++++++++++++++++++++++++++++++--- data/qci.js | 5 +- features/mvno-coverage.feature | 16 +++++- 3 files changed, 101 insertions(+), 10 deletions(-) diff --git a/data/offers.js b/data/offers.js index afee65e..949768a 100644 --- a/data/offers.js +++ b/data/offers.js @@ -698,13 +698,38 @@ const PLANS = [ note: "Unlimited premium data; 50GB high-speed hotspot (unlimited at reduced speed after).", }, }, + { + id: "boost-unlimited", + carrier: "Boost Mobile", + name: "Unlimited", + tier: "base", + mvno: true, + network: "AT&T (Boost connects through AT&T since Nov 2025)", + perLine: { + 1: { price: 25 }, + 2: { price: 25, estimated: true }, + 3: { price: 25, estimated: true }, + 4: { price: 25, estimated: true }, + 5: { price: 25, estimated: true }, + }, + taxesIncluded: false, + notes: "$25/mo with AutoPay; hotspot is a $10/mo add-on on this tier.", + source: "https://www.boostmobile.com/plans/affordable-phone-plan", + features: { + premiumData: 30, + hotspotGB: 0, + international: false, + source: "https://help.boostmobile.com/docs/unlimited-plans", + note: "30GB premium data, then deprioritized; no hotspot included.", + }, + }, { id: "boost-global", carrier: "Boost Mobile", name: "Global Connection", tier: "base", mvno: true, - network: "Boost 5G (own network + AT&T/T-Mobile roaming)", + network: "AT&T (Boost connects through AT&T since Nov 2025)", perLine: { 1: { price: 40 }, 2: { price: 40, estimated: true }, @@ -713,15 +738,66 @@ const PLANS = [ 5: { price: 40, estimated: true }, }, taxesIncluded: false, - notes: "$40/mo with AutoPay ($45 without); built-in international calling from the US.", - source: "https://www.usmobile.com/blog/best-prepaid-phone-plans/", + notes: "$40/mo with AutoPay ($45 without); talk and text from the US to 190+ destinations. Hotspot is a $10/mo add-on.", + source: "https://help.boostmobile.com/docs/unlimited-plans", features: { - premiumData: 0, + premiumData: 40, hotspotGB: 0, international: false, - estimatedFeatures: ["premiumData", "hotspotGB"], - source: "https://www.usmobile.com/blog/best-prepaid-phone-plans/", - note: "International calling from the US is included; international roaming is not — hence not counted as international coverage.", + source: "https://help.boostmobile.com/docs/unlimited-plans", + note: "40GB premium data. International calling FROM the US is included; international roaming is not — hence not counted as international coverage.", + }, + }, + { + id: "boost-plus", + carrier: "Boost Mobile", + name: "Unlimited+", + tier: "mid", + mvno: true, + network: "AT&T (Boost connects through AT&T since Nov 2025)", + perLine: { + 1: { price: 50 }, + 2: { price: 50, estimated: true }, + 3: { price: 50, estimated: true }, + 4: { price: 50, estimated: true }, + 5: { price: 50, estimated: true }, + }, + taxesIncluded: false, + notes: "$50/mo with AutoPay; hotspot included.", + source: "https://help.boostmobile.com/docs/unlimited-plans", + features: { + premiumData: 40, + hotspotGB: 0, + international: false, + estimatedFeatures: ["hotspotGB"], + source: "https://help.boostmobile.com/docs/unlimited-plans", + note: "40GB premium data; hotspot included but its allotment is not published.", + }, + }, + { + id: "boost-premium", + carrier: "Boost Mobile", + name: "Unlimited Premium", + tier: "mid", + mvno: true, + network: "AT&T (Boost connects through AT&T since Nov 2025)", + perLine: { + 1: { price: 60 }, + 2: { price: 60, estimated: true }, + 3: { price: 60, estimated: true }, + 4: { price: 60, estimated: true }, + 5: { price: 60, estimated: true }, + }, + taxesIncluded: false, + notes: "$60/mo with AutoPay; hotspot included.", + source: "https://help.boostmobile.com/docs/unlimited-plans", + features: { + premiumData: 50, + hotspotGB: 0, + international: false, + estimatedFeatures: ["hotspotGB"], + source: "https://help.boostmobile.com/docs/unlimited-plans", + note: "50GB premium data; hotspot included but its allotment is not published.", }, }, { diff --git a/data/qci.js b/data/qci.js index 6235748..4e1db0f 100644 --- a/data/qci.js +++ b/data/qci.js @@ -57,7 +57,10 @@ const QCI_BY_PLAN = { "us-mobile-starter": { value: 9, note: "Starter tier is deprioritized; US Mobile's Premium tiers ride higher (QCI 8 on Verizon, QCI 7 on T-Mobile) — verify for your network choice." }, "us-mobile-flex": { value: 9, note: "Flex is deprioritized like Starter — verify for your network choice." }, "us-mobile-premium": { value: 8, note: "Premium rides at postpaid-like priority: QCI 8 on Verizon (Warp), QCI 7 on T-Mobile (Light Speed) — verify for your network choice." }, - "boost-global": { value: 9, note: "Priority on Boost's own network and roaming partners not published — assumed deprioritized; verify." }, + "boost-unlimited": { value: 9, note: "Priority on AT&T for the premium-data allotment not published — assumed deprioritized; verify." }, + "boost-global": { value: 9, note: "Priority on AT&T for the premium-data allotment not published — assumed deprioritized; verify." }, + "boost-plus": { value: 9, note: "Priority on AT&T for the premium-data allotment not published — assumed deprioritized; verify." }, + "boost-premium": { value: 9, note: "Priority on AT&T for the premium-data allotment not published — assumed deprioritized; verify." }, "total-starter": { value: 9, note: "Prepaid MVNO traffic on Verizon is deprioritized." }, "straight-talk-silver": { value: 9, note: "Prepaid MVNO traffic on Verizon is deprioritized." }, "tello-unlimited": { value: 7, note: "T-Mobile MVNOs ride at QCI 7 — same tier as Essentials and Metro." }, diff --git a/features/mvno-coverage.feature b/features/mvno-coverage.feature index 3bb8a96..7bc581c 100644 --- a/features/mvno-coverage.feature +++ b/features/mvno-coverage.feature @@ -63,5 +63,17 @@ Feature: MVNO coverage When the scenarios are computed Then the "US Mobile Unlimited Starter" plan is included - Scenario: The catalog covers at least nineteen MVNO plans - Then the data includes at least 19 MVNO plans + Scenario: Boost's tier family is priced with AutoPay rates + When the scenarios are computed + Then the "Boost Mobile Unlimited" rows have a 24-month plan cost of 600.00 + And the "Boost Mobile Unlimited+" rows have a 24-month plan cost of 1200.00 + And the "Boost Mobile Unlimited Premium" rows have a 24-month plan cost of 1440.00 + + Scenario: Boost's premium-data allotments drive the needs assessment + Given the user needs "moderate" data, 0 GB of hotspot, and no international use + When the scenarios are computed + Then the "Boost Mobile Unlimited" plan is included + And the "Boost Mobile Global Connection" plan is included + + Scenario: The catalog covers at least twenty-two MVNO plans + Then the data includes at least 22 MVNO plans From d20ece9fba410c84eb3bb11ffed40e4636d57d25 Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 21 Sep 2026 02:54:29 +0000 Subject: [PATCH 4/4] Replace Metro's stale single plan with its April 2025 lineup Both our data and the research workbook carried Metro's pre-2025 lineup. The current one, verified via T-Mobile's newsroom, Metro's plans pages, WhistleOut and PhoneScoop write-ups: - Metro Starter Plus $40 flat (35GB, no hotspot, no AutoPay needed), $25/line at 4 lines published; single-line BYOD deal noted - Metro Flex Unlimited $50 (8GB hotspot), $30/line at 4 lines published; keeps the existing "metro" id - Metro Flex Unlimited Plus $60 (70GB premium data, 25GB hotspot, Amazon Prime, international texting) - All taxes-included with the 5-year price guarantee; unpublished 2/3/5-line prices are interpolated and flagged estimated - QCI 7 entries for the two new ids Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01Ub7JVrQCdsgShcLwA6G579 AI-Model: claude-fable-5 AI-Session: a2dcb3eb-078b-5762-92ed-cd66e0d885c4 AI-Transcript: https://claude.ai/code/session_01Ub7JVrQCdsgShcLwA6G579 --- data/offers.js | 76 ++++++++++++++++++++++++++++------ data/qci.js | 2 + features/mvno-coverage.feature | 22 +++++++++- features/qci-and-data.feature | 2 +- 4 files changed, 87 insertions(+), 15 deletions(-) diff --git a/data/offers.js b/data/offers.js index 949768a..cfa6483 100644 --- a/data/offers.js +++ b/data/offers.js @@ -488,31 +488,83 @@ const PLANS = [ note: "23GB high-speed data; hotspot draws from the plan's data allotment. QCI 7 on T-Mobile.", }, }, + { + id: "metro-starter-plus", + carrier: "Metro", + name: "Metro Starter Plus", + tier: "base", + mvno: true, + network: "T-Mobile", + perLine: { + 1: { price: 40 }, + 2: { price: 35, estimated: true }, + 3: { price: 30, estimated: true }, + 4: { price: 25 }, + 5: { price: 25, estimated: true }, + }, + taxesIncluded: true, + notes: "Taxes and fees included; no AutoPay required. New single-line BYOD customers can get unlimited for $25/mo instead.", + source: "https://www.metrobyt-mobile.com/phone-plans", + features: { + premiumData: 35, + hotspotGB: 0, + priceGuaranteeYears: 5, + international: false, + source: "https://www.metrobyt-mobile.com/phone-plans", + note: "35GB high-speed data; no hotspot on this tier. QCI 7 on T-Mobile.", + }, + }, { id: "metro", carrier: "Metro", - name: "Metro Unlimited", + name: "Metro Flex Unlimited", tier: "base", mvno: true, network: "T-Mobile", perLine: { 1: { price: 50 }, - 2: { price: 50, estimated: true }, - 3: { price: 50, estimated: true }, - 4: { price: 50, estimated: true }, - 5: { price: 50, estimated: true }, + 2: { price: 43, estimated: true }, + 3: { price: 37, estimated: true }, + 4: { price: 30 }, + 5: { price: 30, estimated: true }, }, - taxesIncluded: false, - notes: "T-Mobile's prepaid brand. A $40 lower tier exists; multi-line discounts not yet captured.", - source: "https://www.usmobile.com/blog/best-prepaid-phone-plans/", + taxesIncluded: true, + notes: "AutoPay pricing, taxes and fees included. T-Mobile's prepaid brand, April 2025 lineup.", + source: "https://www.metrobyt-mobile.com/blog/newsroom/metro-new-plans", features: { premiumData: 0, - hotspotGB: 0, + hotspotGB: 8, priceGuaranteeYears: 5, international: false, - estimatedFeatures: ["hotspotGB"], - source: "https://www.usmobile.com/blog/best-prepaid-phone-plans/", - note: "QCI 7 on T-Mobile; hotspot allotment not captured.", + estimatedFeatures: ["premiumData"], + source: "https://www.metrobyt-mobile.com/blog/newsroom/metro-new-plans", + note: "Unlimited data with an unpublished priority allotment; 8GB hotspot. QCI 7 on T-Mobile.", + }, + }, + { + id: "metro-flex-plus", + carrier: "Metro", + name: "Metro Flex Unlimited Plus", + tier: "mid", + mvno: true, + network: "T-Mobile", + perLine: { + 1: { price: 60 }, + 2: { price: 53, estimated: true }, + 3: { price: 47, estimated: true }, + 4: { price: 40, estimated: true }, + 5: { price: 40, estimated: true }, + }, + taxesIncluded: true, + notes: "AutoPay pricing, taxes and fees included; Amazon Prime membership included.", + source: "https://www.metrobyt-mobile.com/blog/newsroom/metro-new-plans", + features: { + premiumData: 70, + hotspotGB: 25, + priceGuaranteeYears: 5, + international: false, + source: "https://www.metrobyt-mobile.com/blog/newsroom/metro-new-plans", + note: "70GB high-speed data; 25GB hotspot; unlimited texting from the US to 210+ destinations (roaming not included). QCI 7 on T-Mobile.", }, }, { diff --git a/data/qci.js b/data/qci.js index 4e1db0f..66edd31 100644 --- a/data/qci.js +++ b/data/qci.js @@ -44,7 +44,9 @@ const QCI_BY_PLAN = { "mint-6gb": { value: 7, note: "T-Mobile MVNOs like Mint ride at QCI 7 — same as Essentials and Metro." }, "mint-17gb": { value: 7, note: "T-Mobile MVNOs like Mint ride at QCI 7 — same as Essentials and Metro." }, "mint-23gb": { value: 7, note: "T-Mobile MVNOs like Mint ride at QCI 7 — same as Essentials and Metro." }, + "metro-starter-plus": { value: 7, note: "Metro rides at QCI 7 — same tier as T-Mobile Essentials." }, "metro": { value: 7, note: "Metro rides at QCI 7 — same tier as T-Mobile Essentials." }, + "metro-flex-plus": { value: 7, note: "Metro rides at QCI 7 — same tier as T-Mobile Essentials." }, "fi-essentials": { value: 6, note: "Google Fi rides at QCI 6 on T-Mobile — the same top priority as T-Mobile's own Experience plans." }, "fi-standard": { value: 6, note: "Google Fi rides at QCI 6 on T-Mobile — the same top priority as T-Mobile's own Experience plans." }, "fi-premium": { value: 6, note: "Google Fi rides at QCI 6 on T-Mobile — the same top priority as T-Mobile's own Experience plans." }, diff --git a/features/mvno-coverage.feature b/features/mvno-coverage.feature index 7bc581c..d4c8685 100644 --- a/features/mvno-coverage.feature +++ b/features/mvno-coverage.feature @@ -75,5 +75,23 @@ Feature: MVNO coverage Then the "Boost Mobile Unlimited" plan is included And the "Boost Mobile Global Connection" plan is included - Scenario: The catalog covers at least twenty-two MVNO plans - Then the data includes at least 22 MVNO plans + Scenario: Metro's 2026 lineup is priced with its published rates + When the scenarios are computed + Then the "Metro Metro Starter Plus" rows have a 24-month plan cost of 960.00 + And the "Metro Metro Flex Unlimited Plus" rows have a 24-month plan cost of 1440.00 + + Scenario: Metro's published four-line rate is used and not estimated + Given 4 lines with no new devices + And MVNOs are included + When the scenarios are computed + Then the "Metro Metro Flex Unlimited" rows have a 24-month plan cost of 2880.00 + And the "Metro Metro Flex Unlimited" rows are not flagged as estimated + + Scenario: Metro's data allotments drive the needs assessment + Given the user needs "moderate" data, 0 GB of hotspot, and no international use + When the scenarios are computed + Then the "Metro Metro Starter Plus" plan is included + And the "Metro Metro Flex Unlimited Plus" plan is included + + Scenario: The catalog covers at least twenty-four MVNO plans + Then the data includes at least 24 MVNO plans diff --git a/features/qci-and-data.feature b/features/qci-and-data.feature index a4c134b..94fcc3b 100644 --- a/features/qci-and-data.feature +++ b/features/qci-and-data.feature @@ -14,7 +14,7 @@ Feature: QCI reference and offer data integrity | plan | qci | | Visible Visible Unlimited | 9 | | Mint Mobile Mint Unlimited | 7 | - | Metro Metro Unlimited | 7 | + | Metro Metro Flex Unlimited | 7 | | Cricket Cricket Unlimited | 9 | Scenario: Every plan has a QCI entry in the reference file