Live operational blocks: open hours, counter, rooms tonight, wait time, product stock

Pure-builder competitors can't show real operational data on a published site. Turtini can — these blocks pull live from your modules and refresh on a timer.

Live Status (always available):
A pill or banner that shows "Open · Closes at 5 pm" or "Closed · Opens tomorrow at 9 am". Driven by the hours you set per day in the block editor (HH:MM-HH:MM or "closed"). Refreshes every 30 seconds so the chip flips across the open/close boundary without a page reload. Optional custom label templates with {close}, {nextOpen}, {when} tokens.

Live Counter (always available):
A big number + label tile with a pulsing dot. The number is on the block itself, so you can change it from the editor — or ask Wally ("change spots-left to 8") to write through the live editor sync. Use for urgency cues: "12 spots left tonight", "Wait time: 8 min", "Stock: 23 left".

Live Rooms Tonight (requires Lodging):
Real-time count of rooms available for tonight + the lowest nightly rate, computed from your lodging reservations. Format: "5 rooms available tonight · from $189 · [Book tonight]". Refreshes every 60 seconds with a 60-second server cache. Sold-out variant ("Sold out tonight at {Property}") shows automatically when the count hits 0.

Live Restaurant Wait (requires Restaurant):
Estimated wait time derived from imminent reservations + in-flight orders. Format: "~12 min estimated wait tonight" with an amber pulse, or "No wait — walk in now" with an emerald pulse. Capped at 60 minutes so a slow-cook night doesn't show "240 min". Refreshes every 60 seconds.

Live Product Stock (requires Products):
Live in-stock count for one pinned product with three visual states: in-stock (green pulse, "{stock} in stock"), almost-gone (amber pulse — uses your product's lowStockThreshold), sold-out (red dot, no pulse). Honors trackInventory=false → "Available". Supports {stock} and {name} template tokens for custom copy. Optional price display + CTA.

All five blocks soft-fail (block hides) when the underlying data is unavailable, so visitors never see a broken "Could not load" badge.