Booking

🔒 Your name and contact details are visible only to the owner of this page. All this page makes public is that some time slot is taken — no names, no numbers.

✓

You're in

Worth a screenshot. You'll get a confirmation once it's seen.

Bookings

The part worth understanding here is that two kinds of data live in two different places. “This time is taken” goes on a public board — anyone you send the link to can see straight away which slots are greyed out — and that record holds nothing but a date and a time. “Who booked it and their number” takes the other route: anyone can drop something in, but only the owner of this app can read it back. Writing names and numbers onto the public board would run perfectly well; it would just mean pinning your customers' phone numbers to the wall.

The second thing is the slots. They aren't a fixed grid — pick “Colour, 150 min” and every slot becomes a 150-minute block (they still start every 30 minutes, they just run longer, so fewer of them fit in the day), and whether one can be booked comes down to a single line of interval arithmetic, a.start < b.end && b.start < a.end. With that, a 2:00 pm colour blocks a 2:30 pm trim by itself, and nothing has to enumerate combinations.

🎨 Remix this appor start from scratch
Report