Standard Operating Procedures & Field Dispatch Reference
Foodstream Network Dispatch & CRM
Operations User Guide & SOP Manual for Movie Meals (NYC Film/TV) & Great Performances (Catering & Events)
Table of Contents
- Welcome & Daily Command Center Overview (Login, Tabs, KPI Strip, Map, Queue, Data Mode)
- SOP 1: Onboarding a New Donation Recipient (Organization, Delivery Location, Drivers, E.164 & SMS Opt-In)
- SOP 2: Onboarding & Managing a Donation Provider (Productions, Studios, Soundstages, Status Updates)
- SOP 3: Managing a Live Donation Tracking Event (7-Stage Lifecycle, MMS Photos, Masked Chat, Whisper, Closeout)
- SOP 4: Field Situations & Exception Playbooks (Gate Red Flag, Wrap Delay, No-Show, Walkaway Lunch, Multi-Run Codes)
- SOP 5: Light System Hygiene & Keeping the Portal Fast (Clear Cache, Hard Refresh, Unpatched Data Queue)
- SOP 6: Reporting Bugs & Requesting Updates via BugHerd (Pinning Feedback vs. Emailing Adrian Rodriguez)
1. Welcome & Daily Command Center Overview
1.1 Logging into the Portal & Understanding the Top Navigation Bar
Welcome to Foodstream Dispatch (https://donations.foodstreamnetwork.com), the central command center for coordinating surplus food rescue runs across Movie Meals (NYC film & television soundstages/basecamps) and Great Performances (off-premise catering events and Maeve Drop runs).
Once you log in with your Foodstream credentials, the Top Navigation Bar gives you one-click access to every core database record in the platform:
| Navigation Tab |
CRM Entity |
Legacy Prefix |
What Lives Here |
| Home |
Dashboard |
— |
Your live Foodstream Dispatch Command Center (KPI strip, NYC Map, Active Dispatch Queue, and Quick-Switch views). |
| Donation Tracker |
CMovieMeal |
MM-xxxx / GP-xxxx |
Every individual food rescue run, scheduled pickup, meal count, status stage, tray photo, and SMS chat log. |
| Productions |
CProduction |
D-xxxx |
Film/TV productions (e.g., Daredevil: Born Again S2) and Great Performances catering programs/venues. |
| Organizations |
Account |
R-xxx / Studio |
All Recipient Agencies (pantries, shelters, churches, community fridges) and Parent Studios / Caterers. |
| Locations |
CLocation |
LOC-xxx |
Physical soundstages, basecamps, loading docks, gate instructions, and recipient drop-off addresses across all 5 NYC boroughs. |
| Contacts |
Contact |
— |
On-set catering leads, PAs, security contacts, recipient agency coordinators, and pickup drivers/volunteers. |
| 📘 User Guide & SOPs |
Side Panel & Top Bar |
— |
Opens this SOP Manual & downloadable PDF reference from anywhere in the portal. |
1.2 Tour of the Home Dispatch Dashboard
Your Home screen is organized into four operational zones:
- Executive KPI Strip (Top Banner): Displays real-time totals across your historical and active operations (526 Total Runs, 56,193 Est. Meals Rescued, 70,241 Est. Lbs, active pickups today, and any open Red/Yellow field alerts).
- Live NYC Food Rescue Map (Google Maps Dashlet):
- Plots every active Donor Pickup Point and Recipient Delivery Point across Manhattan, Brooklyn, Queens, the Bronx, and Staten Island.
- Click any marker pin to view run details, or click Route to draw the live driving polyline between the production stage and the community pantry.
- Active Movie Meals Dispatch Queue (Compact Table Dashlet):
- Lists active runs sorted by priority and pickup window.
- Includes three instant action buttons on every row:
Route — Zooms the NYC Google Map directly to that run's pickup-to-dropoff route.
Chat & Log — Slides open the Global Chat & Whisper Drawer on the right side of your screen.
Edit in CRM — Opens the full Donation Tracker record for editing meal counts, contacts, or stage status.
- Floating Global Chat & Whisper Drawer (Bottom-Right Launcher):
- Accessible from any screen in the CRM by clicking the floating chat pill in the bottom-right corner. Lets you monitor live group texts, send 1-on-1 private whispers, and log field situations without leaving your current page.
1.3 Data Mode Selector: Live Data vs. Training Simulator
In the top-right corner of the navigation bar, you will see the 🛡️ DATA MODE selector pill:
OFF — 100% Real Data (526 Runs): Your standard daily working mode. Displays only real database records.
🧪 Demo: Smooth Operations (Green): Injects simulated training runs showing ideal, on-time pickups.
🧪 Demo: Moderate Friction (Yellow): Simulates realistic minor delays (e.g., catering wrap pushed 20 minutes).
🧪 Demo: High Friction (Red Alert): Simulates urgent field emergencies (e.g., studio gate security lockout or driver breakdown) for staff training.
⚠️ Important — Always Verify Live Data Mode Before Dispatching
Always verify that 🛡️ DATA MODE is set to OFF — 100% Real Data during real daily dispatch operations. Only switch to a 🧪 Demo scenario when training a new coordinator or demonstrating the board to stakeholders.
2. SOP 1: Onboarding a New Donation Recipient (Community Organization)
Whenever a new community fridge, shelter, church pantry, or nonprofit partner joins the Foodstream Network, follow this 4-step onboarding sequence so they can be matched to runs, mapped on the NYC board, and reached via SMS.
Recipient Onboarding Sequence
Step 1: Create Organization (R-xxx)
→
Step 2: Create Delivery Location (LOC-xxx)
→
Step 3: Add Contacts & Drivers (+1XXXXXXXXXX)
→
Step 4: Complete SMS Opt-In Compliance
2.1 Step 1: Creating the Recipient Organization Record (Organizations Tab)
- Click Organizations in the top navigation bar, then click the
+ Create Account button in the top-right corner.
- Fill in the core recipient profile fields:
- Name: Official organization name (e.g., Greenpoint Reformed Church Hunger Program or La Jornada Food Pantry).
- Legacy / Recipient ID: Assign the next sequential
R-xxx code (e.g., R-088) if tracking alongside master spreadsheets.
- Type / Role: Select Recipient Organization (or Community Partner / Pantry).
- Office Phone & Email: Main administrative phone and email address.
- Description / Receiving Notes: Note refrigeration capacity (e.g., "Walk-in cooler available; can accept up to 150 trays"), dietary restrictions (e.g., Halal/Kosher preference), and operating hours.
- Click Save at the top-left of the form.
2.2 Step 2: Adding Their Physical Delivery Location & Drop-Off Instructions (Locations Tab)
Because many recipient organizations operate multiple drop-off sites (or have specific alley/basement entrances), physical addresses are stored in the Locations tab:
- Click Locations in the top bar and click
+ Create Location.
- Complete the location details:
- Name: Clear site label (e.g., Greenpoint Church — Milton St Pantry Entrance).
- Location Code: Next
LOC-xxx identifier (e.g., LOC-215).
- Street Address, City, State, ZIP: Full street address (used by Google Maps to geocode the pin).
- Borough: Select
Manhattan, Brooklyn, Queens, Bronx, or Staten Island.
- Access / Drop-Off Instructions: Crucial for drivers! Include gate codes, buzzer numbers, loading dock hours, or stairs info (e.g., "Ring bell #2 at blue side door on Milton St; ask for Maria").
- Link the Location to the Organization created in Step 1 and click Save.
2.3 Step 3: Adding Recipient Contacts, Site Coordinators & Drivers (Contacts Tab)
- Click Contacts in the top bar (or scroll down to the Contacts sub-panel inside the Organization record and click
+).
- Enter the contact's First Name, Last Name, Account (Organization), and Role/Title (e.g., Pantry Director, Volunteer Driver, or Receiving Coordinator).
- Enter their Mobile Phone Number in strict E.164 format (see box below).
- Click Save.
🚨 Mandatory Phone Number Format Rule (+1XXXXXXXXXX)
All mobile phone numbers in Foodstream Dispatch must be saved as 11-digit US international E.164 numbers starting with +1 and no spaces, dashes, or parentheses:
• Correct: +13472811702
• Automatic Sanitizer: Even if you paste (347) 281-1702, the CRM sanitizer automatically converts it to +13472811702 on Save. Always double-check that the saved number begins with +1 and has 10 digits after it so Twilio SMS routing and inbound caller-ID matching work 100% of the time.
2.4 Step 4: SMS A2P Opt-In Compliance (sms-compliance.php)
Before a new driver or recipient coordinator can receive automated Twilio dispatch texts, mobile carriers require explicit A2P 10DLC opt-in consent:
- Option A — Self-Service Public Link (Recommended): Send the new contact https://donations.foodstreamnetwork.com/sms-compliance.php#opt-in. When they submit their name, mobile number, and check the consent box, the portal automatically creates/updates their
Contact record in the CRM and sets SMS Consent = Yes with a timestamp!
- Option B — Coordinator Assisted Entry: Once the participant has confirmed consent via onboarding paperwork or text, open their
Contact record in the CRM and verify their SMS Consent field is set to Yes.
3. SOP 2: Onboarding & Managing a Donation Provider (Productions, Studios & Caterers)
Foodstream coordinates donations across two primary donor streams: Movie Meals (film & TV productions shooting at soundstages or on-location basecamps) and Great Performances (high-volume catering events and Maeve Drop rescues).
3.1 How Donor Hierarchies Work in the CRM
| Layer |
CRM Tab |
Example (Movie Meals) |
Example (Great Performances) |
| 1. Parent Studio / Caterer |
Organizations |
Marvel Studios / Disney, CBS Studios, NBCUniversal |
Great Performances Catering |
| 2. Production / Program |
Productions (D-xxxx) |
Daredevil: Born Again S2 (D-0014), Law & Order SVU |
GP Plaza Gala, GP Maeve Drop Program |
| 3. Pickup Site / Stage |
Locations (LOC-xxx) |
Silvercup Studios East — Gate 3, Steiner Studios Stage 6 |
The Plaza Hotel Loading Dock (58th St) |
| 4. On-Site Contacts |
Contacts |
Head Chef, Key Set PA, Unit Production Manager, Gate Security |
Event Captain, Kitchen Expediter, Dock Manager |
3.2 Adding a New Film/TV Production or GP Catering Donor Manually
- Check/Create the Studio or Caterer: In Organizations, confirm the parent network/studio exists (or create it).
- Create the Production Record:
- Go to Productions → click
+ Create Production.
- Enter the Production Name, Donor ID (
D-xxxx), Parent Organization/Studio, and Active Status (Active, Hiatus, or Wrapped).
- Create/Link the Soundstage or Basecamp Location:
- Go to Locations → click
+ Create Location.
- Enter the exact Loading Dock / Gate Address, Borough, and Security Clearance Rules (e.g., "Driver must bring government ID and state they are picking up catering wrap for Foodstream at Gate B").
- Add On-Set Catering & Production Contacts:
- In Contacts, create records for the Caterer/Chef and On-Set PA with their
+1XXXXXXXXXX mobile numbers so they can be added to the 15-person run chat room.
3.3 What to Do When a Production Changes Stage, Goes on Hiatus, or Wraps
- Moving to a Location Shoot / Unit Basecamp: Create a new
Location record for the temporary basecamp cross-streets and select that new Location on today's Donation Tracker run record (keep their home soundstage Location intact for when they return to stage).
- Hiatus or Season Wrap: Open the record in Productions, change its status to
Hiatus or Wrapped, and make sure any future placeholder runs in Donation Tracker are marked Cancelled so drivers are not dispatched.
4. SOP 3: Managing a Live Donation Tracking Event (End-to-End Lifecycle)
Every food rescue pickup is managed as a Donation Tracker record (CMovieMeal) and moves through a standardized 7-stage dispatch workflow from initial matching to final impact verification.
7-Stage Donation Tracker Dispatch Lifecycle
1. Matching →
2. Scheduled →
3. Morning Confirmed →
4. Lunch Monitoring →
5. Recipient Introduced →
6. Pickup Active →
7. Completed
Alternate Terminal Statuses:
Walkaway Lunch (crew broke off-site; no surplus trays) |
Cancelled (shoot cancelled / zero food available)
4.1 Creating or Reviewing a Run in Donation Tracker
To schedule a new run (or inspect an imported run), go to Donation Tracker and click + Create Donation Tracker (or click Edit in CRM from the Home Queue):
- Run Name & Code: Auto-labeled or formatted with its inline code (e.g.,
MM-0445 or GP-2026-085).
- Pickup Date & Window: Date and expected catering wrap window (e.g.,
2:30 PM – 3:30 PM).
- Donor / Pickup Point (Left Split Panel): Links the Production, Pickup Location (Stage/Gate), and On-Set Donor Contacts.
- Recipient / Delivery Point (Right Split Panel): Links the Recipient Organization, Delivery Location, Recipient Coordinator, and Assigned Driver.
- Fulfillment Mode: Choose
Recipient Van Pickup, Foodstream Volunteer/Driver, Uber Direct / Courier, or Donor Drop-Off.
4.2 Step-by-Step Actions Across the 7 Stages
| Stage |
When It Happens |
Coordinator Action & What the System Does |
| 1. Matching |
24–72 hrs before shoot |
Pair the production's estimated surplus size and borough with an available Recipient Organization that has cooler capacity and a driver. |
| 2. Scheduled |
Day before pickup |
Both Donor and Recipient are assigned on the run. Run appears in the upcoming schedule queue and on the NYC Map. |
| 3. Morning Confirmed |
8:00 AM – 10:30 AM day-of |
Confirm call sheet / catering lunch time with set contact. Verify gate pass rules and confirm driver availability. |
| 4. Lunch Monitoring |
12:00 PM – 2:30 PM (during crew meal) |
Caterer/PA texts the estimated tray count and MMS photos of the food trays to +1 518-888-3973. Photos automatically attach to the run! |
| 5. Recipient Introduced |
~60 mins before pickup window |
Send the group introduction in the Chat & Whisper Drawer connecting the On-Set Caterer/PA with the arriving Driver/Recipient, including gate address and tray count. |
| 6. Pickup Active |
Driver en route / at gate |
Monitor live ETA and gate clearance. Driver loads trays at the soundstage and heads to the community organization. |
| 7. Completed |
Trays delivered to pantry |
Confirm final tray/meal count, verify weight (`Trays × 12.5 lbs` or `Meals × 1.25 lbs`), and log post-pickup evaluation notes. |
4.3 Receiving Inbound MMS Tray Photos & Updating Meal Estimates
When an on-set caterer or PA texts a photo of wrapped hotel pans to the Foodstream Twilio number (+1 518-888-3973):
- The webhook automatically matches their phone number to their active run, downloads the image from Twilio, and attaches it directly to the run's Media / Tray Photos gallery and Chat Room feed.
- Open the Chat Drawer or the run record to inspect the photo, confirm the Tray Count and Estimated Meals (standard conversion: 1 full catering tray ≈ 10 meals ≈ 12.5 lbs), and share the details with the recipient.
4.4 Using the Global Chat & Whisper Drawer
Click Chat & Log on any run row (or click the bottom-right floating launcher) to open the communication drawer:
- 📢 Group Chat Mode (Up to 15 Participants):
- Messages sent in Group Chat are broadcast via the masked Twilio number (
+1 518-888-3973) to all active participants on that run (Donor contacts, Recipient contacts, Driver, and Coordinator) so nobody's personal cell number is exposed.
- When any participant replies by text to
+1 518-888-3973, their message appears inside the CRM Chat Drawer and relays to the run group with their name and role tag (e.g., [Donor - Chef Marco]).
- 🔒 Direct Whisper Mode (1-on-1 Private SMS):
- Switch the composer toggle from Group to Direct Whisper and pick a single person from the participant dropdown (e.g., just the Driver or just the On-Set PA).
- Only that selected person receives the text message—perfect for asking a driver "What is your real ETA?" or asking a chef "Are trays wrapped yet?" without spamming the entire group.
- 📲 Hybrid Outbound SMS Bridge (
Text via My Phone & Copy Text+Phone):
- If a carrier ever blocks an automated A2P message or you prefer to text someone directly from your iPhone/Android or Google Voice, click
📲 Text via My Phone or 📋 Copy Text+Phone inside the composer.
- It opens your phone/computer's native SMS app pre-filled with the recipient's
+1XXXXXXXXXX number and message body, and automatically logs the message in the CRM chat history so the team still has a 100% complete audit trail!
4.5 Post-Pickup Closeout Checklist, Public Eval Form & Weekly GP Impact Report
- Verify Final Counts: Ensure Trays Rescued, Estimated Meals, and Estimated Pounds are filled in on the run record, and mark Status =
Completed.
- Post-Pickup Evaluation Form (
/tools/eval-form.php): Recipients or drivers can submit quick post-run feedback (food quality, packaging, temperature, and community impact notes) which links directly to the run.
- 1-Click Weekly Great Performances Impact Email Generator:
- For Great Performances runs (Event Pickups & Maeve Drops), click the Weekly GP Impact Report generator button on the dashboard tools bar to automatically compile total runs, trays, meals, pounds rescued, CO2 offset, and recipient highlights into a ready-to-send summary email for GP leadership.
5. SOP 4: Field Situations & Exception Playbooks ("What To Do When...")
Film sets and NYC traffic move fast. Use these five field playbooks whenever an unexpected situation arises during a live run.
5.1 Playbook A: Red Flag Alert — Gate Security Lockout or Missing Drive-On Pass
🚨 Red Flag Scenario — Driver Stopped at Studio Security Gate
Symptom: The driver texts GATE, SECURITY, or LOCKED (or calls to say studio security won't let them onto the lot). The system automatically flags the run with a Red Alert Badge and logs an entry in the Coordinator Situation Log.
- Open the run's Chat & Whisper Drawer immediately.
- Select 🔒 Direct Whisper → choose the On-Set PA / Production Contact and send: "URGENT: Foodstream driver [Name] is held at [Gate Name]. Can a PA walk the rolling rack out to the gate or call security desk now?"
- Send a 🔒 Direct Whisper to the Driver: "Stay parked safely by the gate entrance—we are paging the on-set PA right now to bring the trays to the gate or clear your name."
- Once resolved, add a quick resolution note in the run's Issues / Situation Log field (e.g., "PA walked 14 trays out to Gate 3 at 3:15 PM") so future runs at that studio include that gate instruction.
5.2 Playbook B: Yellow Flag Alert — Catering Wrap Delayed or Pickup Window Pushed
⚠️ Yellow Flag Scenario — Production Meal Running Late
Symptom: On-set caterer texts that filming is behind schedule and lunch wrap is pushed back by 30–90 minutes.
- Update the Pickup Window time on the
Donation Tracker record so the Dispatch Queue reflects the new window.
- Use 🔒 Direct Whisper to notify the Driver / Recipient Coordinator immediately of the updated pickup time before they depart for the soundstage.
- If the delay pushes pickup past the Recipient Pantry's closing hour:
- Check the Live NYC Map for a nearby backup 24/7 Community Fridge or evening shelter in the same borough.
- Re-assign the Recipient Organization and Delivery Location on the run record, and send a fresh Group Introduction text.
5.3 Playbook C: Driver Running Late, Vehicle Breakdown, or Fulfillment Mode Switch
- If a Recipient Van or volunteer driver cannot make the pickup window, whisper the On-Set Caterer/PA first to ask how late the kitchen truck can hold the trays on ice/racks.
- If the original driver must cancel, change the run's Fulfillment Mode to
Uber Direct / Courier or assign a backup Foodstream driver.
- Update the Driver Contact on the run and send a quick Group Chat update with the new driver's name and vehicle description for studio security.
5.4 Playbook D: "Walkaway Lunch" or Last-Minute Production Cancellation
- What is a Walkaway Lunch? Occasionally a production gives crew a per-diem meal stipend ("walkaway lunch") instead of catering on set, meaning there are zero surplus trays that day.
- Action Steps:
- Open the run in Donation Tracker and change the Status dropdown to
Walkaway Lunch (or Cancelled if the shoot day was rained out/cancelled).
- Set
Trays = 0 and Meals = 0.
- Send a Group Chat or Direct Whisper to the Recipient & Driver confirming the run is stood down so no driver makes a wasted trip.
5.5 Playbook E: Multi-Run Contacts & Inline Run Code Targeting (MM-0445)
💡 Pro Tip — How SMS Routing Handles Coordinators or Drivers on Multiple Runs in One Day
Sometimes a single driver or catering chef is assigned to two or more active runs on the same afternoon (e.g., MM-0445 at 2:00 PM and MM-0448 at 4:00 PM).
• Automatic Smart Routing: By default, inbound texts from that person route to their most recently messaged active run.
• Explicit Run Code Prefix: Any participant (or coordinator) can target a specific run by starting their text message with the run code—for example: MM-0445 Loaded 12 trays, heading to Brooklyn now. The webhook detects MM-0445, strips or logs the code, and routes the message and any attached photos straight into run MM-0445!
6. SOP 5: Light System Hygiene & Keeping the Portal Running Smoothly
You never need to worry about server administration, database backups, or code maintenance—that is handled by your developer. However, these three simple habits keep your daily browser view fast and accurate.
6.1 Clearing the CRM Cache (When New Fields, Layouts, or Updates Don't Appear)
If an administrator updates a dropdown list or layout and your screen still shows the old version:
- Click the
⋯ (Three Dots / Menu) icon in the top-right corner of the portal and select Administration (if your account has admin privileges).
- Under the System section, click
Clear Cache.
- Wait 2 seconds for the green "Cache has been cleared" toast notification.
6.2 Performing a Browser Hard Refresh (Ctrl + F5 / Cmd + Shift + R)
Because the Live NYC Map and Chat Drawer cache scripts in your web browser for speed, do a quick Hard Refresh whenever a visual feature is updated:
- Windows / PC (Chrome, Edge, Firefox): Hold
Ctrl and press F5 (or Ctrl + Shift + R).
- Mac (Chrome, Safari, Edge): Hold
Cmd (⌘) + Shift and press R.
6.3 Keeping the Data Queue Clean (Fixing Missing Phones or Ungeocoded Addresses)
- Missing Borough or Street Address: If a run doesn't show a pin on the Live NYC Map, click its
Location record and make sure both the Street Address and Borough fields are filled in.
- Unformatted Phone Numbers: If a participant says they didn't receive a group text, open their
Contact record and confirm their mobile phone is saved in the Mobile field formatted as +1XXXXXXXXXX (11 digits with leading +1).
7. SOP 6: Reporting Bugs & Requesting Updates to the Developer
Whenever you spot something on a page that looks misaligned, want a label or workflow tweaked, or encounter an error message, you have a direct visual line to your developer, Adrian Rodriguez (adrian@anchoredweb.com).
7.1 Using the Installed BugHerd Visual Feedback Sidebar (Fastest Way to Report UI Issues)
The portal has the BugHerd visual feedback tool installed directly on every screen:
- Look for the BugHerd Sidebar Tab pinned along the right edge of your browser window while logged into
donations.foodstreamnetwork.com.
- Click the
+ (Pin Feedback) button on the BugHerd tab.
- Hover your mouse over the exact button, table row, map pin, or form field you want to talk about and click it.
- Type a brief note describing what you expected vs. what happened (e.g., "Can we make this column wider?" or "Clicking this button gave an error on run MM-0445") and click Submit.
ℹ️ Why BugHerd Saves You Time
Every time you drop a BugHerd pin, it automatically captures a screenshot of your screen, the exact page URL, your browser version, and screen size and sends it straight to Adrian's development board—so you never have to take manual screenshots or explain which page you were on!
While BugHerd is ideal for anything visual or page-specific inside the portal, send a direct email to Adrian Rodriguez at adrian@anchoredweb.com when:
- You need a new user account created or a password reset for a team member.
- You are requesting a new feature, custom report, or Google Sheets structural change.
- You cannot log into the portal at all or have an urgent live-dispatch question regarding Twilio SMS / carrier compliance.
7.3 Quick-Reference Cheat Sheet for Bug Reports
Whether pinning via BugHerd or emailing adrian@anchoredweb.com, including any of these 3 details helps get your request resolved even faster:
- The Run or Record Code (e.g.,
MM-0445, GP-2026-085, LOC-179, or the Contact's name).
- What Action You Took (e.g., "Clicked Send Whisper to Driver in the Chat Drawer").
- Urgency Level (e.g., "Cosmetic/Whenever" vs. "Blocking a live pickup today").