1 · Choose a location
{TOUR_LOCATIONS.map((l) => {
const soon = l.status === 'soon';
const active = loc === l.id;
return (
);
})}
{/* Step 2: day */}
2 · Pick a day
{dates.map((d) => chip(day && day.key === d.key, () => { setDay(d); setSlot(null); }, d.dow + ' ' + d.date))}
{/* Step 3: availability */}
3 · Filter availability
{day ? (
{SLOTS.map((s) => { const avail = openSlots.includes(s); return chip(slot === s, () => setSlot(s), s, !avail); })}
) : (
Pick a day above to see open tour times.
)}
{/* Step 4: details */}