Market of Choice
Reservations Guides

Product Updates

How to update catering products on reservations.marketofchoice.com.

Catering products on reservations.marketofchoice.com are WooCommerce products. MoC manages product data via Smartsheets and sends change requests through Basecamp. The spreadsheet is always the source of truth.

Smartsheet Process

Two Smartsheet forms are used for product submissions:

  • Change Sheet — existing items that need updates
  • New Sheet — new items to add

Yellow-highlighted cells indicate changes that need to be applied. Links to both sheets are pinned in the Basecamp task.

If MoC highlights ALL items (including already-completed ones), push back — ask them to only highlight items with actual changes to avoid re-QA of every field.

Product Data Fields

FieldWhereNotes
TitleProduct titlePLU is sometimes included
Short descriptionWooCommerce short descriptionShows on product cards
DescriptionWooCommerce descriptionFull product detail (see format below)
PriceRegular priceSee weight-based pricing section
ImageProduct imageMust be a URL or uploaded file, not a file path
DepartmentProduct categoryMatters for reporting
AttributesProduct attributesDietary tags, season, store availability
Sort orderMenu order fieldControls display sequence in categories

Description Format

Product descriptions follow a consistent HTML structure:

<p>Description text. Serving size: 4-6</p>
<p><strong>Allergens:</strong> dairy, wheat, eggs</p>
<p><strong>Ingredients:</strong> flour, butter, sugar...</p>
<p><strong>Heating Instructions:</strong> Preheat oven to 350°F...</p>

Rules:

  • If Allergens or Ingredients are "None", omit that section entirely
  • For estimated-weight products, description starts with bold weight range: <strong>2 - 4 lb</strong> -
  • For "each" priced items, description starts with bold size: <strong>12-pack</strong> -
  • Fix obvious capitalization and spelling errors from spreadsheet data

Weight-Based Pricing

Some products (meat, poultry) use weight-based pricing. When updating prices, always update both fields:

FieldValue
price_override (meta)The per-lb display price (e.g., 5.99)
regular_priceCalculated: per_lb_price × max_weight_range

Example: Ham at $5.99/lb with weight range 6-7.5 lb → regular_price = 5.99 × 7.5 = $44.93

If you only update the display price without recalculating the regular price, the checkout total will be wrong. Always update both.

Three variants of weight-based products:

  1. Estimated weight — sold as "each" with weight range in description. Bold weight range in both description AND short description.
  2. By-the-pound — customer chooses quantity. Displayed price = per-lb price. No weight range prefix.
  3. Whole item — sold by estimated total price.

Identify weight-based products by checking the weight_based_pricing meta field (value 1).

Allergens

Allergens are stored in two places that must stay in sync:

  1. The Allergens product attribute (used for filtering)
  2. The <strong>Allergens:</strong> line in the product description HTML

When updating allergens, always update both.

Updating via WP Admin

Find the product

Navigate to Products in WP Admin. Search by name or PLU number.

Update fields

Edit the product and update the fields per the spreadsheet. Check:

  • Title, description, short description
  • Price (and price_override for weight-based items)
  • Image
  • Attributes (allergens, dietary tags, department)
  • Sort order (Menu Order field)

Verify

Save the product. Allow ~5 minutes for cache to propagate. Check the live product page in an incognito window.

Updating via WooCommerce API

The WooCommerce REST API is available for bulk updates. Credentials are in the shared password manager under "MoC WooCommerce REST API".

Base URL: https://reservations.marketofchoice.com/wp-json/wc/v3

Common Issues

  • Duplicate PLU numbers — watch for the same PLU on multiple spreadsheet lines. Flag to MoC for clarification.
  • File paths instead of URLs — some spreadsheet entries include local file paths for images. These don't work — flag to MoC for actual image files or URLs.
  • Price display overrides — some products have WooCommerce display overrides that cause wrong prices. Check both regular price and any display override settings.
  • Image optimization — client-provided images are often unoptimized TIFFs or 30+ MB files. Optimize before uploading.

On this page