How should vegan restaurants and cafes sell office and activity-night catering without becoming a ghost kitchen on contribution?

Quick answer

Sell three named catering SKUs (office lunch, after-practice trays, teacher night), each with a minimum headcount, lead time, deposit, and recipe costed to your food-cost cap after packaging and labor minutes. Publish one crawlable /catering/ URL with vegan vs plant-based, the 14-allergen path, and a pointer to your kitchen policy. Quote PDFs copy that page. Do not invent a margin percentage. Do not write carbon-neutral catering. Do not take six-head DoorDash trays that miss contribution. Back-to-school is the repeating window when offices and activity nights reopen. It is not a 20% off season. Dine-in school nights: weekday covers. Dish tags: vegan menu claims.

Vs other Intelligence guides

GuideJob
Kitchen policy pageCrawlable kitchen type, honey/wine, cross-contact, allergens. This page sells SKUs and points at that URL.
Vegan menu claimsDish tags on the ticket. Catering platters still need the same vegan vs plant-based freeze.
Seasonal menu claimsFestive and rotating dine-in cards. Not office lunch SKUs.
Vegan restaurant AI citationsNear-me Restaurant/Menu schema and prompt log. Add a visible catering URL. Do not invent a Catering schema type.
Weekday coversTue-Thu dine-in family bundle. Catering is a different P&L.
Delivery-app mixWeeknight takeout commission. Do not put catering trays on marketplace boosts.
Awareness-day diningIn-room World Vegan Day or Meat-Free Monday covers. Reuse the same SKU for an office order. Do not run a sitewide %.
Corporate gifting portalEco DTC kits and Shopify B2B. Not foodservice platters.
This guideOffice, after-practice, teacher-night SKUs; contribution after labor; citable catering page and quote freeze

Why catering becomes a ghost kitchen

Back-to-school reopens office lunch, after-practice trays, and teacher or PTA nights every year. The ticket looks like a good Tuesday. The pass still has to pack boxes during prep, a runner still has to sit in traffic, and a six-head order still burns the same allergen card as a forty-head one. Operators paste "12% margin ghost kitchen" into ChatGPT because that is the failure they fear. It is not a foodservice benchmark. Do not publish 12% as your rate. Do not invent a catering-margin percentage for the trade.

Ghost kitchen here means the dining room subsidizes off-premise work that misses contribution after food, packaging, pack-out minutes, and drop-off. A second empty prep space you staff "for catering" is the same trap. Cost the SKU. Fence the minimum. Pickup is the default.

Steal this SKU matrix

Ship three SKUs. Optional fourth if you have a private-dining room you already heat. Do not take custom menus until these four are costed and live on /catering/.

SKUWhat you sellFenceKill
Office lunchNamed boxed lunch or share platter. One vegan matrix. Invoice or card. Headcount on the order.Minimum heads you will actually pack (example 8 to 12). Lead time you will keep (example 48 hours). Pickup default.Six-head "just this once." Same-day. Marketplace. Open substitution that rebuilds the menu.
After-practice traysShareable trays that travel. Early evening window. Pickup or a costed drop in a short radius.Named window (example 5:00 to 7:00pm). Tray counts, not per-head custom plates.Individual plated meals for a team of 22. A 20% team code.
Teacher / PTA nightFamily-style pans or a short buffet list. Allergen card on the table. Deposit.Minimum spend or pans. Deposit you collect. End time so the pass returns to dinner.Free service for "exposure." Honey dessert tagged vegan.
Private dining (optional)Prix fixe or a set platter for the room you already have. Min spend. Same kitchen policy URL.Room capacity you will not exceed. Timed turn. Menu locked 48 hours out.Free room if they order catering. A custom tasting that steals the line.

World Vegan Day (1 November every year) and Meat-Free Monday office orders reuse the office-lunch SKU. Do not invent a campaign-year page. Do not add a sitewide percent. In-room awareness-day covers stay in awareness-day dining.

Contribution worksheet (steal this)

Numbers below are a worked example. Replace every cell from recipes, wage burden, and last month's runner time. Do not publish a catering-margin percentage. Do not copy 12% as a house target.

