When should vegan restaurants publish a festive Event page so ChatGPT cites December bookings?
Quick answer
Publish a crawlable Event URL once December seating is a named set menu or NYE SKU that will fire. Put Event or FoodEvent JSON-LD on that HTML with name, startDate, and location that match the PDF. Run a 10-prompt log. Schema so machines can parse. Do not brief a carousel or a citation percentage. Kill eco feast in schema description. SKUs: party set menus. Split: NYE vs gift cards. Kitchen markup: restaurant AI citations.
Vs other Intelligence guides
| Guide | Job |
|---|---|
| Vegan restaurant AI citations | Year-round Restaurant + Menu JSON-LD and a 15-prompt near-me log. Not a dated Event. |
| FAQ pages for AI citations | Generic FAQ HTML + FAQPage. Put diner FAQs on the Event URL. Do not recook FAQ as Event schema. |
| Christmas party set menus | Named set menu, deposit, party PDF. This page is the public Event URL those facts sit on. |
| NYE vs gift cards | Event SKU vs stored-value split. Two URLs. This page is the Event markup on the Event URL. |
| Holiday GBP refresh | Special hours, Posts, Q&A. Posts expire. They do not replace a crawlable Event page. |
| Festive title tags after EmpCo | SERP title, meta, H1, OG. Sibling SEO kit. Do not recook it as schema. |
| This guide | When vegan restaurants should publish a festive Event page so ChatGPT cites December bookings |
Composite operator guidance. Not legal advice on EmpCo, ticketing, deposits, or Google rich results. Google does not guarantee Event features even when markup validates. Do not treat a worksheet prompt count as a typical citation lift.
Five kits. The Event URL is only one.
| Kit | Object | This week |
|---|---|---|
| Restaurant + Menu schema | The kitchen, year-round | AI citations. Not a dated Event. |
| Party PDF / set-menu SKU | Courses, deposit, min heads | Set menus. The PDF is not the citation URL. |
| NYE vs gift cards | Dated tickets vs stored value | Two URLs. Markup the Event URL, not the card PDP. |
| GBP hours / Posts | Maps pack and a short Post | Holiday GBP. Link the Event URL. Posts expire. |
| Festive Event page | Public HTML + Event JSON-LD + diner FAQs | This fence. |
Staff line: "December bookings are a named Event URL. The PDF is the quote. GBP is the map pack. Restaurant schema is the kitchen." If you cannot name the night that fires, do not ship Event markup.
PDFs in the inbox, expired GBP Posts, homepage festive-season markup, and gift-card PDPs titled New Year are why assistants cite a city blog instead of you. One owned Event URL. One Event object per named sitting.
Event / FoodEvent field kit
One JSON-LD graph in the initial HTML. Validate in Google's Rich Results Test. Kill duplicate plugin blocks. Ship schema so machines can parse you. Do not brief a carousel win.
| Field | Put | Do not |
|---|---|---|
@type | Event, or FoodEvent (schema.org subtype of Event). Both still need the three required Event fields. | A homemade VeganEvent type. Product. Marking a gift card as Event. |
name | The night that fires: named set menu or named NYE seating. Unique enough that a diner can tell which sitting. | The venue name. "Christmas". "Eco feast". Prices, URLs, or "buy now" in the title. Google's Event name rules ban short-term promotions in name. |
startDate | ISO-8601 date, plus local time if you know it, plus UTC offset if you include a time. | T00:00:00+00:00 when you do not start at midnight UTC. Missing dates. Using bar hours as the Event. |
location | Place with PostalAddress that matches GBP: street, locality, region, postal, country. location.name is the restaurant, not the Event title. | City-only. Putting the Event title in location.name. |
description | Courses, diet tags, deposit rule, public book path. Same facts as the PDF. | Eco feast. Climate-friendly Christmas. Sustainable feast. Planet-positive party. Unnamed offsets. |
offers | Price, currency, URL of the page that actually sells that sitting, availability that is true. | A gift-card offer. A "last seats" scarcity line. A price that is not on the PDF. |
Required: name, startDate, location (with address). Add endDate, organizer, eventStatus, and pass-photo image when they are true. They are not a rich-result contract. FoodEvent adds no extra required properties. Dish flags stay on MenuItem in the Restaurant + Menu kit. One Event object per named sitting. Google: do not mark coupons, hours, or trip packages as events.
Proof ladder (Event URL)
| What is true this week | You may publish | You freeze |
|---|---|---|
| Named set menu or NYE seating costed. Dates printed. Deposit rule signed. Public book path exists. | Crawlable Event HTML, Event JSON-LD that copies those facts, diner FAQs on the same URL. | Eco feast in name or description. Invented last tables. A carousel win in the owner brief. |
| You only have the diner card. No set menu. No NYE SKU. | Nothing as Event. Keep Restaurant schema honest. | A fake tasting Event so ChatGPT has "something to cite". |
| The night is invitation-only or membership-only | Honest HTML for guests who have the URL. Do not brief Google Event experience. | Marking a private room as a public Event so Search shows a ticket button. |
If you cannot name the sitting, the Event page is blank. Do not publish occupancy theater as schema.
Print vs banned
| Surface | Allow | Kill |
|---|---|---|
| Event HTML / H1 / FAQ | Named sitting, dates, city, vegan kitchen fact that matches the card, book path, allergen path. | Eco feast. Climate Christmas. Sustainable feast. "ChatGPT recommends us". Invented last seats. |
| Event JSON-LD | Required Event fields. Description that copies the PDF. Offer URL that sells that sitting. | Eco adjectives. Gift-card Offer. Hours-as-Event. Homemade types. |
| GBP / Instagram | Hours, that the book is open, link to the Event URL. | Treating a Post as the citation page. Generative roast as the Event image. |
| SERP title / OG | Sibling SEO kit: named Event + city + vegan fact. | Eco-friendly title tags. That freeze lives in festive title tags. |
EmpCo from 27 September 2026 still applies to JSON-LD. Score leftover adjectives in the green claims calculator. Do not publish a citation rate.
10-prompt festive log (run this week)
Private window. ChatGPT, Gemini, and Google. Log named Y/N, source cited, diet fact, date, book URL.
| # | Prompt | Pass |
|---|---|---|
| 1 | Vegan Christmas party [city] | Named sitting. Wrong city is a geo fail. |
| 2 | Vegan NYE [city] | They cite the Event URL, not the gift-card PDP. |
| 3 | Best vegan Christmas dinner [city] | Diet label matches the kitchen. |
| 4 | [name] Christmas set menu | Owned Event URL. Courses match the PDF. |
| 5 | [name] New Year's Eve | Date and deposit match schema startDate and offers. |
| 6 | Vegan private dining December [city] | Only if that sitting is public on the Event page. |
| 7 | Is [name] open Christmas Day / NYE | Hours match GBP and Event dates. |
| 8 | Vegan festive tasting [city] | Only if a tasting fires. |
| 9 | Book vegan restaurant Christmas [city] | Same book path as offers.url. |
| 10 | [name] vs [nearest vegan] Christmas party | No invented dish, date, or eco-feast paraphrase. |
Fix the source that week. PDF host: ship HTML. Gift-card URL: split products. Eco feast invented: your description still has it. Stale date: patch startDate. Do not invent a citation percentage.
Event freeze (labeled example)
Replace every cell from POS, the PDF, and live HTML. Do not copy the example as a citation benchmark.
| Field | Worked example | Your cell |
|---|---|---|
| Crawlable Event URLs live this week | 1 Event URL example | [event_urls] |
| 10-prompt log run (ChatGPT + Gemini) | 10 prompt log example | [prompt_log] |
| Live eco-feast / climate-Christmas / sustainable-feast lines in schema or H1 | 3 leftover eco-feast schema lines example. Kill them. | [climate_lines] |
| Named sitting that will fire (set menu or NYE) | Named three-course party plate example, or NONE | [sitting] |
Those cells are worksheet labels, not a citation quota. If [sitting] is NONE, JSON-LD is blank. If [event_urls] is 0, assistants have nothing owned to cite.
Go / no-go
| Call | When |
|---|---|
| No-go | Eco feast in schema or H1, no startDate, gift card marked Event, hours marked Event, PDF-only, invented citation %, carousel promised to the owner, AI roast that does not fire, Event name is "eco Christmas" |
| Go on a September Event URL | Named sitting that fires, crawlable HTML, Event JSON-LD validates with name / startDate / location, description copies the PDF, climate lines stripped, diner FAQs on the page, 10-prompt log run once |
| Partial go | HTML live with dates and the named menu, schema waits until address and startDate are true. Strip climate lines from leftover schema today. Do not invent a sitting overnight. |
Score leftover eco-feast schema lines, PDF-only Event URLs, and named-in-answer vs fact errors. Search Console Event impressions are not a ChatGPT win.
The Event URL is what assistants quote
Name the sitting. Put it on HTML. Mark it up so machines can parse the night. Leave eco feast out of JSON-LD. Do not brief a carousel.
Template fields and 7-day run
| Field | Fill with | Do not invent |
|---|---|---|
[sitting] | Named set menu or NYE seating that fires, or NONE | A moodboard roast |
[start] | ISO date (and local time if true) | Every Friday forever as one Event |
[place] | GBP-matching PostalAddress | City-only so the rich result "still works" |
[event_url] | Owned HTML URL, or NONE | A PDF in Drive |
[book_url] | Page that sells that sitting, or NONE | A gift-card checkout |
[markets] | US / EU / UK / both | One eco feast for every diner |
Brief: "Sitting: [sitting]. Start: [start]. Place: [place]. Event URL: [event_url]. Book URL: [book_url]. Markets: [markets]. If sitting or event URL is NONE, Event JSON-LD is blank. Kill eco feast lines. Do not brief a carousel or a citation %."
- Day 1: Export festive, eco feast, and climate-Christmas lines on PDFs, plugins, homepage schema, GBP, and email.
- Day 2: Confirm [sitting] is costed. Fill [start] and [place]. If NONE, do not invent a tasting Event.
- Day 3: Freeze banned climate lines. File facts in the substantiation folder.
- Day 4: Publish [event_url] as HTML with Event JSON-LD. Diet tags: menu matrix. PDF: set menus.
- Day 5: Add diner FAQs. Structure: FAQ pages. Titles: festive title tags.
- Day 6: GBP Post links [event_url]. Gift cards stay on their URL: NYE vs gift cards.
- Day 7: Run the 10-prompt log. Score leftover eco-feast lines in the green claims calculator. Readiness: AEO readiness.
Frequently asked questions
When should vegan restaurants publish a festive Event page so ChatGPT cites December bookings?
Publish a crawlable Event URL once the December sitting is a named set menu or NYE SKU that will fire. Add Event or FoodEvent JSON-LD with name, startDate, and location that match the PDF. Put diner FAQs on that page. Run a 10-prompt log. Schema so machines can parse. Do not brief a Google Event carousel or a citation percentage. Kill eco feast in schema description.
Is this the same as Restaurant schema, the party PDF, or a GBP Post?
No. Restaurant + Menu JSON-LD is the kitchen. The party PDF is the SKU. GBP Posts expire. This page is the public Event URL for vegan Christmas party [city] and vegan NYE [city].
Does Event JSON-LD put us in Google's event experience or in ChatGPT?
Neither is a contract. Google does not guarantee Event rich results. Assistants synthesize HTML, schema, GBP, and directories. Ship markup so machines can parse. Log named-in-answer. Do not invent a citation lift.
Can we mark a gift card or our December opening hours as an Event?
No. Gift cards are stored value. Hours are Restaurant / GBP. Google rejects coupons, hours, and trip packages marked as events. Invitation-only rooms are not a public Event listing.
What do we measure if not citation %?
HTML Event URLs, leftover eco-feast schema lines, startDate vs the diary, and named-in-answer vs fact errors. Search Console Event impressions are not a ChatGPT win.