Seasonal Pushes
How to handle holiday and seasonal product launches on the reservations site.
MoC runs major seasonal campaigns 3-4 times per year — Easter, Thanksgiving, Christmas/Holiday, and occasionally special events. These are the largest content pushes on the reservations site, involving dozens of product additions and changes.
Timeline (Typical)
| Phase | When | What |
|---|---|---|
| Spreadsheet arrives | 3-4 weeks before launch | MoC sends Smartsheet with all new/changed items |
| Content loading | 2-3 weeks before | Upload products, images, set attributes |
| QA | 1-2 weeks before | MoC reviews staged items via admin login |
| Go-live | Launch date | Products moved from Private to Published |
| Mid-season updates | During season | Price changes, OOS items, corrections |
| Teardown | Day after season ends | Items returned to OOS or Private |
Season Manager Configuration
The custom season manager plugin controls product availability windows. Seasons are configured with:
- Order start/end dates — when customers can place orders
- Pickup start/end dates — available pickup window
- Associated products — which items belong to each season
Recent season configs (for reference):
| Season | Orders Open | Orders Close | Pickup Window |
|---|---|---|---|
| Easter '26 | Mar 3, 10AM | Apr 16, 10PM | Apr 16 12PM – Apr 20 12PM |
| Thanksgiving '25 | Oct 27, 10AM | Nov 23, 10PM | Nov 23 12PM – Nov 27 12PM |
| Holiday (Christmas) | Dec 1, 10AM | Dec 21, 10PM | Dec 12 12PM – Dec 31 10PM |
| Extended Holiday | Dec 21, 10PM | Dec 28, 8AM | (overlap with Holiday end) |
Loading Products
Review the spreadsheet
Before starting, read through the full spreadsheet and flag issues:
- Duplicate PLU numbers
- Missing images or file-path-only images
- Incomplete data (missing allergens, descriptions, pricing)
- Items that already exist (submitted as "new" but just need updates)
Stage products as Private
New seasonal products should be created as Private until go-live. This lets MoC QA via admin login without exposing items to customers.
Seasonal item attributes (Easter, Thanksgiving, etc.) don't display in the attribute filter until products are published. MoC must QA via admin login.
Upload images
Process and upload all product images. Optimize before uploading — client images are often uncompressed TIFFs.
Set product data
For each product, set:
- Title, description, short description (follow the description format)
- Price (including weight-based calculations)
- Attributes: department, allergens, seasonal tags, store availability
- Sort order per spreadsheet
- Product availability metadata
QA review
Notify MoC that items are staged. They review via admin login (see Staff Preview) and provide feedback. Expect 1-3 rounds of corrections.
Common QA findings: wrong images, pricing errors, missing allergens, incorrect descriptions, sort order issues.
Go-live
On launch date:
- Change seasonal products from Private to Published
- Verify the seasonal category/attribute page shows all items
- Verify pickup dates are correct in the checkout
Staff Preview
Staff signed in with a Shop Manager or Administrator account see the site the way customers will once a season opens. Private products show up across the storefront, so a staged season can be reviewed in place, department by department.
| Where | Signed-in staff | Customers |
|---|---|---|
| Shop, category and attribute pages | Private products included, with a PRIVATE badge | Published, in-stock products |
| Product pages | A notice with the product's status and seasons | The product, if published |
| Site search | Private products included | Published products |
Badges and notices appear only for staff. Customers never see them.
Out-of-stock items don't show on the shop, category or attribute pages for anyone, staff included. To preview one that's currently Published + Out of Stock, set it to In Stock and Private.
Products marked standard plus a season in Product Availability are live year-round and show to everyone.
Teardown
After the season ends:
- Set seasonal products to Out of Stock (not Private — OOS is better for SEO)
- Remove seasonal attributes from navigation if needed
- Remove any seasonal hero banners or promotional content
- Verify the checkout no longer offers seasonal pickup dates
MoC staff sometimes change items back to Private instead of Out of Stock. Watch for this — it removes items from search engine indexes. The correct model is Published + Out of Stock.
Spreadsheet Gotchas
- MoC sometimes re-highlights every item, including ones already done. Ask them to highlight only what actually changed. Otherwise every cell has to be re-compared against the site, which turns into a large time investment.
- Some entries list a file path for an image instead of a URL. Those point to a drive on MoC's side and can't be downloaded, so flag them and ask for the file or a link.
- The same PLU sometimes appears on more than one line, often with different prices or descriptions. Ask which line wins instead of guessing, since the wrong one goes live as-is.
- Related-product PLUs in the spreadsheet can be ignored. WooCommerce generates related products automatically, and that's what the site uses.
- Items already live when a season starts don't get that season in Product Availability on its own. A year-round item set to only
christmasgoes out of stock when the season closes. If it should also be highlighted for the season, keepstandardand add the season alongside it.
Key Constraint
Changes to currently-live products can't be staged separately — they're applied directly. Coordinate timing with MoC if live products need updates alongside a seasonal launch.