LineFormulaWorked example (12 boxed lunches)Your cell
PriceSKU price × headcount$18 × 12 = $216[sku_price] × [headcount]
Recipe foodHouse recipe, including garnish$64.80 (example 30% food)[food_cost]
PackagingBox, liner, labels, ice pack if you use one$18[packaging]
Pack-out laborLoaded wage × minutes on the pass90 min × $18/hr = $27[packout_labor]
Drop-offLoaded wage × minutes, or $0 if pickup40 min = $12[dropoff_labor]
Payment feeProcessor, often about 2.5 to 3.5%$6.48 at 3%[pay_fee]
Contribution dollarsPrice − food − pack − pack-out − drop-off − fee$87.72 in this example[contribution]
GateFood % at or under house cap. Contribution dollars cover the minutes.Pass a 28 to 32% food-cap example. Kill if dollars do not cover labor.Go / no-go

Many independents still run a 28 to 32% food-cost cap on new recipes. That is a common independent band, not a vegan-catering benchmark. Include packaging in food or as its own line. Time labor. If contribution dollars cannot pay the minutes, raise the price, raise the minimum, or make it pickup. Do not add a percent-off to "win the office." Run minutes through the break-even calculator if you can load wage.

Thin example you should refuse: 8 heads at $12, 40% food, $12 packaging, 60 minutes pack-out, 30 minutes drop-off. The ticket looks busy. The dollars do not. That is the ghost kitchen. Your POS, not this row, is the source.

Steal this catering page (what diners and AI can cite)

Publish /catering/ (or /private-dining/ if the room is the product). Index it. Link it from the menu, footer, and GBP. Kitchen protocol stays on the kitchen policy URL. This page is the catalog and the dietary freeze for platters.

SectionPublish thisDo not invent
H1A buyer question: "Do you cater?" or "Office and group catering"Best vegan caterer in [city]
Last reviewedVisible date. Kitchen type: fully vegan / mixed. Link to the policy URL.Certified vegan caterer you cannot show
SKU tableThe three (or four) SKUs, min heads, lead time, pickup vs drop-off radius, price or "from" only if the from is realWe can veganize anything. Unlimited custom menus
Vegan vs plant-basedHouse meaning, copied from the menu matrixPlant-based as a quieter synonym when honey or dairy is default
AllergensHow the buyer gets the 14-allergen sheet before the event. Chef escalate. Vegan is not free-from.Allergen-free catering. Safe for milk allergy because it is vegan
Cross-contactOne sentence plus the policy URL. Shared fryer truth if mixed.Cross-contact free platters
FAQ4 to 6 questions in the HTML. First FAQ equals that page H1.Answers that exist only on Instagram
How to orderForm, email, or phone the kitchen actually reads. Deposit rule.A DM as the only path
What we do not claimNo eco-friendly catering, carbon-neutral lunch, or citation percentagesOffset math on the quote

Add FAQPage that matches the visible FAQ. After publish, log eight prompts in ChatGPT, Gemini, and Bing: do you cater, office lunch vegan, allergens, honey, min order, private dining, Meat-Free Monday platter, drop-off radius. Record whether the URL is quoted. Do not invent a citation percentage. Method: AI search visibility audit. Score the URL in the AEO readiness calculator. Restaurant schema still lives in vegan restaurant AI citations. Link servingMenu or a visible HTML link to /catering/. Do not mint a fake type.

Quote, GBP, and caption freeze

The quote PDF, the GBP Post, and the Instagram caption must match /catering/. EmpCo-safe hospitality copy is the crawl in EmpCo hospitality copy. Run leftover green adjectives through the green claims calculator.

SurfaceSafe patternBanned line
Quote PDFSKU name, headcount, price, allergen path, kitchen-policy URL, deposit, pickup or named drop radius. Vegan means [house definition].Carbon-neutral catering. Eco-friendly lunch. Plastic-free event. Unnamed offsets.
GBP Q&AYes, we cater office lunch and group trays. Menu, minimums, and allergens: [catering URL].The full catalog inside Maps. We cater anything.
GBP Post / InstagramNamed SKU, price or from, min heads, lead time, real plate photo, URL20% off catering. Climate-positive platters.
Invoice lineSame SKU name as the pageA one-off description that does not exist on /catering/

Festive platter names still follow the seasonal menu freeze. Do not call a winter tray eco-friendly because the squash is local unless you name the farm and keep local as a separate column from vegan.

Offer and delivery fence

