Food Drop
Customer storefront ยท region sitemap.xml
Dev-time journey map until a marketing homepage is designed. Two actors (vendor / customer), chronological order, touchpoints + roadmap status. V2+ scope is omitted.
โ
Live๐ก V1๐ต V1.5Partial
Vendor journey โ supply side
From signup to getting paid.
| # | Step | Where | Status |
|---|---|---|---|
| 1 | Sign up (phone OTP) | โ Live | |
| 2 | KYC + payout bank (Stripe Connect Express) Launched inline from the Account sidebar card โ no separate onboarding page. | โ Live | |
| 3 | Owner profile | โ Live | |
| 4 | Customize public storefront (slug, About, banner URL) Theme palette + logo + banner upload still V1.5+ | โ Live | |
| 5 | Build menu library (Medusa products) List page live; new + edit pages pending | Partial | |
| 6 | Create drop (schedule, visibility) Currently only inline via /drops/{id} | ๐ก V1 | |
| 7 | Attach items, pickup windows, inventory limits All inline today | โ Live | |
| 8 | Publish drop | โ Live | |
| 9 | Drop opens at orders_open_at SMS fanout via platform-services dispatcher (dry-run by default; flip ENABLE_SMS_SEND=true + Twilio creds to send for real) | cron โ drop.opened event โ SMS fanout | โ Live |
| 10 | Watch orders come in | โ Live | |
| 11 | Print prep tickets (per day) Screen-friendly aggregate; thermal print Phase 7 | โ Live | |
| 12 | Print packing ticket (per order) Phase 5.5 / Phase 7 (thermal templates) | ๐ก V1 | |
| 13 | Walk order through prep โ packed โ ready โ picked-up 7-state machine (paid โ in_prep โ packed โ ready_for_pickup โ picked_up + no_show + canceled) | โ Live | |
| 14 | Drop closes at orders_close_at | cron OR /drops/{id} close button | โ Live |
| 15 | Refund an order Phase 7 | ๐ก V1 | |
| 16 | See payouts Phase 7 | ๐ก V1 | |
| 17 | Pull fee-report CSV Phase 7 | ๐ก V1 | |
| 18 | Run ops via AI (Claude Desktop โ MCP) Bring-your-own LLM | MCP server (stdio / SSE)/vendor/api-keys | ๐ต V1.5 |
Customer journey โ demand side
From discovery to pickup.
| # | Step | Where | Status |
|---|---|---|---|
| 1 | Discover a vendor (bio link / QR / share) Per-vendor public storefront (dynamic; click a slug to enter) | /{vendor-slug} | โ Live |
| 2 | Browse drops (per-vendor or cross-vendor) | /{vendor-slug}/sitemap.xml/drops | โ Live |
| 3 | Subscribe for SMS alerts Inline form on the per-vendor page โ platform-services /comms/subscribers | /{vendor-slug} | โ Live |
| 4 | Receive drop.opened SMS Welcome SMS fires on subscribe; broadcast SMS fires on open-drop workflow | platform-services dispatcher โ Twilio (dry-run by default) | โ Live |
| 5 | View drop, pick items + pickup window Dynamic โ click /drops to enter | /sitemap.xml/drops/{drop_id} | โ Live |
| 6 | Cart (drop-aware add-to-cart) | โ Live | |
| 7 | Checkout (Stripe Connect Direct Charges) | โ Live | |
| 8 | See confirmation Dynamic โ created post-checkout | /sitemap.xml/order/{order_id}/confirmed | โ Live |
| 9 | Receive order.placed SMS + email Order placed event โ Medusa intent handler โ platform-services | platform-services dispatcher โ Twilio + SendGrid (dry-run by default) | โ Live |
| 10 | Receive pickup reminder SMS Template seeded; T-2h scheduled job wiring is Phase 7 / 5.5 (data is ready) | platform-services scheduled job โ Twilio | ๐ก V1 |
| 11 | Pick up food at the window | in-person | โ |
| 12 | View order history | /sitemap.xml/account/orders /sitemap.xml/account/orders/details/{id} | โ Live |
| 13 | One-click unsubscribe (10DLC) Signed JWT (itsdangerous) โ platform-services flips subscriber.status | โ Live |
Other local apps
- /vendorโ Vendor surface ยท Vendor self-service (same app, /vendor/* routes)
- http://localhost:9000/appโ Medusa admin ยท Platform staff
- http://localhost:9000โ Backend API root ยท /store/*, /vendor/*, /hooks/*