A bold live status tile from real hours: Walk-ins welcome now · last walk-in 6:30 pm, flipping to "book ahead" near closing and to the next opening when closed.
Live (Los Angeles time)
Walk-ins welcome
Tue–Sun during opening hours; last walk-in 30 minutes before close.
Barbers, nail bars, brow/lash bars, walk-in clinics, cafes, tire and smog shops
What it does
Computes three states from the hours in the business's time zone: walk-ins welcome (open, more than data-cutoff minutes to close), open but too late for a walk-in (book ahead for the next open day), and closed (opens Tue 10 am). Shows today's hours and a collapsible full week with today in bold. A pulse dot beats three times when walk-ins are on, then sits still.
When to use
Any business that takes walk-ins; place it high (second screen) or as the hero proof card.
Pair with Business card strip (above the fold) or use it instead of the hours paragraph.
Holiday closures: data-closed-dates.
Don't
Invent wait times or "2 chairs free": there is no live data behind it (Mobbin research rule: real hours only).
Use it for appointment-only businesses: say "By appointment" and use Service picker instead.
Use red for closed.
Reduced motion, no JS, accessibility
Reduced motion: no pulse ring.
No JS: the static sentence ("Walk-ins welcome Tue–Sun during opening hours") and buttons show.
The big line is aria-live=polite so a minute tick that flips the state is announced; today's row has aria-current=date; the week list is a native <details>.
Status text slots have a reserved height, so updates never shift the layout.
Notes
Default cutoff 30 minutes; barbers often use 15-20.
data-walk-text overrides the headline (e.g. "Walk in, no appointment needed").