The file sooty_step1_hide_plans.js is in your Sooty folder. It sets show_store_screen: false on all 139 plans in Firebase.
# In Terminal — from the folder with sooty-service-account.json node sooty_step1_hide_plans.js # Expected output: ✅ Hidden: Zimbabwe 20GB (was $1265.99) ✅ Hidden: Zimbabwe 10GB (was $633.99) ... (139 lines) === DONE: 139 hidden, 0 failed ===
sooty-1a5db → Firestoreplans collectionshow_store_screen = false| Country | Data | Current Price | Actual Cost | Loss/Sale | Firebase Doc ID |
|---|---|---|---|---|---|
| Zimbabwe | 20 GB | $1,265.99 | $3,386.32 | -$2,120 | UeGazMpLuwebtuFMv3QB |
| Zimbabwe | 10 GB | $633.99 | $1,693.54 | -$1,060 | lu3xCc1cDh0z9Llrjo5Q |
| Ecuador | 20 GB | $68.99 | $889.59 | -$821 | T19NcS470pIXdK2zRXk2 |
| Zimbabwe | 5 GB | $317.99 | $847.15 | -$529 | ZJ2X6TXEWaSDQQKw26m7 |
| Ecuador | 10 GB | $44.99 | $445.18 | -$400 | JeNgFqZC3gcGDsDfQVhP |
| Monaco | 20 GB | $104.99 | $439.20 | -$334 | 8YcZDJ1Rr3WFZkYnmanK |
| Zimbabwe | 3 GB | $191.49 | $508.59 | -$317 | BvRksyHpXw026NGzmstM |
| Niger | 20 GB | $112.49 | $422.95 | -$310 | r19M61Rag3MQ7xqsV6M5 |
| Zimbabwe | 2 GB | $128.49 | $339.32 | -$211 | I8GkOW5TeFRDFzVqSQz3 |
| Ecuador | 5 GB | $26.49 | $222.97 | -$196 | KMeWRLd2GBScg7uXZUh1 |
| Pakistan | 20 GB | $64.99 | $248.99 | -$184 | (see CSV) |
| Monaco | 10 GB | $57.99 | $219.98 | -$162 | (see CSV) |
| Niger | 10 GB | $56.99 | $211.86 | -$155 | (see CSV) |
| Fiji | 20 GB | $116.49 | $245.19 | -$129 | (see CSV) |
| Benin | 20 GB | $120.49 | $240.74 | -$120 | (see CSV) |
| Ecuador | 3 GB | $16.49 | $134.08 | -$118 | (see CSV) |
| Swaziland | 20 GB | $128.00 | $240.74 | -$113 | (see CSV) |
| Afghanistan | 20 GB | $108.49 | $200.75 | -$92 | 0dF2hM6ITeQgyrm8X6Zf |
| Pakistan | 10 GB | $33.49 | $124.87 | -$91 | (see CSV) |
| Niger | 5 GB | $56.49 | $106.22 | -$50 | (see CSV) |
sooty.ai/dashboard with your Addevice accountsooty.ai/admin/packagesSooty Price Audit Web vs App 2026 0528.xlsx file (tab: ❌ Mismatches) — find the package and update the pricehttps://sooty.ai/packages/edit/{id}
# Package IDs go from 1 to 1131
# Example: https://sooty.ai/packages/edit/1 = "Afghanistan 1 GB"
| Country | Data | Web Price | App Price | Fix To |
|---|---|---|---|---|
| France | 1 GB | $7.99 | $12.99 | $12.99 |
| Germany | 1 GB | $7.99 | $12.99 | $12.99 |
| United Kingdom | 1 GB | $7.99 | $12.99 | $12.99 |
| Thailand | 2 GB | $11.49 | $14.99 | $14.99 |
| Japan | 2 GB | $15.99 | $18.99 | $18.99 |
| Indonesia | 2 GB | $9.49 | $12.99 | $12.99 |
node sooty_step3_reprice_plans.js # This updates price_usd AND sets show_store_screen: true # Expected output: ✅ Zimbabwe 20GB: $1265.99 → $4402.99 ✅ Zimbabwe 10GB: $633.99 → $2201.99 ... (139 lines) === DONE: 139 updated, 0 failed ===
Some countries (Zimbabwe, Ecuador, Monaco, Niger) have very high wholesale costs. Their repriced prices will be much higher. Consider whether to keep these visible at all — even at correct prices they won't sell at volume. Jay to decide which to keep.
| Country | Data | Old Price | New Price @30% | Cost |
|---|---|---|---|---|
| Zimbabwe | 20 GB | $1,265.99 | $4,402.99 | $3,386.32 |
| Ecuador | 20 GB | $68.99 | $1,156.99 | $889.59 |
| Monaco | 20 GB | $104.99 | $570.99 | $439.20 |
| Afghanistan | 20 GB | $108.49 | $260.99 | $200.75 |
| Pakistan | 20 GB | $64.99 | $323.99 | $248.99 |
type == "regional" with correct GB + pricehttps://sooty-prices.addevice.workers.dev/prices?country=France
// Cloudflare Worker — sooty-prices.js export default { async fetch(request) { const url = new URL(request.url); const country = url.searchParams.get('country'); // Call Firebase REST API const firestoreUrl = `https://firestore.googleapis.com/v1/projects/sooty-1a5db/databases/(default)/documents/plans`; const res = await fetch(firestoreUrl + `?where=title=${country}&where=show_store_screen=true`); const data = await res.json(); return new Response(JSON.stringify(data), { headers: { 'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*' } }); } };
| File | Purpose | Use In Step |
|---|---|---|
sooty_step1_hide_plans.js |
Node script — hides 139 below-cost plans in Firebase | Step 1 |
sooty_step3_reprice_plans.js |
Node script — reprices and re-enables 139 plans at 30% margin | Step 3 |
below_cost_with_docids.csv |
All 139 below-cost plans with Firebase doc_ids, current prices, and suggested prices | Step 1 + 3 |
Sooty Fix Plan 2026 0528.xlsx |
Master action plan with all price data, hero packages, and mismatch list | All steps |
Sooty Price Audit Web vs App 2026 0528.xlsx |
Full web vs. app comparison — 160 mismatches highlighted | Step 2 |
Sooty Master Price Audit 2026 0528.xlsx |
Complete audit with telco costs, margins, and status for all 1,511 plan slots | Reference |
Sooty Hero Packages 2026.html |
Ready-to-deploy landing page for the 5 hero packages | Step 4 |
sooty-service-account.json |
Firebase service account (already on Desktop) | Step 1 + 3 |