Order Management
Handling orders, pickup dates, and customer issues on the reservations site.
Orders on the reservations site are standard WooCommerce orders with custom pickup date logic, store-specific routing, and seasonal constraints.
Pickup Date Logic
Pickup dates are controlled by custom plugin logic:
- Minimum lead time: 3 days from order date (configurable)
- Available days: varies by product type and season
- Blackout dates: holidays and special dates can be blacked out per-product or globally
- FAQ dates: the FAQ page auto-generates pickup windows from the same date definitions used in checkout — no manual editing needed
Pickup Date Bug (Critical)
When store staff update an order in WP Admin, the pickup date can silently clear itself.
Root cause: The pickup date plugin's date picker won't allow dates less than 3 days away. When an admin updates an order within that 3-day window, the field clears because the existing date is now "invalid." The cleared field then gets saved.
Fix in place: When an order update doesn't contain a pickup date value, the existing value is preserved rather than cleared. But be aware this happened before and could recur with plugin updates.
Store-Specific Routing
Orders are routed to stores based on the customer's selected pickup location. Each store receives email notifications at their catering email address.
When Supper Club items are in the cart, the checkout forces the pickup location to match the SC item's store availability.
Seasonal Order Windows
Seasonal products have defined order windows (see Seasonal Pushes). Outside the order window:
- Products show as unavailable
- Seasonal pickup dates are not offered in checkout
- Standard catering items remain available with normal pickup logic
Holiday Pickup Gotchas
- Thanksgiving: Holiday items not available past Thursday. Standard items keep Sunday pickup.
- Christmas: Dec 25 must be blacked out for all products.
- Between seasons: Verify pickup dates don't carry over from one season to the next. This has caused bugs at year boundaries.
Rate Limiting
Login rate limiting is configured on the catering site. If MoC staff report being locked out:
- Check the rate limit threshold
- Increase if needed (this was adjusted upward in January 2026)
- Typically happens after holidays when staff return and attempt multiple logins
MailChimp / Email Integration
- Checkout emails: All checkout users tagged with "catering" in MailChimp
- Transactional vs marketing: Order confirmation emails can go to ALL customers. Marketing emails must only go to opted-in subscribers.
- The checkbox matters: The marketing opt-in checkbox at checkout is what grants permission for marketing emails. Emails collected for order processing can only be used for transactional purposes.
- SMS: MailChimp for WooCommerce plugin does NOT support SMS signups. There's a signup link on the order confirmation page that directs to MailChimp's SMS form.