How should a vegan restaurant fill Tuesday-Thursday covers on school nights without kids-eat-free destroying margin?

Quick answer

Fence a dated family bundle to Tuesday-Thursday school-night hours. Cost it as one recipe and price backward from your food-cost cap. Run a 3-week ladder (planning, first-week convenience, weekday habit). Stamp loyalty on the bundle SKU at POS. Put an end date on Google Business Profile, email, SMS, and the POS button. Do not run kids-eat-free or a percent-off check. Do not invent occupancy lift. Do not water the vegan kitchen for flexitarian parents. Earth Day merch lives in seasonal campaigns. Dish labels live in vegan menu claims.

Vs other dining and seasonal guides

GuideJob
Seasonal eco campaignsEarth Day, Veganuary, BFCM for product. Not school-night covers.
Seasonal GBP refreshHours, photos, Posts. This guide is the offer those Posts point at.
Vegan menu claimsDish labels. The kids plate still has to be vegan.
Vegan brand positioningDo not add dairy to keep flexitarian parents.
This guideTue-Thu school-night covers: contribution check, 3-week ladder, channel calendar, kill date

Contribution check (steal this worksheet)

Kids-eat-free only trades when the table is incremental, the kids recipe is cheap, and the night is already slow. You cannot prove that with occupancy %. Use POS: covers, contribution, and whether the check rang the bundle SKU. Numbers below are a worked example. Replace every cell before you print a Post.

LineKids-eat-free (example)Family bundle (example)
Party2 adults + 2 kidsSame
Sell2 mains at $24. Kids plates $0 (one per adult)One SKU: 2 mains + 2 kids plates + 1 side at $72
Revenue$48$72
Recipe food$20.40$22.80
Food cost %42.5%31.7%
Contribution$27.60$49.20
GateFail a 32% house capPass. If food is $24 on a $62 price, raise the price or cut the recipe. Do not launch.

Refuse a promo SKU whose recipe food cost sits above your house cap (many independents use 28 to 32%). Include pickup packaging. Skip delivery apps for the test weeks. Commission is a second tax. Time labor in the break-even calculator if you can.

Family bundle spec

RuleDoDo not
Contents2 adult mains from a short list + 2 named kids plates + 1 shared sideOpen substitution that builds four adult tickets at the bundle price
Kids plateA real vegan dish already on the cardLeftover garnish, or a honey dessert tagged vegan
FenceTue-Thu, 5:00 to 8:30pm, dine-in and first-party pickupFriday, brunch, or "whenever"
Kids-eat-freeSkip itFour kids free behind one $14 plate
End datePrint it (a Thursday about three weeks after you go live)Leaving the POS button on into October
LoyaltyStamp or points on the bundle SKU onlyA member 10% that stacks on the bundle

3-week offer ladder

Anchor week 1 to [city_school_start]. That date repeats every year. If your city starts earlier than the national holiday, start earlier.

  1. Week 0, planning: export last year's Tue-Thu covers and contribution. Cost the bundle as a new recipe. POS button, one GBP Post (hours, price, end date), opted-in family email/SMS. Brief FOH. Do not advertise yet.
  2. Week 1, first-week convenience: live Tue-Thu 5:00 to 8:30pm. One email, one SMS, one GBP Post: school-night plate, pickup, end date. Staff script: "family plate, Tuesday to Thursday, ends [end_date]."
  3. Weeks 2 to 3, weekday habit: same nights, same SKU. Second-visit hook that is not 20% off (dessert add-on, extra stamp, or $4 off the next bundle with a cap of one). After [end_date]: kill the POS button, archive the Post, no "still going if you ask."
WhenGBPEmail / SMSPOS
Sunday before week 1Hours true. One Post: bundle, price, nights, end date, real plateOne email to the family segment. SMS only if opted inButton in training. FOH card
Tue-Thu serviceNo extra PostsNo daily blastRing the SKU. Stamp loyalty. Track contribution
After [end_date]Offer expiredSilence, or one "ended [date]"Button off. No manager override

Hours and seasonal photos: seasonal GBP refresh.

Keep the kitchen vegan

Flexitarian parents still get a vegan kids plate. Do not add cow cheese as the default. Banned: "eco family night," carbon-neutral dinner, plastic-free kids meal. Required: allergen sheet. Vegan is not free-from. See vegan menu claims.

Go / no-go

CallWhen
No-goKids-eat-free with no adult fence, percent-off the check, delivery-app promo, no end date, or recipe food cost above your house cap
GoCosted bundle, Tue-Thu 5:00 to 8:30pm fence, POS + GBP + list, loyalty on that SKU, end date, contribution versus last year's same nights
Partial goPickup-only if dine-in cannot fire kids plates without a long ticket. Still no marketplace.

Score covers, contribution, bundle mix, and Friday-Saturday ticket so you did not train weekend discounting.

Free kids plates train the wrong Tuesday

A bundle with a kill date is a product. Kids-eat-free with no fence is a habit you will still be funding in March.

Template fields and 7-day run

FieldFill withDo not invent
[city_school_start]The Monday school actually startsA national week that is not yours
[slowest_weeknights]Nights POS already shows as slowFriday because a chain runs kids-eat-free then
[food_cost_pct]House food-cost cap (example 30%)An occupancy target
[avg_ticket]Last year's Tue-Thu average checkWeekend ticket dressed up as weekday
[bundle_price]Price that keeps recipe food at or under [food_cost_pct]The chain's advertised number
[end_date]A Thursday you will kill (about three weeks after go-live)"While supplies last"
[kids_plate_recipe]Named vegan dish + allergen flagsHoney, dairy garnish, or "chef will veganize it"
  1. Day 1: export last year's Tue-Thu covers, contribution, and average check. Fill [slowest_weeknights] and [avg_ticket].
  2. Day 2: cost the bundle recipe including pickup packaging. Set [bundle_price]. If food cost misses [food_cost_pct], stop.
  3. Day 3: lock [kids_plate_recipe] on the vegan matrix. No dairy default.
  4. Day 4: POS button, loyalty stamp, FOH card. No override after [end_date].
  5. Day 5: GBP Post plus email/SMS with nights, price, pickup, [end_date].
  6. Day 6: first fenced service. Ticket time the kids plate. Kill the SKU if the pass cannot hold it.
  7. Day 7: compare contribution to last year's same weekday. Adjust recipe or price. Do not add kids-eat-free to "help."

Frequently asked questions

How should a vegan restaurant fill Tuesday-Thursday covers on school nights without kids-eat-free destroying margin?

Fence a dated family bundle to school-night hours, cost it as one recipe, and run a 3-week ladder with a kill date. Do not run kids-eat-free or a percent-off check. Do not invent occupancy lift. Keep the kids plate vegan.

Can kids-eat-free work if we require one adult entrée?

Only if the table is incremental and the kids recipe is cheap. You rarely know incrementality. A priced bundle on the same fence is the safer default.

Should we put the bundle on DoorDash or Uber Eats?

Not for the test weeks. Commission stacks on a SKU already priced to a food-cost cap. Use first-party pickup.

How do we keep flexitarian parents without watering vegan?

Sell convenience and a real kids plate. Do not add dairy as the default. Vegan on the bundle means vegan.

What do we measure instead of occupancy %?

Covers, contribution dollars, bundle mix on fenced nights, and Friday-Saturday ticket. Compare to the same weekdays last year.