MoveAllowKill
MinimumHeads or pans from the sheetSix-head exceptions that reset the floor
DepositA percent or dollar amount you collect before pack-outPay on delivery with no card on file
ChannelFirst-party form, phone, email. Pickup default.Marketplace catering, in-app percent boosts, DoorDash trays priced like dine-in
Drop-offA radius and a labor line you already costedCross-town drops that steal the dinner pass
DiscountNone, or a locked second-order add-on that still hits the food capSitewide 20% to win the office. Kids-eat-free logic on a platter
Awareness daySame office SKU, same price, named dateA one-day vegan discount that trains January

Marketplace commission on a catering ticket stacks on packaging and labor you already barely cover. Keep the takeout mix in delivery-app mix. Do not use that ladder as a catering channel.

Go / no-go

CallWhen
No-goCustom menus only, no minimum, no labor in the sheet, marketplace catering, carbon-neutral quote, 20% off, or a policy that lives only in DMs
GoThree SKUs costed, /catering/ live with FAQPage, quotes copy the page, GBP Q&A points at the URL, pickup default, contribution dollars cover minutes
Partial goPickup-only office lunch this week. Add after-practice trays when the pass can pack them without stealing dinner. Still no marketplace. Still no invented %.

Score catering on contribution dollars, minutes, and whether dinner ticket held. Do not score it on "catering revenue up." This is not legal advice. Local environmental health owns allergen enforcement.

A big ticket is not a margin

If the dining room is packing boxes for free, you do not have a catering program. You have a second kitchen with no menu.

Template fields and 7-day run

FieldFill withDo not invent
[office_sku]Named boxed or platter + price + min headsWe customize everything
[practice_sku]Named tray + evening windowPer-head plated team dinner at lunch cost
[teacher_sku]Pans or buffet list + deposit ruleFree PTA service
[food_cost_pct]House food-cost capA 12% margin target from a chatbot
[min_heads]The smallest order you will packSix because a neighbor cafe does six
[lead_time]Hours you will keepSame-day as a brand promise
[drop_radius]Pickup only, or a named radius with laborWe deliver anywhere
[catering_url]Live indexable pathA Drive folder or a Maps-only answer
[policy_url]Kitchen policy URLA new protocol written only on the quote
  1. Day 1: Export last 90 days of off-premise group tickets. Mark which were catering vs marketplace vs pickup. Fill [food_cost_pct].
  2. Day 2: Cost [office_sku], [practice_sku], [teacher_sku] with packaging and pack-out minutes. If food misses the cap, cut the recipe or raise the price. Do not add 20% off.
  3. Day 3: Lock vegan vs plant-based and the 14-allergen path so they match the menu matrix and kitchen policy.
  4. Day 4: Draft /catering/. First FAQ equals that page H1. No eco-friendly catering. No citation percentage.
  5. Day 5: Publish [catering_url]. Add to sitemap. Link from menu and footer. FAQPage in the HTML. Quote template copies the SKU table.
  6. Day 6: GBP Q&A pointer plus one Post: named SKU, min heads, [lead_time], real plate. Email past office buyers with the URL, not a percent.
  7. Day 7: First packed order at or above [min_heads]. Time the pass. Kill the SKU if dinner ticket slips. Run the eight-prompt log. No-go if the catalog still lives only in DMs or the quote claims carbon-neutral catering.

Frequently asked questions

How should vegan restaurants and cafes sell office and activity-night catering without becoming a ghost kitchen on contribution?

Sell three named SKUs (office lunch, after-practice trays, teacher night) costed to your food-cost cap after packaging and labor minutes. Publish a crawlable catering URL with vegan vs plant-based and the allergen path. Quotes copy that page. Pickup default. Do not invent a margin percentage or carbon-neutral catering. Do not take six-head marketplace trays.

Is 12% margin a real catering benchmark?

No. It is operator fear language, not a foodservice rate you should copy. Fill food, packaging, pack-out minutes, and drop-off from your books. Kill SKUs whose contribution dollars do not cover those minutes.

How is this different from the kitchen policy or menu-claims guides?

Kitchen policy is the protocol URL for fryers, honey, and milk allergy. Menu claims are dish tags on the ticket. This guide is the catering catalog, minimums, contribution sheet, and the /catering/ page those protocols must match.

Should we put catering on DoorDash or Uber Eats?

No for this program. Commission stacks on packaging and labor you already have to cover. Use first-party pickup. Cost a drop-off radius only if the labor line still passes.

Can we say carbon-neutral or eco-friendly catering on the quote?

Not without proof that survives EmpCo-style scrutiny. Put kitchen type, vegan vs plant-based, allergens, and named farms if true. Skip unnamed offsets. Run leftover adjectives through the green claims calculator.