# Booking Slots

> The appointment booking section of a clinic, salon, barber or repair shop, built from one config. Visitors pick a service, its length drawn to scale, then a person if they like, a day and a start time. Every free time is worked out in the page from opening hours, shifts, service lengths plus clean-up buffers, existing bookings, closed days, notice and horizon, in the shop's time zone, with the visitor's own time under each slot when it differs. The week shows as seven day columns on one time scale, so busy days look busy without any scarcity counters, and a day track shows where the chosen block fits. Holds, a taken time, a failed send, a week with nothing free and booking by email all have designed states, and a booked card offers a calendar file.

- Output: Web, page kit · booking section · page + embed · 1080p video
- Price: Free
- Page: https://lookbk.dev/skills/booking-slots-kit

## What you need

- Node.js 18 or newer. Nothing to install.
- Chrome, Chromium or Edge for the check and the recorder (found automatically; set `CHROME_PATH` otherwise).
- ffmpeg, only for the video (`brew install ffmpeg`, `winget install ffmpeg`, `apt install ffmpeg`; or set `FFMPEG_PATH`).
- From the person: their services (name, length, clean-up time, price, who does them), opening hours, each person's shifts and days away, closed days, how much notice they need, how far ahead they take bookings, their time zone, and where requests go: an https endpoint that books (and, if it can, one that holds a time), or an email address.

## Install

```bash
curl -fsSL https://lookbk.dev/cli.js | node - add booking-slots-kit
```

The first run prints a sign-in link; open it, approve, and run the command again.

Where it installs:

- Run by Claude Code: `~/.claude/skills/booking-slots-kit` only, the one folder Claude Code reads.
- From your own terminal: `~/.agents/skills/booking-slots-kit`, which Codex, Gemini CLI, Copilot CLI, Cursor and OpenCode read, and also `~/.claude/skills/booking-slots-kit` when `~/.claude` exists.

Add `--claude` or `--shared` to write only one of those folders, or `--project` to install into the current folder instead. Start a new agent session afterwards so it picks up the skill.

Credits and licenses: NOTICE.md plus any LICENSE files inside the ZIP.

## Example request

> Use booking-slots-kit to build the booking section for my physiotherapy clinic: three physios with their own shifts, four treatments with clean-up time, our current bookings, 2 h notice, bookings up to 28 days ahead, and a hold while people type their details.
